什么是區(qū)塊鏈地址

什么是區(qū)塊鏈地址?


? ? ? 幣圈,鏈區(qū)的同學(xué)都知道錢包地址,因?yàn)槌渲怠⑻岈F(xiàn)都需要地址。那么什么是錢包地址?地址是怎么來的?把地址給別人安全嗎?為什么ETH地址和EOS地址是一樣?帶著這些問題我們來講講區(qū)塊鏈地址?

? ? 1、對稱加密

? ? ? 講到地址,我們就不得不先說一說密碼學(xué),作為保護(hù)信息傳輸安全的技術(shù)手段,密碼在人類社會中的應(yīng)用非常廣泛,它的基本思想是通過字符的代換來實(shí)現(xiàn)加解密。

? ? ? 對稱加密是加密算法解密算法都是同一模式,用秘鑰來對信息進(jìn)行加解密,通常情況下,密鑰越長,代表著密文被破解的難度越大。對稱加密有一個最大弱點(diǎn):只有一把密鑰保證加密和解密數(shù)據(jù),所以甲方必須把密鑰告訴乙方,否則乙方無法解密。而保存和傳遞密鑰,就成了最頭疼的問題。

2、 非對稱加密

? ? ? 基于對稱加密的弱點(diǎn),怎么樣可以在不直接傳遞密鑰的情況下,完成密文的解密呢?加密和解密可以使用不同的規(guī)則,只要這兩種規(guī)則之間存在某種對應(yīng)關(guān)系即可,基于這種公鑰機(jī)制的思想,開始出現(xiàn)了一系列非對稱加密算法。90年代密碼學(xué)進(jìn)一步發(fā)展,基于橢圓曲線乘法、素數(shù)冪等數(shù)學(xué)函數(shù)的公鑰算法誕生,使得數(shù)字密鑰和不可偽造的數(shù)字簽名成為可能。下圖表示對稱加密和非對稱加密的不同點(diǎn):


? ? 非對稱加密需要兩個(一對)密鑰:公開密鑰(publickey)和私有密鑰(privatekey),用公鑰對數(shù)據(jù)進(jìn)行加密后,只有對應(yīng)的私鑰才能解密;反之如果私鑰用于加密,則只有對應(yīng)的公鑰才能解密。這樣可以保證通信雙方是通信數(shù)據(jù)是私密的,并且能確認(rèn)雙方的身份。

3、公鑰和私鑰

? ? 安全散列算法(Secure Hash Algorithm,縮寫為SHA),用改算法給任意長度的數(shù)據(jù)能計算出長度固定的字符串(又稱消息摘要),并且該字符串是唯一的。

比特幣私鑰其實(shí)是使用SHA-256生成的32字節(jié)(256位)的隨機(jī)數(shù),有效私鑰的范圍則取決于比特幣使用的secp256k1 橢圓曲線數(shù)字簽名標(biāo)準(zhǔn)。大小介于0x1 到0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140之間的數(shù)幾乎都是合法的私鑰。

在私鑰的前面加上版本號,后面添加壓縮標(biāo)志和附加校驗(yàn)碼,(所謂附加校驗(yàn)碼,就是對私鑰經(jīng)過2次SHA-256運(yùn)算,取兩次哈希結(jié)果的前四字節(jié)),然后再對其進(jìn)行Base58編碼,就可以得到我們常見的WIF(Wallet import Format)格式的私鑰。

私鑰經(jīng)過橢圓曲線乘法運(yùn)算,可以得到公鑰。公鑰是橢圓曲線上的點(diǎn),并具有x和y坐標(biāo)。公鑰有兩種形式:壓縮的與非壓縮的。早期比特幣均使用非壓縮公鑰,現(xiàn)在大部分客戶端默認(rèn)使用壓縮公鑰。

由于數(shù)學(xué)原理,從私鑰推算公鑰是可行的,從公鑰逆推私鑰是不可能的。

初識比特幣的人常有一種誤解,認(rèn)為比特幣公鑰就是地址,這是不正確的。從公鑰到地址還要經(jīng)過一些運(yùn)算。

4、地址的生成(比特幣)

? ? 橢圓曲線算法生成的公鑰信息比較長,壓縮格式的有33字節(jié),非壓縮的則有65字節(jié)。地址是為了減少接收方所需標(biāo)識的字節(jié)數(shù)。比特幣地址的生成步驟如下:

? ? ? 1 生成私鑰與公鑰

? ? ? 2 將公鑰通過SHA256哈希算法處理得到32字節(jié)的哈希值

? ? ? 3 對得到的哈希值通過RIPEMD-160算法來得到20字節(jié)的哈希值 —— Hash160

? ? ? 4 把版本號+Hash160組成的21字節(jié)數(shù)組進(jìn)行雙次SHA256哈希運(yùn)算,得到的哈希值的頭4個字節(jié)作為校? ? ? ? ? ? 驗(yàn)和,放置21字節(jié)數(shù)組的末尾。

? ? ? ? 5 對組成25位數(shù)組進(jìn)行Base58編碼,就得到地址。

具體的過程我們不需要去一一弄清楚,這里面涉及到很的數(shù)學(xué)公式和原理。但是我們需要從中理解到下面的幾點(diǎn):

? ? ? 由于橢圓曲線乘法以及哈希函數(shù)的特性,我們可以從私鑰推導(dǎo)出公鑰,也可以從公鑰推導(dǎo)出地址,而這個過程是不可逆的。也正因如此,在整個比特幣(以太坊等)系統(tǒng)中,公鑰是可以公開的,也就是說錢包地址是安全的。私鑰是最關(guān)鍵的部分。

? ? 私鑰泄露也就意味著丟失了一切。

5、匿名性和可朔源

? ? 任何人均可以輕易生成大量的私鑰、公鑰、地址。地址本身是匿名的,通過多個地址交易可進(jìn)一步提高匿名性。但是所有的交易都是透明的,就是說一個地址所有的交易均可以查,可朔源跟蹤,就是說你給出的地址我可以跟蹤查詢所有的進(jìn)出帳和余額。

6、為什么ETH地址和EOS地址是一樣的?

? ? ? 這個問題比較難回答也比較好回答。簡單來說現(xiàn)在的EOS是ETH上面ERC20代幣(題外話:EOS本身是公鏈,待EOS原生公鏈上線后需要把現(xiàn)有EOS持有情況轉(zhuǎn)移過去,地址會不一樣),當(dāng)然包括其他在ETH上面的代幣基本上的地址都和ETH地址是一樣的。

預(yù)告下:下一篇文章會寫下幾款錢包管理工具和使用注意要點(diǎn),希望對大家有用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容