維基鏈即將在最新發(fā)布的版本中添加支持多重簽名的轉(zhuǎn)賬交易技術(shù)新特性。在這之前個人轉(zhuǎn)賬交易只能是發(fā)起方簽名,從而無法實現(xiàn)類似淘寶上買賣雙方完成支付而通過淘寶平臺三方擔(dān)保的這種使用場景。因此維基鏈多重簽名技術(shù)為打開更多豐富多彩的上層應(yīng)用創(chuàng)造了機會。
什么是多重簽名?
多重簽名(Multi Signature)指的是需要多個密鑰來授權(quán)一個數(shù)字貨幣交易,它通常被用來界定對數(shù)字貨幣的所有權(quán)。傳統(tǒng)的數(shù)字資產(chǎn)賬戶中,你的數(shù)字貨幣地址中,每一個地址都有一個對應(yīng)的私鑰,可以稱為“單簽名交易”。而多重簽名地址,可以有多個相關(guān)聯(lián)的私鑰,你需要其中的多個才能完成一筆轉(zhuǎn)賬。
對于 M-N 多重簽名,其中 1≤ M ≤ N,就是由 N 個人分別持有 N 個私鑰,至少需要其中 M 個人同意簽名才可以動用某個“多簽地址”的資金。實際上,你也可以設(shè)置成1/3、5/5、6/11,但是最常見的是2/3的組合,即,需要 3 個人中的至少 2 個人同意簽名才能動用這個“多簽地址”的資金。
多重簽名的作用
提升資產(chǎn)安全性
如果采用單獨的私鑰,盡管以目前的密碼學(xué)可以保證無法被暴力破解,但是這個私鑰不保證會以其他方式(如黑客通過木馬,自己不小心暴露等)暴露出去的話,那么對應(yīng)的數(shù)字資產(chǎn)也同時暴露無遺。此時如果公鑰是由多重簽名方式生成,那么即便被盜取了其中一個私鑰,盜取者也無法轉(zhuǎn)移對應(yīng)的數(shù)字資產(chǎn)。
擴展使用場景
資金監(jiān)管:一筆錢需要多個人簽名才能使用,任何一個人都無法直接動用資金。例如,由三個合伙人共有的資金賬戶,至少需要其中兩人同意才能使用該資金賬戶的資金,防止任何一個人非法挪用資金。
電子商務(wù):在買家與賣家的基礎(chǔ)上,加入一個仲裁角色的“中介者”,通過 2-3 多重簽名模式,當(dāng)買家與賣家發(fā)生糾紛時,仲裁者根據(jù)實際情況,確保資金公平地劃分,保證交易中誠實的買家或賣家。
維基鏈的多重簽名實現(xiàn)方式
維基鏈作為第三代公有鏈,擁有圖靈完備的智能合約,因此,一方面,智能合約天然支持多重簽名;另一方面,維基鏈將多重簽名交易作為一種基礎(chǔ)的交易類型實現(xiàn),具有如下特點:
1. 全面的 RPC 支持:例如,生成多簽地址、查看多簽地址腳本、創(chuàng)建多簽交易、給多簽交易簽名等,進(jìn)一步降低用戶使用門檻。
2. 降低多簽交易大?。航柚诰S基鏈特有的賬戶唯一對應(yīng)的 RegID(注冊 ID,能夠唯一標(biāo)識某一個維基鏈賬戶),序列化之后大小為 6 字節(jié)左右,相對于比特幣多簽?zāi)_本中公鑰的長度 33 字節(jié),極大地減少了交易結(jié)構(gòu)的數(shù)據(jù)量。
維基鏈多重簽名具有使用簡單、實現(xiàn)高效的特點,通過對多重簽名交易的支持,更好地滿足用戶與開發(fā)者的需求。
2-3 多簽示例
1. 生成多簽地址與腳本
通過decodemulsigscript解析多簽地址腳本
2. 往多簽地址轉(zhuǎn)賬1000000
過一段時間,到賬后,查詢多簽賬戶余額
3. 創(chuàng)建一個新地址(普通地址)
4. 花費 2-3 多簽賬戶wPUEMcjoyNvuwcXmuZLhZn4GMmD3CYkB4j,
往地址waGfQtRkcM6XoPG1jVSHGGp3DuZCLZeiep
轉(zhuǎn)賬100000,小費10000
5. 使用 0-3、0-5 對交易簽名
通過decodetxraw查看該交易
6.提交該交易
7. 查看該交易
8. 確認(rèn)多簽交易賬戶、接收方賬戶余額