智能合約其實是一個智能的合同,未來也很可能會出現可編程的經濟、經濟學等,改變經濟領域的一些方面以及交互方式。

要點速覽

1.POS 共識算法需要解決的問題太多,太多的狀態需要在協議考慮到,這也是 Casper 協議被推遲的原因。

  1. 不建議自己開發一種新的語言或者使用自己開發虛擬機技術,區塊鏈行業的研發實力並沒有那麼強大。

  2. 公鏈進展還是屬於比較早期,我們需要解決的問題也會比較多,比如隱私性的問題,包括一些數據類型的使用。

近日,蟲洞項目負責人姜家志做客「火星財經創始學習羣」,做了主題爲“ETH、EOS 與 BCH 智能合約框架比較”的分享。

姜家志表示,ETH、EOS 與 BCH 三者相比,在共識機制、出塊速度、Gas 費用、TPS 等方面均存在差異。整體來說,ETH 還需在工程上有巨大進步,不然會很快被其他公鏈超越,EOS 上的超級權限的確會讓人顧忌,對於上面運行一個項目主要資產時,會有讓人會擔心超級權限的控制,這是 EOS 上需要解決的問題。

他同時表示,公鏈進展還屬於比較早期,公鏈創新者的荊棘之處在於勇於創新的永遠是少部分人,在很長時間內都有可能不會被認可,但這也是區塊鏈給的自由,不用妥協,要自由就做好承擔代價的準備。

以下爲姜家志分享內容,由火星財經(ID:hxcj24 h)整理:

今天要分享的是 ETH、EOS 與 BCH 智能合約框架的比較。BCH 的智能合約主要介紹下 Wormhole 的開發和想法。

比特幣的腳本系統其實也是一種編程語言,早期的時候也用來實現一些簡單的合約 https://ivy.copernet.io/。我們也改了一個基於腳本的編程,但是這個腳本系統很不好用,而且也不適合寫我們現在理解的智能合約。

這是因爲 UTXO 和賬戶模型的不同,一個大的問題就是比特幣裏面只有私鑰能夠控制幣,代碼無法控制幣。

用合約語言的方式寫代碼,會被翻譯成 BCH 的腳本。上面的合約會被翻譯成下面的腳本。

下面我要聊的 BCH 智能合約不是這個,是指我們在設計和開發的 Wormhole 的智能合約。

三個做對比的話,首先是共識的不同:POW 、POS、DPOS。

工作量證明 (Proof Of
Work,簡稱 POW),簡單理解就是一份證明,用來確認你做過一定量的工作,PoW 模型是目前最去中心化的區塊鏈系統,是不需要許可的系統,任何人都可以通過獲取算力加入 POW 中,但是它也有自己的問題,POW 的幣種進化速度會很慢,各種新特性的發展速度會很慢。

POW 達成共識的時間會很慢,ETH 通過 GHOST 協議才只能做到 15 秒一個出塊時間,這會嚴重影響 POW 上的智能合約的確認時間。

至於 POS 協議,目前並沒有看到一個好的安全的 POS 協議在運行。衆所周知,ETH 未來的協議演進方向是 Casper 協議,POS 共識算法需要解決的問題太多,太多的狀態需要在協議考慮到,這也是 Casper 協議被推遲的原因,目前來看對於 Casper 協議的未來,我個人並不是那麼樂觀。

DPOS 是犧牲了去中心化,但它又不是完全的中心化,是一種弱中心化的架構。犧牲去中心化的原因是它想提升性能,這個方向是會能給我帶來很多的思考,在整個區塊鏈運行上,如果我們說能把 BTC、BCH,現在的 ETH 這種 POW 模型認爲是最去中心化的話,到中心化之間還有很多中間狀態的,是不是能選一個方式來滿足需求?

這是一個很值得思考的問題,基於一個弱中心化的信任網絡,能給我們帶來多少價值,EOS 是值得觀察和學習的。

DPOS 的治理模型已經和之前的區塊鏈的治理模型發生了很大的變化,它現在的模型已經在形成比較穩定的結構了,它的開發者很少直接面對普通用戶了,中間有一個超級節點的角色,超級節點直接對自己的選民負責,這在很多的政治結構裏都出現過。全民投票的政治模型裏,每個人都需要投票。還有一種是選出一個代表,這個代表幫選民做決定,這種方式更加的專業。好的治理模型是未來公鏈發展的一個重要特性。

出塊速度上不同

EOS 上的出塊時間可以做到 0.5 的出塊,這樣一個智能合約可以秒級的時間被確認。

共識的不同

這造成了出塊的不同,DPOS 可以做 0.5 秒的出塊時間,這也是目前很多菠菜應用選擇 EOS 的原因,而 ETH 上是 15 秒,確認時間會給應用帶來很多的問題,人們更傾向於確定性,而不是非確定性,目前 BCH 上的確認時間是 10 分鐘,長的確認時間也會嚴重的限制應用的使用,希望未來 BCH 能在這些方向上做更多的改進。

從 15 秒的確定時間到 0.5 秒,EOS 上的確讓以前在 ETH 不是那麼火爆的應用重新煥發了生命力。

Gas 費用的不同

EOS 採用了抵押模型,導致了很多應用沒有辦法獲取到資源,在 EOS 上開一個賬戶都需要有人提供專門的服務,而內存和 CPU 價格被爆炒也反映了這種模型存在的問題。

ETH 採用 Gas 模型,這是目前運行比較合理的一種方式,但是也有另外的問題就是資源是動態變化的,CPU、內存的價格一直在變化,所以 ETH 的 Gas 也在不斷的調整,而使用智能合約的價格不穩定也是 ETH 一直在嘗試解決的問題。

在 Wormhole 開發智能合約的時候我們一直比較重視 Gas 的使用,最好的方式有可能是 Gas 只用在收取需要高消耗資源的情況,對於真實的用戶想辦法讓他們以更低的成本使用整個網絡,這是一個非常有挑戰的事情,目前我們團隊也在一直優化這部分的算法,也會在 Gas 的定價上採取更多的靈活性。

TPS 的不同

EOS 目前能夠處理 2000-3000TPS (非智能合約運行數據),隨着代碼的優化以及超級節點處理能力的提高,這個數據還會上升。

ETH 目前是 15-20TPS,這是 ETH 目前面對的一個最好的問題,從加密貓到現在 ETH 在 TPS 上沒有什麼進步,目前市場也對於 ETH 出現了一些偏悲觀的判斷就是技術上沒有太多的進步。

BCH:
目前的 TPS 是 100 左右,Wormhole 上的智能合約運行並不需要 BCH 的節點運行智能合約,所以 Wormhole 的智能合約的 TPS 只依賴於 BCH 的網絡處理能力。藉助與分片、UTXO 證明等技術未來 BCH 能夠處理更大的交易,但這樣也是隻有 Wormhole 的節點需要運行智能合約,這樣的好處就是智能合約的運行和交易運行分離開,能夠處理更多的交易。

**
**

DOS 攻擊的問題

交易需要支付收費自然就能解決 DOS 的問題,在 ETH 上智能合約的運行在消耗完 Gas 之後自然停止運行,這樣就可以避免一個合約在節點中一直運行。

EOS 上因爲不向用戶收取手續費,只需要應用提供商抵押 EOS 即可,EOS 的智能合約的限制,每個合約必須在 30 ms 內執行完成,不然就認爲執行失敗。這樣雖然解決了停機問題,但是還是沒有解決用戶通過抵押 EOS 發垃圾交易的問題,EOS 上面有一些賬戶就在不斷的發送垃圾交易,目前 EOS 需要不斷的去解決這些垃圾交易的賬戶。

Wormhole 的合約,傾向於提供給智能合約更長的執行時間,會更加的選擇使用 Gas 模型,也需要有一個合理的算法機制讓真實的用戶可以方便的簡單便宜的使用 Wormhole 合約。Gas 模型+算法選擇的方式是我們未來重點考慮的一個方向,同時也要避免對於系統的攻擊,這是一個需要不斷摸索和不斷調整的問題,讓真實用戶使用,但是也要讓攻擊者的成本不斷提高,另外發送 BCH 交易需要支付 BCH 的礦工費用。

主要數據結構的不同

ETH 中的 MPT 樹是其最重要的一個數據結構。

使用前綴樹來進行查詢擁有共同前綴 key 的數據時十分高效,例如在字典中查找前綴爲 pre 的單詞,
對於哈希表來說,需要遍歷整個表,時間效率爲 O(n); 然而對於前綴樹來說,只需要在樹中找到前綴爲 pre 的節點, 且遍歷以這個節點爲根節點的子樹即可。
但是對於最差的情況 (前綴爲空串),時間效率爲 O(n),仍然需要遍歷整棵樹,此時效率與哈希表相同。 相比於哈希表,在前綴樹不會存在哈希衝突的問題。

這個不是太好理解,大家明白他很複雜就好了。這棵樹有很多的劣勢:

直接查找效率低下,且一次查找會有 m 次 IO 開銷,相比於直接查找,無論是速率、還是對磁盤的壓力都比較大。

可能會造成空間浪費,當存在一個節點,當樹中沒有與他相同前綴的分支時,爲了存儲該節
點,需要創建許多非葉子節點來構建根節點到該節點間的路徑,造成了存儲空間的浪費。

MPT 樹會導致 ETH 中一個數據庫操作放大 7 次以上,這是 ETH 慢的最重要原因,不改進 MPT 樹 ETH 的 TPS 很難有很大的進展,鄧草原老師的項目就是在嘗試減少這棵的訪問時間。

POW 的優勢並沒有被釋放。不可能三角也是一個神話,ETH 慢的原因是因爲這個樹的拖累,造成了大量的 IO 操作。

優化這棵樹,ETH 提高 1-2 個數量級的 TPS 不是太大的問題。

MPT 一個很大的好處是 SPV 錢包能夠更好的好處,但是目前來看 ETH 生態上基本上沒有 SPV 錢包的應用。

Wormhole 上在設計主要數據結構的時候會選擇和 EOS 一樣的簡單數據結構,比如 merkle tree 可以用來快速算 hash, 以及做 merkle
proof 即可,完成存在性證明和不存在性證明。

存儲方式不同

ETH 使用的是 LevelDB,需要存儲 MPT 中的每一個節點。EOS 使用的是 MongoDB,很多數據都使用了 JSON,互聯網裏面比較常用的一種格式。

Wormhole 上的智能合約未來是使用我們自己設計的針對區塊鏈存儲的存儲引擎,目前還在開發中,完成的時候會一起開源。

**
**

合約語言的不同

ETH :Solidity 語言, Solidity 是一個面向合約的高級語言,其語法類似於 JavaScript ,是運行在以太坊虛擬機中的代碼。

EOS: WebAssembly,目前支持最好的是 C++未來會支持主流的編程語言,WebAssembly 是一種新的字節碼格式,主流瀏覽器都已經支持
WebAssembly,包括微軟、Google、蘋果都已經在支持 WebAssembly。

Wormhole:我們也使用 WebAssembly,我個人並不建議自己開發一種新的語言或者使用自己開發虛擬機技術,區塊鏈行業的研發實力並沒有那麼強大。WebAssembly 的研發基本上聚集了主要大的互聯網公司研發力量。

應用場景不同

ETH:無許可的智能合約應用,受限與 TPS,上面的運行了很多的偏金融類的智能合約。

**
**

EOS:
較高的 TPS,但是因爲對於超級權限的顧慮,上面運行的大多都是菠菜和遊戲相關的智能合約應用,高價值的智能合約對於 EOS 平臺會有所顧慮,比如穩定幣。

**
**

Wormhole:
因爲有 POW 做了安全保證,也保證了無許可特性,再有就是 BCH 社區在努力的提高 TPS,我們覺得在 Wormhole 上能夠運行一些價值轉移的智能合約以及一些無許可的智能合約。

整體來說,ETH 還需要在工程上能夠看到巨大的進步,不然被其他公鏈超越基本上是很快的事情。

EOS 上的超級權限的確會讓人顧忌,對於上面運行一個項目主要資產的時候,會有讓人會擔心超級權限的控制,這個是 EOS 上需要解決的問題。

公鏈進展還是屬於比較早期,我們需要解決的問題也會比較多,比如隱私性的問題,包括一些數據類型的使用。

公鏈創新者的荊棘之處在於勇於創新的永遠是少部分人,在很長時間內都有可能不會被認可,但這也是區塊鏈給的自由,不用妥協,要自由就做好承擔代價的準備。

我個人非常看好區塊鏈未來的發展,因爲,從本質上來講,區塊鏈是一個分佈式的公共賬本,所有人對這個賬本都有查詢的權利,沒有一個單一的用戶可以對它進行控制。那整個區塊鏈系統的參與者就會維護整個賬本的更新,它需要按照嚴格的規則共識來進行修改。

其次,不可篡改性從根本上改變了中心化信任的創造方式,它是依賴於數學以及機器去建立的信任而不是人去建立的,信任的建立是非常難的。在整個人類的發展過程中,人類之所以發展到現在其實是通過一些語言或者說和陌生人交流來達到大規模協作的目的,如果沒有這種方式協作的話,很難去高效地組建團隊,整個過程其實是信任的基礎。

互聯網其實是一個大的合作網絡,它所帶來的信任其實是一種領袖的信任值,比如說我們信馬雲、馬化騰等,是因爲理解他們的背後是淘寶和騰訊,這種信任的積累是長時間打造的。

現在社會更多的是一種制度化信任,比如說我們對議會制這種制度是認可和鼓勵的。當然到了區塊鏈的時代,整個信任的建立是由機器達到的,就是出現代碼,整個代碼在區塊鏈上會被執行,然後會達到讓大家更好的去協作,更低成本的構建一個大型的網絡。人類歷史上有可能第一次達到零成本去建立信任。因爲區塊鏈上的的數據是可以直接相信的。

這個變革會非常巨大,還有就是價值的傳遞,區塊鏈本身是一個地址到另外一個地址的轉移,這就是價值的傳遞。之前的互聯網沒有公衆號的出現,也沒有打賞這種工具出現,其實意味着互聯網上沒有一個萬億級的市場,現在因爲打賞的出現,價值可以高速流通,所以出現了一種知識創新的模式。

現在我們都知道跨國轉賬是非常困難的,大概要三到五天的時間才能做到,而且手續費還不固定,即使我們坐飛機坐到北美那邊也頂多二十多個小時,這樣你人都到了你匯的錢還不一定到,這本身是非常不合理的,區塊鏈是能夠改變這些的。

智能合約其實是一個智能的合同,未來也很可能會出現可編程的經濟、經濟學等,改變經濟領域的一些方面以及交互方式,這些都對於未來的發展是非常重要的。

互聯網及制度帶來的發展是信息的高速流轉,但是互聯網沒有解決的問題是價值的傳遞及價值的高速流動,那這個問題是區塊鏈能夠解決的。如果說區塊鏈能做到這一步的話,整個人類會發生比互聯網所帶來的影響力更大的一次變革。那這個變革所釋放出來的自由、所能達到的透明度,能營造一個更加公平的環境,這在人類歷史上是從來沒有過的。價值轉移、信任建立以及智能合約會給整個人類帶來不一樣的世界。


本文根據「火星財經創始學習羣」嘉賓分享內容整理,不代表火星財經立場。轉載須在文章標題後註明:“文章來源:火星財經(ID:hxcj24 h)”。

火星財經認路“韭菜”教程:

咔咔咔,設個星標

不錯過獨家新聞,掌握一手資訊!

[火星公開課精彩推薦]

紅岸基金任駿菲
|
BTC.com 莊重胡靜
| Penta
David

火幣大學於佳寧
|
BUMO 郭強
|
肖颯律師

MakerDAO 潘超
|
IOTA 熊志敏
| Frank Ling

神馬礦機張曉霆
| CK-Lab 張十一
| 幣乎魯斌

更多 [原創文章]

*徐小平答王峯十問:中國創業“黃金十年”確已結束,“白金十年”正撲面而來!
*火星財經成立 STO 研究院,前摩根大通私人銀行總部執行董事喬紅濤出任總顧問

*萊比特礦池江卓爾:明年 2 月熊市將見底,BCH 或借穩定幣“東風”超車 BTC
*獲郭臺銘押注,1 美元買 ETH 狂賺 2.5 億美元,華爾街老狐狸的“馭”幣術


猛戳查看公開課專題更多精彩內容!