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