0

雷鋒網AI金融評論報道,12月3日,靈鈦科技發起主辦了亞太以太坊社區技術培訓及交流大會,邀請包括以太坊創始人Vitalik Buterin在內的以太坊技術領軍人物、應用開發者及業內研究人士參與。這么多位代表了以太坊前沿動態和最新發展的專業人士齊聚一堂,為在場聽眾分享了哪些以太坊相關的進展消息?展望未來,又描繪了以太坊和區塊鏈怎么樣的進步前景?
據雷鋒網AI金融評論在現場的了解,涵蓋此前AI金融評論報道的Vitalik Buterin關于解決以太坊隱私性問題的演講在內,除去數個建基在以太底層架構的DApp應用項目介紹外,該交流大會當天的演講大致可分為以太坊基礎生態建設和區塊鏈經濟價值兩大類。以下為亞太以太坊社區技術培訓及交流大會深圳站諸位嘉賓的演講精編,雷鋒網AI金融評論做了不改變原意的修改:
在《以太坊分片概說》為題目的演講中,以太坊研究者王筱維從以太坊現正運行的節點入手,論述區塊鏈可擴展性問題及去中心化、安全性在內的三重困境,將如何通過分片(Sharding)方案著手解決。
她的演講第一部分聚焦在以太坊現正通行的1.0節點構成的P2P網絡。王筱維介紹道,作為以太坊1.0中的一個全節點(full node),需要完成以太坊虛擬機(EVM)字節代碼的執行、各賬戶交易狀態變更等工作,對于礦工而言,則需運行工作量證明算法來挖礦,在以太坊虛擬機平行化執行的情況下,每一個節點都需記錄每一筆交易。

每次收到一個新的區塊,需要去執行每一筆交易,盡管這樣區塊鏈的安全性和去中心特質得到了保證,但隨著數據存儲的規模越來越大,這樣的機制很難長久保持下去。正如Vitalik Buterin所定義的區塊鏈“三重困境”,即無法同時兼顧擁有去中心化、安全性和可擴展性三方面的特性。

如在前述的每個節點負責處理區塊鏈的工作時,有可能出現某一節點優先驗證某些交易的情況,這樣另一些交易的安全性就會被削弱。

由此她開始介紹分片(sharding)解決方案。與Vitalik Buterin將分片比作為“宇宙”(Universes)類似,王筱維稱,在區塊鏈上進行數據儲存時,可以將這些分片看成一個個“星系”(Galaxy),它們相互獨立運作,彼此間不會受到干擾。
但與此同時,它們各自之間并非毫不相干,分片上的交易結果等數據,將會以標題(header)的形式與主鏈上的區塊標題一一對應起來;在采用了工作量證明的區塊鏈上,各區塊的發起人被稱之為“礦工”,對應在分叉鏈上,則設置了校對者(collator)的角色;在共識機制方面,目前以太坊采用的是工作量證明(PoW)的方式,還有實施權益證明的Casper計劃在測試網絡中運行,在分叉鏈上,將會通過驗證管理合約(validator manager contract)的途徑來對主鏈采用的共識機制進行驗證,從而決定分叉鏈的共識機制。
王筱維介紹道,驗證管理合約具有以下功能:存款、提現、取樣和寫入標題。透過這個驗證器,參與者需要交付押金,才有被隨機取樣的可能性,被列到參與驗證的名單中,并把分片上的部分數據即校對者寫入主鏈。
特別注意的是,當有需要進行分叉時,分片上的的分叉選擇結果將會根據主鏈的分叉結果來決定:

如圖所示,以藍色方框標識的分片會跟著較長的一條主鏈,從狀態B到狀態C時,由于其只存在于上面的一條主鏈,故分叉鏈僅會以上面一條主鏈為分叉選擇的結果。

在這個分片解決方案中,王筱維接著介紹了一種數據儲存結構的全新設計:無狀態客戶端。隨著以太坊區塊鏈中的地址數量不斷增長,每筆交易在同步的過程中形成的數據存儲量非常巨大。在以太坊區塊鏈的數據結構中,每個賬戶發生交易后,只有其所在路徑的哈希值才會發生變動--

根據這個特性,她提出名為“Witness“的計算模式:即當某個分片在確定時間內取樣后,其無狀態客戶端(節點)便能向全節點進行快速同步,而全節點只需要儲存狀態根(state root)即可,大大減少數據存儲的負荷。
林修平:“金庫”模式避免代幣被小偷劫持
另一位以太坊研究者林修平的演講,從近期以太坊錢包應用Parity安全事故入手,聚焦在了虛擬貨幣保管的安全性問題上,為現場聽眾詳細介紹了多重簽名錢包及其升級模式“金庫”(Vault)。
林修平說,與將密鑰手工抄下保管等方式相比,多簽名錢包更加能夠規避風險。目前大多數的錢包主人只有一把對應的私鑰,在這種情況下,這把私鑰丟失了,用戶就再也找不回存放在錢包里的代幣了。
多簽名錢包的設置避免了這種單一風險,一筆交易可能需要上百把鑰匙來解鎖,如果丟失了其中一把鑰匙不至于損失賬戶里所有的代幣。在多簽名錢包的模式中,林修平介紹道,生成了M個簽名,而僅需拿到其中的N(N≤M)個簽名就可以進行交易。出于防范單一簽名風險的考慮,用戶還可以設置需要自己手機和電腦私鑰等多重簽名才可解鎖的錢包。
在比特幣多簽名錢包生成流程里,需要先形成簽名,在收集多個公鑰后通過它們產生的新的多重簽名的公鑰進行交易。在經過這個多簽名錢包進行一筆交易時,先需要得到第一位用戶的私鑰對這筆交易作簽名,然后再交給下一個,得到足夠的簽名量后方可真正發起交易。

由此整個生成流程比較復雜麻煩,在交易中需要更多的等待時間,交易的延遲也會更長。而在以太坊的多簽名錢包中,在收集了多個公鑰之后,通過智能合約將這多把公鑰的主人設為該合約的擁有人來生成該多簽名錢包。林修平說,將錢存進去這個智能合約后,與比特幣不一樣,以太坊的交易以賬戶為單位,故在交易中只有將存入賬戶的金額花光,這個錢包才會消失。

并且,在以太坊的多簽名錢包里,用戶可以隨時管理、新增或修改智能合約擁有人,從而任意更改多簽名錢包的用戶。而這在比特幣的多簽名錢包中沒有辦法實現,一旦需要變更,就只能重新部署一個多簽名錢包。

除此以外,林修平還介紹道,以太坊的多簽名錢包可通過智能合約動態設置需收集簽名數量,從而賦予了這個多簽名錢包更大的操作自由度。

在金庫(Vault)模式中,每筆放入多簽名錢包的錢取出都需要一定的時間來確認交易。如果發生私鑰被偷的情況,當用戶想要把錢取走時,盜得私鑰的小偷有可能會取消該筆交易而對這筆錢進行“劫持”,甚至部署一個智能合約來和錢包主人做交易,如設置一個將該筆金額的5%發至一個地址而剩余的95%發至另一個地址的合約規則。

為了防止上述情況的發生,創造了加入第三方的2.0版本金庫,規定在請求交易時,錢包用戶和第三方都會得知這一消息,且第三方提起請求所需時間更長。
這樣在發起一筆交易的時候,出現錢包用戶忘記私鑰情況時,用戶可以聯系第三方來將錢轉走;而出現擁有者的私鑰被盜的情況時,由于所需時間更長,用戶可以極快地拒絕由小偷發起的取錢請求;還有,錢包用戶可以通過智能合約與第三方制定特殊的取錢請求,當用戶私鑰被盜時仍能通過第三方將錢取走,避免被小偷劫持錢包的風險。
Vitalik Buterin:零知識證明等四種方案解決以太坊隱私性問題
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。