門限簽名技術(shù)詳細(xì)介紹
掃描二維碼
隨時(shí)隨地手機(jī)看文章
Chainlink近期發(fā)布了最新的門限簽名技術(shù),這項(xiàng)技術(shù)可以大規(guī)模低成本地應(yīng)用去中心化的預(yù)言機(jī),這個(gè)好消息讓智能合約社區(qū)一片歡欣鼓舞。盡管門限簽名技術(shù)背后的數(shù)學(xué)邏輯非常復(fù)雜,但本文將用通俗易懂的語言深入淺出地解析這一技術(shù)。
區(qū)塊鏈共識(shí)機(jī)制
區(qū)塊鏈的核心價(jià)值就是讓網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)就某一狀態(tài)達(dá)成共識(shí)。這樣一來,網(wǎng)絡(luò)就可以自主運(yùn)行,無需任何外力從中協(xié)調(diào)或主導(dǎo)。
在比特幣區(qū)塊鏈上,礦工就交易狀態(tài)達(dá)成共識(shí),確認(rèn)某一賬戶里是否有足夠余額轉(zhuǎn)賬到另一賬戶,以及賬戶私鑰與公鑰是否匹配。
而以太坊區(qū)塊鏈則在這個(gè)基礎(chǔ)上更上一層樓,除了確認(rèn)交易狀態(tài)之外還能處理智能合約代碼邏輯,比如:如果x發(fā)生,則執(zhí)行y。如果x和y都存在于區(qū)塊鏈上,那么區(qū)塊鏈就可以輕松執(zhí)行智能合約。然而,如果x和y都存在于鏈下系統(tǒng)(即發(fā)生在原生區(qū)塊鏈以外的事件),事情就會(huì)變得復(fù)雜許多。
舉個(gè)例子,以太坊上的金融智能合約使用彭博社(Bloomberg)的市場數(shù)據(jù)(x)觸發(fā)智能合約在支付寶上用人民幣結(jié)算(y)。而彭博社的數(shù)據(jù)和支付寶的支付功能都是存在于以太坊區(qū)塊鏈之外的資源。
預(yù)言機(jī)共識(shí)機(jī)制
Chainlink使用去中心化的預(yù)言機(jī)網(wǎng)絡(luò)將可靠性極高的鏈下數(shù)據(jù)連接至智能合約。這個(gè)去中心化的網(wǎng)絡(luò)將區(qū)塊鏈與鏈下數(shù)據(jù)相連,在安全性、可靠性、和防篡改性方面都可以與區(qū)塊鏈共識(shí)機(jī)制相媲美。
在現(xiàn)有的去中心化預(yù)言機(jī)模式中,每臺(tái)預(yù)言機(jī)都需要將響應(yīng)發(fā)送至區(qū)塊鏈上的智能合約,這個(gè)智能合約專門負(fù)責(zé)將所有數(shù)據(jù)聚合至單一數(shù)據(jù)點(diǎn),并觸發(fā)執(zhí)行相應(yīng)的智能合約。舉個(gè)例子,一組預(yù)言機(jī)獲取了某項(xiàng)資產(chǎn)在某個(gè)特定時(shí)間點(diǎn)的市場價(jià)格數(shù)據(jù),然后將數(shù)據(jù)發(fā)送至智能合約中進(jìn)行聚合,該智能合約將基于所有節(jié)點(diǎn)提交的數(shù)據(jù)取一個(gè)平均值(可能是剔除異常值)。這樣做可以有效防止部分節(jié)點(diǎn)提交錯(cuò)誤數(shù)據(jù)而對(duì)結(jié)果造成影響,并且可以基于多個(gè)數(shù)據(jù)源取平均值。
然而,這個(gè)方法不僅成本高昂而且還會(huì)造成網(wǎng)絡(luò)擁堵,因?yàn)槊總€(gè)節(jié)點(diǎn)將外部數(shù)據(jù)上傳到區(qū)塊鏈都要支付一定的gas費(fèi)用。因此,使用大量預(yù)言機(jī)雖然能保障去中心化共識(shí)的安全性和可靠性,但成本高昂,并非上上策,除非合約本身具有很高的價(jià)值。
現(xiàn)在有一個(gè)創(chuàng)新的方式可以解決這一問題,那就是門限簽名技術(shù)。門限簽名可以讓預(yù)言機(jī)之間互相交流,并在鏈下達(dá)成共識(shí),確定鏈下數(shù)據(jù)源的真實(shí)性。鏈下預(yù)言機(jī)通過門限簽名技術(shù)聚合數(shù)據(jù),只需最終向區(qū)塊鏈傳輸一次數(shù)據(jù)即可,因此也只需支付一次gas費(fèi)用。
簡而言之,每個(gè)參與智能合約的預(yù)言機(jī)都會(huì)搜集相關(guān)數(shù)據(jù)(如市場數(shù)據(jù)),將數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)中的其他預(yù)言機(jī),按照指示將所有數(shù)據(jù)聚合至單一數(shù)據(jù)點(diǎn),并經(jīng)由統(tǒng)一的預(yù)言機(jī)一次性發(fā)送至區(qū)塊鏈上的智能合約。而且這些預(yù)言機(jī)共同組成了一個(gè)數(shù)據(jù)簽名密鑰。
在區(qū)塊鏈中,私鑰(相當(dāng)于密碼)與公鑰(相當(dāng)于銀行賬戶)必須是一一對(duì)應(yīng)的才可以觸發(fā)網(wǎng)絡(luò)中的交易。在門限簽名中,密鑰在本質(zhì)上相當(dāng)于預(yù)言機(jī)私鑰,有了它預(yù)言機(jī)才能將聚合過的數(shù)據(jù)發(fā)送到鏈上。使用門限簽名技術(shù)可以將這個(gè)私鑰切分成許多片,并分發(fā)給網(wǎng)絡(luò)中所有參與的預(yù)言機(jī)。預(yù)言機(jī)的數(shù)量要達(dá)到一個(gè)事先約定好的“門檻”才可以將手中的“私鑰碎片”重新組成一把完整的私鑰。預(yù)言機(jī)在鏈下進(jìn)行交互,把密碼(私鑰)重新拼裝起來,然后才可以簽名批準(zhǔn)鏈上交易,并將數(shù)據(jù)(即聚合過的數(shù)據(jù))發(fā)送至區(qū)塊鏈上相應(yīng)的智能合約。
網(wǎng)絡(luò)中“一定規(guī)模”的預(yù)言機(jī)網(wǎng)絡(luò)將手里的“私鑰碎片”拼在一起就可以組成一個(gè)完整的密鑰簽名,并可以批準(zhǔn)數(shù)據(jù)傳輸。這個(gè)所謂的“規(guī)?!毙枰孪燃s定好,而這就是門限簽名的“門檻”。雖然只有網(wǎng)絡(luò)中參與智能合約的預(yù)言機(jī)才能夠組成簽名,但任何人都可以檢查簽名的真實(shí)性。因此,網(wǎng)絡(luò)中一定數(shù)量的預(yù)言機(jī)必須先達(dá)成共識(shí),確認(rèn)數(shù)據(jù)的真實(shí)性,提供數(shù)據(jù)的預(yù)言機(jī)才會(huì)得到相應(yīng)回報(bào)。
舉個(gè)例子,網(wǎng)絡(luò)中有250個(gè)節(jié)點(diǎn)提供數(shù)據(jù)源,但至少需要有200個(gè)節(jié)點(diǎn)才能重新拼出一把完整的密鑰,并觸發(fā)預(yù)言機(jī)將數(shù)據(jù)傳輸?shù)絽^(qū)塊鏈上。有了這個(gè)“最低門檻”,即使某些預(yù)言機(jī)出現(xiàn)問題,也能保證數(shù)據(jù)能夠正常傳輸?shù)絽^(qū)塊鏈。與此同時(shí),由于有大量預(yù)言機(jī)在鏈下達(dá)成共識(shí),確認(rèn)了數(shù)據(jù)的真實(shí)性,因此這個(gè)方法既可以保障傳統(tǒng)區(qū)塊鏈共識(shí)機(jī)制的客觀準(zhǔn)確性,又不會(huì)為區(qū)塊鏈增加太多成本。
大規(guī)模的去中心化預(yù)言機(jī)網(wǎng)絡(luò)為鏈下世界與鏈上世界的聯(lián)通奠定了堅(jiān)實(shí)的基礎(chǔ),使用成本的降低也讓大規(guī)模應(yīng)用不再遙不可及。Chainlink網(wǎng)絡(luò)通過門限簽名技術(shù),可以安全可靠地在現(xiàn)有基礎(chǔ)架構(gòu)上應(yīng)用智能合約,并保障數(shù)據(jù)的安全性和真實(shí)性。