鄭孝祥1558星評(píng)價(jià)
2020-10-27 11:47:39
比特幣發(fā)布之初,幣只可以通過(guò)一個(gè)公鑰進(jìn)行存儲(chǔ)。這意味著,無(wú)論是誰(shuí),只要獲悉了與該公鑰匹配的私鑰,就能夠支配該公鑰名下的比特幣。
對(duì)于一個(gè)可靠和安全的系統(tǒng)來(lái)講,免疫單點(diǎn)故障是(單點(diǎn)故障意味著,若此處出現(xiàn)故障,則全系統(tǒng)停止運(yùn)轉(zhuǎn))一條基本的原則。而在這里,這條原則沒(méi)有受到尊重,因?yàn)椋褐灰借€丟失或者泄露,即意味著失去比特幣合法所有者的身份。
對(duì)此最早的解決方案,是一種叫做秘密片段的密碼學(xué)方法。它將一條私鑰分解成獨(dú)立的幾個(gè)部分(稱為片段),一定數(shù)量的片段(少于總數(shù))組合起來(lái)就可以重建原私鑰。通過(guò)這種方式,一個(gè)私鑰片段的丟失或者泄露并不會(huì)危害到比特幣的安全。
然而,這種方法未能很好的與比特幣軟件兼容:你必須使用額外的工具來(lái)創(chuàng)造或者合并私鑰片段。而且,為了使用比特幣,你不得不將大量的片段放在一起,這意味著,免疫單點(diǎn)故障的初衷還是未能得到很好地實(shí)現(xiàn)。
其實(shí)解決方案一直包含在比特幣核心代碼之中,從一開始就存在,只是沒(méi)有標(biāo)準(zhǔn)化:有兩個(gè)腳本操作允許對(duì)普通的比特幣公鑰進(jìn)行多重簽名。這樣的話,多重簽名交易時(shí)需要驗(yàn)證的不同的私鑰無(wú)需處于同一空間,相比于使用單一的私鑰或者加密片段的方法,系統(tǒng)安全性可以得到很大的提升。
一個(gè)比特幣改進(jìn)協(xié)議(BIP11)將這種類型的交易標(biāo)準(zhǔn)化,并將秘鑰的最大數(shù)量限定為3個(gè)。在2011年12月20日,BIP11被納入比特幣核心代碼,2012年1月下旬,首個(gè)BIP11類型的交易出現(xiàn)在區(qū)塊鏈上。
多重簽名與向腳本哈希支付(P2SH)
盡管因?yàn)橛辛薆IP11,多重簽名在2012年早期已經(jīng)成為可能,但是多重簽名大規(guī)模接受卻要感謝另一種類型的交易:向腳本哈希支付,或簡(jiǎn)稱P2SH。這種新的交易類型,可以采用任意的腳本來(lái)驗(yàn)證交易。在此之前,只能嚴(yán)格的使用特定的腳本來(lái)驗(yàn)證交易。
由于可以使用任意的腳本,多重簽名腳本中可以使用的秘鑰的最大數(shù)量,從BIP11類型多重簽名接受的3個(gè),提升到P2SH腳本允許的15個(gè)壓縮秘鑰和相應(yīng)簽名。
最重要的是,P2SH增加了一種新的比特幣地址模式。在BIP11之下,簡(jiǎn)單的向某人提供一個(gè)多重簽名地址,與他進(jìn)行交易,你必須精確的告訴對(duì)方如何給你的多重簽名設(shè)置打幣:秘鑰分別是什么,需要多少才能驗(yàn)證交易,怎樣發(fā)起多重簽名……
P2SH將使用多重簽名的難度降低到與使用單一公鑰相當(dāng)?shù)乃缴稀J褂眠@種新的技術(shù),大量的在線錢包和軟件迭興,同時(shí)提升了比特幣網(wǎng)絡(luò)的安全性。