丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
金融科技 正文
發(fā)私信給陳伊莉
發(fā)送

0

自DevCon3大會歸來,全方位解讀以太坊生態(tài)現狀和未來

本文作者: 陳伊莉 2017-11-28 21:58
導語:本月初,第三屆以太坊開發(fā)者大會DevCon3在墨西哥坎昆舉行。萬云CTO奚海峰對這趟旅程的所見所聞進行了總結,全面地解讀了以太坊生態(tài)現狀和未來發(fā)展。

自DevCon3大會歸來,全方位解讀以太坊生態(tài)現狀和未來

雷鋒網按:本月初,第三屆以太坊開發(fā)者大會DevCon3在墨西哥坎昆舉行。萬向區(qū)塊鏈旗下萬云平臺CTO奚海峰在參會后對這趟旅程的所見所聞進行了總結,并在上周萬向分享會上進行了演講,全面地解讀了以太坊的生態(tài)現狀和未來發(fā)展。本文授權轉載自公眾號萬向區(qū)塊鏈,作者奚海峰。

一、以太坊基礎概念

以太坊作為一個區(qū)塊鏈產品和技術平臺,初衷是希望區(qū)塊鏈可以像手機操作系統(tǒng)一樣,當開發(fā)者想構建應用時不必重復創(chuàng)造和維護區(qū)塊鏈,直接使用以太坊即可。不僅用于轉賬,還可用于像資產發(fā)行、眾籌、域名注冊、權屬登記、預測市場、投票、物聯網等應用場景。以下是以太坊的一些基礎概念。

賬戶類型

區(qū)塊鏈最基本的結構是賬戶體系,以太坊在原比特幣的外部控制賬戶基礎上增加了合約賬戶。合約賬戶是由一段代碼(智能合約)控制的賬戶。不同的賬戶間通過交易來實現交互,交易可以從一個外部控制賬戶發(fā)到另一個外部控制賬戶,實際上就是簡單的轉賬。

如果從外部賬戶發(fā)一個交易到合約賬戶,就是對這個合約賬戶里包含代碼的某個函數進行調用。此外,一個合約賬戶也可以嵌套式地調用另外一個合約賬戶的代碼。

Gas和Gas Price

為避免智能合約被惡意使用造成死循環(huán),以太坊加入了燃料(Gas)的概念。執(zhí)行智能合約的某個操作,或者存儲一些數據都要花費相應數量的Gas;在執(zhí)行一個智能合約時,必須在一定Gas限度內完成,否則程序就會終止。Gas Price是智能合約調用者指定的,表示他愿意為每個Gas支付多少以太幣,這種成本因素進一步約束黑客濫用以太坊資源的沖動。

交易

一個交易由若干關鍵字段構成:

  • Nonce:隨機數,它可用來避免交易被重放。

  • Startgas:指調用方愿意為這次調用支付的Gas上限,在調用之前從賬戶里扣除。如果調用結束時,Startgas沒有花完,剩下的就會退回到調用者賬戶。如果執(zhí)行過程消耗的Gas超越了預先支付的Startgas,執(zhí)行就中止。

  • To:指這個交易的目標地址。

  • Value:轉賬的以太幣數量。

  • Data:目標為合約賬戶時,對調用函數名和參數的編碼。

狀態(tài)機

每個賬戶實際上都維護一個狀態(tài),這個狀態(tài)在執(zhí)行代碼的時候發(fā)生轉移,可以理解為以太坊每個節(jié)點都在維護一個巨大的狀態(tài)機。就是通過執(zhí)行交易去觸發(fā)代碼的執(zhí)行,代碼會修改賬戶的內部狀態(tài),包括代幣里面存儲的值,這樣使得整個以太坊從一個狀態(tài)轉到另一個狀態(tài)。

以太坊虛擬機(EVM)

智能合約運行在虛擬機里面,虛擬機相當于模擬的計算機,它有堆棧、內存、存儲、環(huán)境變量、日志,所以它叫圖靈完備。用這個虛擬機可以寫任意復雜的邏輯,這也正是為什么要引入Gas機制的原因。

高級編程語言

虛擬機運行的智能合約代碼,是編譯為EVM可以理解的二進制碼部署在智能合約當中的。但是作為編程人員直接用這種代碼寫程序較難,因為它是一個低級語言。所以以太坊提供了高級語言如Solidity、Viper、LLL、Bamboo來寫智能合約,然后編譯成EVM代碼。

應用二進制接口ABI

應用二進制接口ABI是智能合約函數調用的二進制編碼格式。在向一個合約賬戶發(fā)送交易時,需要指明調用合約代碼里的哪個函數,如果這個函數帶參數,還要把參數值傳遞過去,這些東西都要有一個二進制編碼。

Merkle Tree

在以太坊里有一個非常重要的概念“Merkle Tree”。在Merkle Tree里,從根結點向下(葉子節(jié)點除外),每一個節(jié)點的值都是下面節(jié)點的值合并后算哈希的結果。這樣的好處是可以很容易形成對于葉子節(jié)點上的交易數據的驗證。以太坊對Merkle Tree做了改進,以便高效地進行插入和刪除操作。

二、以太坊面臨的安全挑戰(zhàn)

智能合約風險

以太坊作為一個帶有圖靈完備虛擬機的區(qū)塊鏈平臺,它的優(yōu)勢很明顯,但優(yōu)勢往往也是它的劣勢。對于以太坊來講,因為它的虛擬機支持任意編程邏輯,在寫智能合約的時候很有可能會引入bug,比如之前的The DAO事件造成以太坊的硬分叉,Parity錢包7月份和11月份兩次bug被黑客利用造成的資產損失等。所以面對這些安全風險,應該怎么辦?

一是可以通過以太坊的協(xié)議和EVM本身的升級來加強安全性。二是可以應用代碼審計公司或者是自己編制嚴格的審計流程對自己的代碼進行審計。另外,可以使用形式化驗證工具來加強安全性,如區(qū)塊鏈安全公司Zeppelin開發(fā)的工具,可以使得區(qū)塊鏈上部署的智能合約代碼修改起來更方便。蘇黎士聯邦理工大學軟件可靠性實驗室開發(fā)的安全審查工具Securify,給開發(fā)人員提供了一個簡單的界面,可以對輸入的智能合約代碼進行形式化驗證,然后找出里面存在的漏洞。

隱私風險

我們都知道,在區(qū)塊鏈社區(qū)中特別注重隱私保護,而zk-SNARKs(“簡明非交互零知識證明”)是此次DevCon上一個非常熱門的話題。這個機制是讓一個證明者,在不提供任何額外的有用信息的情況下,使驗證者相信某個論斷是正確的,是一種概率證明而不是確定性證明。

比如Alice有一把開門的鑰匙,她需要向Bob證明她擁有這個鑰匙。有兩種做法,第一種是Alice把鑰匙給Bob,Bob拿這個鑰匙開了門進去,Bob知道Alice確實擁有進門的鑰匙。另外一種做法是,Bob知道這個房子里有一樣東西,他告訴Alice,Alice到房間里把這個東西拿出來給Bob看。由于Alice能做到這一點,Bob知道Alice有開門的鑰匙。第二種方法就是所謂的零知識證明,可以在不泄露鑰匙的情況下,向Bob證明Alice擁有它。現階段,對隱私保護做得最好的是Zcash,Zcash對零知識證明應用得非常純熟。

三、以太坊面臨的擴容挑戰(zhàn)

以太坊面臨的另外一個重大問題,就是它的性能擴展。以太坊上面現在已經部署了成百上千的智能合約,但它之初的設計是基于PoW共識機制,每秒只能處理幾十個交易,無法滿足很多應用對交易性能的實際要求。以太坊被認為是第二代區(qū)塊鏈,現在第三代區(qū)塊鏈的崛起勢頭對以太坊形成了某種競爭壓力,所以當務之急是如何在保持以太坊平臺平穩(wěn)運行的前提下,盡快把它切換到PoS的共識機制下,提高平臺的性能。

現在以太坊面臨的在性能擴展上的問題是,每一個節(jié)點都要處理每一個交易,這意味著整個區(qū)塊鏈的容量是被單一節(jié)點的處理能力和存儲能力所限制。另外,以太坊設計之初就不支持交易的并行處理,這些都限制了其性能的進一步提升。

四、以太坊的擴容之路

為了解決擴展性,Vitalik提出了Sharding(分片)方案,即“一個區(qū)塊鏈,兩套系統(tǒng)”。Sharding具體方案是將以太坊網絡狀態(tài)分解為眾多分片(shard),分片間僅能異步通訊,每一個分片僅處理全網絡的一部分交易,分片也分為主分片與新分片。Vitalik 稱新分片為“宇宙星系”。

主分片與新分片在共識與治理上會有不同處理方式,主分片采取保守的方式,依然是PoW,然后進入一種混合的PoS模式,實際上就是PoW加PoS,以保障網絡穩(wěn)定性;新分片采取積極改進的方式,以便進行更多的試驗,但不影響主分片,新分片則直接使用PoS模式,實現權益證明。如果能實現這樣的治理構架,系統(tǒng)將會更穩(wěn)定。

在新老分片中間的同步狀態(tài)是通過一個叫無狀態(tài)的客戶端來做的。所謂無狀態(tài)就是,當把新分片的一些局部狀態(tài)想要同步到主分片的時候,共識節(jié)點不需要存儲所有網絡狀態(tài),僅存儲區(qū)塊頭部信息即可。另外發(fā)送交易時,提交Merkle 證明即可以改變狀態(tài)。因為Merkle是自洽的數據結構,它可以向主分區(qū)證明這個交易確實是在新分區(qū)上發(fā)生過了。這樣在新分區(qū)上可以做很多的優(yōu)化,比如并發(fā)處理,包括區(qū)塊的大小,就不再是個問題。如果要想嘗試不同區(qū)塊大小帶來的性能方面的影響,它可以創(chuàng)建不同的新分片,在不同的新分片做不同的設置。

總結來說,這套機制使把以太坊未來的開發(fā)分成兩層。第一層是現有的主分片,強調安全和保守。另外一層是新的分片,直接用PoS協(xié)議,它可以實現快速的算法和功能迭代。

如果要想實現分片制的設想,PoS扮演了非常重要的作用。無論是主分區(qū)里從混合模式過渡到最終模式還是新分區(qū)一步到位,PoS在以太坊接下來的發(fā)展中就非常重要。PoS是一種公有鏈的共識算法,是權益證明,它和PoW工作量證明不一樣的是,它不是解一個加密算題來給參與者進行獎勵的挖礦機制,而是在它的機制里有一些驗證人,這些驗證人自己要持有區(qū)塊鏈上的代幣。這些驗證人按照一定的算法輪流提議出塊,所有的驗證人為這個新的塊進行投票。在投票的時候,每一個投票人的投票權重跟它的代幣數量成正比。如果驗證人的投票行為是正確的,他就會得到獎勵。如果他作弊,那么他會被判定為以不符合協(xié)議的方式進行投票,他的代幣會被懲罰沒收。所以PoS基于經濟機制來獲得共識,并且獲得網絡的安全性。

PoS的優(yōu)點有三個:

  • 第一是明確的經濟安全性,因為它不再是通過挖礦的競爭實現共識,所以在鏈上治理這塊就可以制定非常明確而且有針對性的獎懲措施。在PoW的機制里,要想進行51%攻擊,代價很低,僅需電力消耗和設備損耗。但PoS不同,它的懲罰非常嚴重,當你進行51%的攻擊,治理算法就會發(fā)現,你所有的代幣就會被沒收。所以它的經濟安全性,比PoW高。

  • 第二,減少集中化風險。因為PoW挖礦機制使得它有集中化傾向,在PoS里面1塊錢就是1塊錢,你的錢和股份是平等的,減少了集中化風險。

  • 第三,提高能源效率。我們都知道,比特幣挖礦消耗的能量相當于厄瓜多爾整個國家一年的耗電量。但切換到PoS上,綠色環(huán)保,非常值得提倡。

以太坊通過Casper的機制來實現PoS。Casper由兩個項目組成:Casper由兩個項目組成:Casper CBC和Casper FFG。FFG以保守的方式,在PoW 基礎上實施了權益證明。簡單地說,依然通過PoW 算法增加區(qū)塊,但是每50個塊有一個PoS “檢查點”,通過網絡驗證人來評估區(qū)塊的最終有效性。FFG解決的是短期內將主鏈遷移到PoS上,實現混合的PoS模式,只是過渡方案。而CBC是最終方案,從形式化的設計和形式化建設方面都是正確的算法。

雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。

分享:
相關文章

編輯

數據漫游天地間。 聯系可通過上方郵箱或WeChat(請注明身份、姓名、來意,thx)
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說