數(shù)字貨幣錢包和硬分叉之間有著怎樣的關(guān)聯(lián)
數(shù)字貨幣錢包和硬分叉都是區(qū)塊鏈行業(yè)的熱門問題,也是大家密切關(guān)注的話題。
數(shù)字貨幣錢包按秘鑰由來可以分為兩類。第一類是非確定錢包,以比特幣錢包為例,每個(gè)秘鑰都是根據(jù)不同的隨機(jī)數(shù)獨(dú)立生成的,秘鑰彼此之間沒有任何關(guān)系。
我們知道,錢包是私鑰的容器,有了私鑰,我們就可以使用橢圓曲線乘法生成公鑰,進(jìn)而通過公鑰,使用一個(gè)單向加密哈希函數(shù)生成比特幣地址。需要注意的是,這個(gè)過程是不可逆的。其關(guān)系如圖所示。
在比特幣網(wǎng)絡(luò)中,公鑰用于接收比特幣,而私鑰用于支付時(shí)的交易簽名。只要掌握了私鑰,就可以控制賬戶內(nèi)的數(shù)字貨幣,對(duì)其進(jìn)行交易或轉(zhuǎn)賬。
但是這種方式有兩個(gè)問題,一個(gè)是用戶備份比較困難,另一個(gè)是不能既安全又方便的生成大量的地址。而另一類錢包,稱之為確定性錢包,其所有秘鑰都通過一個(gè)主秘鑰生成,所有秘鑰之間都是相互關(guān)聯(lián)的,通過主秘鑰可以生成全部其他秘鑰,其推導(dǎo)方法是樹狀結(jié)構(gòu),這種方法則有利于解決上述問題。
主講人劉斌是區(qū)塊鏈領(lǐng)域的資深開發(fā),他對(duì)確定性錢包創(chuàng)建的總體流程做出了簡(jiǎn)要梳理,其步驟大致分為:
1 生成助記詞
2 從助記詞生成種子
3 從種子生成 HD 錢包 主擴(kuò)展私鑰
4 按樹狀結(jié)構(gòu)推導(dǎo)出所需的子私鑰和地址
北京大學(xué)的沈晴霓教授對(duì)此這類錢包的具體實(shí)現(xiàn)方法很感興趣,向劉斌仔細(xì)詢問了功能實(shí)現(xiàn)的具體技術(shù)和代碼情況,劉斌對(duì)此一一做出了回答。
在介紹完錢包功能后,北京大學(xué)的博士生辛武對(duì)區(qū)塊鏈分叉的重點(diǎn)進(jìn)行了分析。區(qū)塊鏈分叉指的是區(qū)塊鏈發(fā)生了意見分歧,從而導(dǎo)致終端版本不一致。
我們知道,在中心化機(jī)構(gòu)中,服務(wù)器可以由有相關(guān)權(quán)限的后臺(tái)一鍵升級(jí),實(shí)現(xiàn)比較簡(jiǎn)單。而去中心化系統(tǒng)中,如果社區(qū)無法達(dá)成一致,由于終端版本不一致,就會(huì)造成形成分叉。
分歧的種類很多,包括共識(shí)算法(NBFT/CFT:Paxos、Raft;BFT:PBFT、 POW、POX),區(qū)塊大?。?MB、2MB、8MB、32MB、64MB),賬戶模型,貨幣總量等,都可能導(dǎo)致分叉。
辛武對(duì)知名度最高的比特幣分叉和以太坊“the DAO”時(shí)間進(jìn)行了具體的分析,并將分叉細(xì)分為四種情況,分別是區(qū)塊鏈內(nèi)部機(jī)制,終端版本升級(jí)(軟分叉),終端版本升級(jí)(硬分叉),社區(qū)、鏈、幣的分裂,并指出,永久分叉,并非技術(shù)問題,而是一個(gè)涉及人性和利益的問題。