基於比特幣現金BCH二層網路能實現區塊鏈2.0以太坊的智慧化嗎?

買賣虛擬貨幣

文 | 黃世亮

0章 引言

現在市場上有不計其數的區塊鏈專案,多如牛毛,各個專案都認為自己是最牛逼的,都聲稱自己能改變世界。區塊鏈1點零,2點零,3點零,現在已經有專案喊自己是區塊鏈5點零了。在這樣下去,區塊鏈250點零也很快就要到了。

我們真的需要那麼多的區塊鏈嗎?這個世界到底需要一個什麼樣的區塊鏈。

1章 以太坊的智慧合約

以太坊被稱為區塊2.0,以太坊的成功,帶來了區塊鏈恐怖的創新熱潮,無數的區塊鏈作業系統專案被髮明出來,都稱自己是公鏈。給整個行業帶來了公鏈之爭。如果你做一個區塊鏈專案,如果不能實現以太坊的功能,好像就是一種恥辱的落後。BTC/" target="_blank"">比特幣就是被太多人稱為落後的技術。

比特幣作為一個笨協議是一種恥辱的落後嗎?完全不是,基於比特幣現金的二層網路可以實現所有以太坊的創新,同時可以保持很低的手續費和無限的可擴充套件性。

以太坊的做法是將合約程式碼託管到區塊鏈上,並且要求所有的節點執行計算這些程式碼。託管到區塊鏈上就可以獲得合約程式碼不可修改,所有節點執行也是必然會產生相同的結果,所以使用程式碼的使用者是不需要單獨信任一個節點的,他只需要相信這個以太坊網路,就可以獲得確定性結果。這就是我們講的程式碼無須信任化,就是不需要單獨信任某個單一的節點,甚至是可以自己執行一個非挖礦節點來驗證。

我們舉個例子會更清晰,在以太坊上執行了一整年的eos眾籌合約的基本原理是這樣的,使用者會向eos的合約地址發以太幣,用以購買代幣,合約每隔23小時會計算一下收到多少以太幣,然後使用200萬除以收到的以太幣總數,就得到一個以太坊可以買到多少個eos,然後合約就可以計算出每個使用者購買到多少代幣,最後使用者可以呼叫合約來取回他買到的eos代幣。

使用以太坊來執行這個合約得到的好處是,合約程式碼是託管到以太坊區塊鏈上,公開透明,不可篡改,規則是定死了的,對所有人都是公平的。使用者只需要相信以太坊這個網路不會出問題,那就可以透過這個合約來購買eos的代幣,保證童叟無欺。

而問題是這樣的,手續費很高,以太坊可處理的交易數量非常少,平均每秒太約能處理1530筆。這個問題是非常大的,可以讓使用一種攻擊手法來獲得更便宜的價格。

eos的眾籌是同時在一級市場和二級市場展開的。我們稱直接透過eos合約來購買代幣稱為一級市場,透過交易所來買代幣,稱為二級市場。

eos的合約是每23小時結算一次,在離結算前10分鐘,一般一級市場的價格會大大低於二級市場,然後在最後10分鐘內,就會有大量的人湧入進一級市場買幣,並且在二級市場賣出,透過這樣來實現搬磚套利。

而在這10分鐘內,如果有人對以太坊全網發起大量的交易,就可以堵塞整個網路,以防止別人往合約地址裡轉幣,從而維持一級市場的低價。這樣的事情發生過非常多次。

前一段時間的佛魔3D也被人透過製造了3分鐘的擁堵時間,從而拿走了鉅額獎金。

你很難想象在一個金融系統上,可以製造一個禁止所有競爭對手,只有你一個人來操作的事情。試想,如果你在一個交易所,可以禁止所有其他使用者3分鐘參與交易,只有你來交易的後果嗎?

以太坊將所有的合約都託管到主鏈上,並且在主鏈上執行必然會帶來這樣的結果。讓我們來看看比特幣現金是怎麼做的。

2章 比特幣現金的解決方案

位元大陸的姜家志他們在比特幣現金上搞了一個蟲洞專案,海外也有團隊搞了Keoken專案,現在又出來一個bitcointoken,使用的原理都差不多。都是基於比特幣現金區塊鏈的二層智慧合約平臺。

基本原理這樣的,所有的合約程式碼以交易的方式託管到比特幣現金主鏈上,存放在op return欄位裡,但比特幣現金主鏈並不執行合約程式碼。合約程式碼託管在比特幣現金主鏈,就獲得了程式碼的不可篡改性。

而程式碼的執行則交給蟲洞的客戶端來執行,蟲洞客戶端會讀取比特幣現金主鏈上的程式碼,然後執行,並反饋給網路結果,並且將執行結果以交易的方式再次寫入比特幣現金區塊。這樣執行的結果也獲得了不可逆性。

因為以太坊的合約是所有的礦工節點都會執行並且會得出一個相同的結果,而蟲洞協議只是BCH礦工節點不執行合約,而是交給其他節點去執行,請問,這兩者的安全性是一樣的嗎?

3章BCH二層網路的安全性分析

在安全模型性上,蟲洞的安全性和以太坊的安全性也是一樣的。在以太坊上,安全模型是這樣的。比如我們要在以太坊網路執行1+1這個合約,正確的結果就是2

以太坊的礦工,在挖到一個區塊後,就會執行這個合約,他執行的結果必然是2,但他可以作惡,故意騙所有使用者是3,使用者也是沒有辦法的。但其他礦工節點,也會去執行這個合約,如果他們執行的結果是2,那就會孤立掉這個作惡的礦工的區塊,這個礦工就會損失掉一個區塊的獎勵和手續費。所以說,這就是所謂的區塊鏈是無須信任的根本原理,是因為我們認為區塊鏈網路上的挖礦節點沒有人會冒被孤立區塊的風險,去釋出一個假的結果。

普通使用者不執行完整節點,也沒關係,他只需要隨機訪問網路上的其他完整節點,並索要合約結果,一對比就知道有沒有問題了。因為網路是開放的,任何作惡的節點是無法阻止使用者去訪問其他節點查詢對比結果的。

而蟲洞的安全模型也是一樣的,合約程式碼和執行結果都被託管到位元現金主鏈區塊上,合約的執行是由蟲洞客戶端執行,並將執行結果發到BCH主鏈上。我們先假定蟲洞客戶端是不作惡的。BCH主鏈上的礦工有可能作惡嗎?這是不可能的,因為BCH主鏈區塊上的礦工不可能冒被孤立區塊的風險故意去製造一個和正確結果相沖突(雙花掉對的結果交易)的假的執行結果。礦工節點確實可以打包一個假的合約結果,但它無法刪除正確的合約結果,那這就不會影響使用者的資產。

現在我們假定某一個蟲洞客戶端會作惡呢?所有的蟲洞客戶端都可以識別出真的執行結果,並反饋給使用者。但如果有一個蟲洞客戶端要作惡,故意給使用者一個假的合約結果,毫無疑問,礦工節點都會打包這個假的合約結果,但這個作惡的客戶端無法阻止使用者去訪問別的客戶端的獲得正確的結果的,礦工節點也不會拒絕打包這些正確的結果。使用者就可以透過更換客戶端來獲得正確的結果。這和以太坊是一樣的,以太坊節點也是可以欺騙連在它上面的輕錢包的,但節點是無法偷錢的,使用者只需要將私鑰匯入到另外一個錢包,就可以獲得正確的餘額。

有沒有可能一個蟲洞客戶端和礦池合作,來完成詐騙呢?這個類似於礦池節點整合了蟲洞客戶端。同樣不可能,因為其他這個作惡的蟲洞客戶端發出的錯誤結果,確實是會,但和上面第一種,礦池節點不敢冒自己區塊被孤立的風險去雙花掉對的合約結果,只有對的合約結果被其他礦工記錄在區塊上,使用者的資產就可以換一個錢包就可以在鏈上讀取出正確的結果。

最後,有沒有可能所有的蟲洞節點都來作惡呢?那就是遇到詐騙集團,和設計一個詐騙合約一樣的。這和以太坊上的合約也是一樣的,以太坊可以設計一個詐騙合約,騙所有人的錢。

4章 比特幣現金的主鏈+二次網路的架構的優點

比特幣現金這種在主鏈託管程式碼,但不執行,在二層網路節點上執行的做法,不會對主鏈造成巨大的壓力這樣主鏈就可以保證非常大的可擴充套件性。

而且在二次網路本身,各個合約之間是沒有關聯的,也無須關聯,這樣二層網路上的合約是可以無限擴充套件的。

就目前以太坊的架構,我們很難想象,在主鏈上可以同時執行10萬個合約,但使用比特幣現金的二層網路架構,那可以執行無數個合約。

5章 如果我是對的或錯的,區塊鏈的未來是什麼樣子?

如果我們是對的,那以太坊帶來的區塊鏈作業系統,讓整個世界錯誤的在這個方向上走了四年多。

以太坊的成功,讓區塊鏈世界裡幾乎所有人都在追求創造各種新奇的區塊鏈作業系統,今年新擠進加密數字貨幣市值排行版前20的,eos,cardano ada,波場,小蟻Neo,都是區塊鏈作業系統,還有排行更後一點的。

比特幣現金提出的二層網路智慧合約平臺,終於給區塊鏈世界帶來的一點新的希望。如果我們是對的,那未來比特幣現金將會佔據整個加密數字貨幣市值的大部分份額,大量的區塊鏈業務會遷移到位元處現金網路上來,形成巨大的網路協同效應。

如果如果我是錯的呢?我並沒有100%的信心說我這套邏輯肯定是對的,因為太多的人不同意我的說法,他們也都是一些牛逼的人,聰明的人,很多人也是本著改變世界的心態來參與,而不是跑來騙錢的。他們這些人甚至有大量的海歸,說著流利的英語,博士學位,寫的程式碼都是牛逼的演算法,……

但如果真的是我錯了,那區塊鏈的世界應該是這樣的:各種鏈非常多,各條鏈都會佔據部分市場,而在所有這些鏈的頂端,會存在另外一種特殊的鏈,跨鏈的鏈。閃電網路,中繼,側鏈,都是擁有跨鏈的功能,現在最火的跨鏈的專案包括cosmos,波卡,閃電網路,都是試圖在各種鏈上完成銜接作用,在跨鏈協議上形成網路效應。

6章 結束語

我們需要的是一個主鏈可以無限擴充套件的笨協議,配上二層網路來實各種的智慧終端的區塊鏈。只要比特幣現金的主鏈可以無限擴充套件,區塊可以是32M,64M,128M,……,1G,32G,比特幣現金的笨協議加上智慧終端必然改變世界。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;