近期區塊鏈領域黑客攻擊事件頻發,其中有一個很讓Cocoa感興趣的就是Wintermute錢包因靚號地址的問題損失約1.6億美元,具體說來話長,可以參見慢霧的這篇分析。
0.背景簡介
關于什么是靚號地址這里簡單解釋一下,以太坊錢包的地址是一個由0x開頭40個隨機字符的16進制字符串,比如V神的錢包地址就是0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B,很難記憶,也沒有個性特色。
因此有人就別出心裁,通過暴力枚舉的方式,試圖找到好看的靚號地址,比如0x888888開頭,或者為了節約合約部署的費用,使用0x00000開頭的地址。
Profanity就是這樣一個靚號地址生成工具。Profanity的特點就是使用了GPU,所以比其他工具更快地找到靚號地址。
拜登與麥卡錫的新一輪債務上限談判:富有成效但尚未達成協議:5月23日消息,美國總統拜登和國會眾議院議長、共和黨人麥卡錫發表聲明稱,雙方最近關于債務上限的談判富有成效,但尚未達成任何協議。對此,美國在6月初出現債務違約“極有可能”。目前,經過數周的爭論后,白宮就有關債務上限會談的基調似乎更加樂觀,但尚不清楚雙方能以多快的速度達成協議。麥卡錫此前強調,兩黨必須在本周內達成協議,這樣國會才有時間在6月1日最后期限前解決債務上限問題,他估計協議的起草、審閱和表決需要大約72小時。[2023/5/23 15:20:27]
總之,原項目因為存在漏洞,目前倉庫已關閉,而且也不推薦使用,但發現漏洞的1inch幫人幫到底、送佛送上天,提供了船新版本的無漏洞Profanity2,繼續滿足大家的虛榮心。
或因質押解鎖XMON出現超90%的短時暴跌:金色財經報道,據派盾數據顯示,Sudoswap開發者0xmons構建的用于召喚神經網絡生成像素怪物NFT平臺原生代幣XMON出現超90%的短時暴跌,據coingecko數據顯示當前XMON已從2.5萬美元區間下挫至3666.92美元,過去24小時跌幅為85.3%,社區用戶@lumpsugar53稱或因XMON質押解鎖有關,此外未來XMON代幣很可能與Sudoswap治理無關。今年1月Sudoswap發布治理代幣SUDO并推出鎖投和空投,早期sudoAMM LP(僅限交易池)和0xmons NFT持有者(快照日期之前)有資格獲得SUDO空投,而XMON持有者則可以通過鎖投活動獲得SUDO代幣,之后從合約部署開始計算被鎖定1個月,每鎖定1個XMON可以獲得1萬枚SUDO。[2023/3/2 12:38:18]
但個人感覺1inch安全功夫了得,文檔水平太爛,Cocoa貴為期末考試滿分的密碼學小王子,都看了5分鐘才理解到底怎么用。廢話少說,以下就是使用教程。
數據:當前比特幣市值占比為37.16%,以太坊為16.33%:金色財經報道,據Coingecko數據顯示,當前比特幣市值占比為37.16%,以太坊市值占比以太坊16.33%,USDT、USDC、BUSD三種穩定幣市值占比分別為7.95%、5.17%、2.77%。全網加密貨幣總市值暫報834,159,802,601美元,24小時跌幅達4.3%。[2022/11/21 22:12:21]
1.編譯代碼
考慮到私鑰的安全性,這類項目建議從官方源碼編譯使用,不過Profanity2有個創新改進,下面會提。
1inch這次提供的是Linux下編譯的代碼,在Windows下編譯需要改一個地方,主要是把Dispatcher.cpp中的以下代碼修改掉。
以太坊已完成Gray Glacier硬分叉:6月30日消息,據ethernodes.org數據顯示,以太坊主網已經達到并超過Gray Glacier硬分叉激活區塊高度15050000,該硬分叉旨在將難度炸彈推遲70萬個區塊(大約100天),目前全網有65.1%的節點已經版本更新。[2022/6/30 1:42:45]
#include<arpa/inet.h>改成#include<Winsock2.h>
另外還涉及到OpenCL的SDK以及編譯環境搭建的問題,總之這里就假設你已經拿到了可執行程序。
2.本地生成密鑰對
Profanity2的一大改進就是將原來直接生成私鑰、再計算公鑰的步驟,改成:
先生成密鑰對然后把公鑰A放到程序去跑,生成私鑰B最后把私鑰A和私鑰B數學相加,得到私鑰C這個私鑰C對應的公鑰C就是你想要的的靚號了。
其中的數學原理Cocoa還沒深入研究,大致猜測就是先用一個安全可靠的工具生成密鑰對,再通過程序暴力試出一個偏差量,使私鑰加上這個偏差量可以導出靚號公鑰。
這樣的一個好處就是Profanity2可以交由第三方或者云端來運行,因為最終的私鑰C,是由私鑰A和私鑰B相加得到的。
因此首先要生成私鑰A和公鑰A,官方提供了命令,在Linux下直接執行即可:
$opensslecparam-genkey-namesecp256k1-text-noout-outformDER|xxd-p-c1000|sed's/41534e31204f49443a20736563703235366b310a30740201010420/PrivateKey:/'|sed's/a00706052b8104000aa144034200/'$'nPublicKey:/'
上述命令執行完成后,屏幕上便會顯示出PrivateKey和PublicKey,分別就是私鑰A和公鑰A,請注意私鑰A一定要保管好。
3.使用公鑰A去跑出私鑰B
將上面步驟得到的PublicKey去掉開頭的04也就是公鑰A,放到Profanity2中去跑,命令如下:
profanity2--matchingc0c0aXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-z公鑰A
稍等一會就會跑出來一個私鑰B,過程和原版Profanity類似。
4.最終計算得到靚號地址對應的私鑰C
拿到私鑰B后,我們只要加上私鑰A,即可得出最終靚號地址對應的私鑰C了。
官方給了兩個命令,分別是shell的和python的,因為我的kali好像沒有bc,所以用了python的那個。其中私鑰A記得前面加上0x。
(echo'ibase=16;obase=10'&&(echo'(PRIVATE_KEY_A+PRIVATE_KEY_B)%FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F'|tr''''))|bc
$python3
hex((PRIVATE_KEY_A+PRIVATE_KEY_B)%0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F)
最后就得到一個0x開頭的私鑰C,導入metamask等錢包就可以看到我們的靚號地址啦。
附贈章節:漏洞原理簡介
以太坊的私鑰是32字節的,但是原版Profanity在生成這個256位的私鑰時,僅采用了4字節的隨機數作為偽隨機數生成器的seed。
這是小弟第一篇區塊鏈安全文章,歡迎各位大佬批評指教。我的twitter:@featherye
橋是一種通信協議,用于促進區塊鏈之間的信息傳輸。建造橋雖然有用,但卻是一件有風險的事情。區塊鏈歷史上最代價慘重的一些黑客攻擊都僅針對橋.
1900/1/1 0:00:00這是白話區塊鏈的第1778期原創?作者|五火球教主出品|白話區塊鏈AptosLabs已于昨日宣布區塊鏈主網AptosAutumn上線,隨后,Binance,Coinbase.
1900/1/1 0:00:00研究代幣經濟學和凈新市場的框架消費者的行為可能在一夜之間出現變化,這個過程也可能需要幾十年來來完成。比如,幾乎在一夜之間,疫情將全球對遠程工作的看法從“一件好事”轉變為正常商業運營的必要條件.
1900/1/1 0:00:009.29以太坊走日線走出螺旋槳?看漲還是看跌 ETH天圖技術走勢;昨開1327/高?1355/低1250/收1336/漲幅0.7%微漲9.24美元/振幅7.
1900/1/1 0:00:00傳統互聯網中,一個人的身份象征往往是通過其現實世界中的名聲、行為等形成。而Web3中,身份的象征則是通過加密錢包中的資產、交易行為、收藏的NFT等來展示.
1900/1/1 0:00:0010月24日21:30,MarsBit發起主題為「通往Web3最后一公里——錢包終局之戰」TwitterSpace.
1900/1/1 0:00:00