如果比特幣有了智慧合約......

買賣虛擬貨幣
11 月 16 日,波卡生態技術流專案 ChainX 即將釋出全球首個比特幣智慧合約平臺。這將帶來什麼樣的改變?比特幣的智慧合約可以做什麼呢?PolkaWorld 特地請到了 ChainX 核心開發 Aten 來為大家解答。1、比特幣作為一種加密貨幣,為什麼需要合約功能?簡單交易它不就可以嗎?這是個好問題,其實我們可以來回顧一下比特幣的交易和普通轉賬交易有什麼區別。實際上比特幣的交易並不是A轉賬給B這一條記錄這麼簡單,比如銀行,支付寶轉賬,就是A->B的轉賬記錄。但是實際上比特幣在A和B之間的轉移,本質上是達成了一個條件才轉移的。這個條件可以設定成多種多樣。稍微對比特幣技術有了解的人應該知道,比特幣交易的構成要由上一筆交易的txout和這筆交易的txin匹配後才是合法的,因此這裡的txout中含有的可以相當於是一個問題的謎面,而txin含有的就是這個問題的謎底。只是大部分情況下txout中的謎面會設定成公鑰(或地址),而轉賬提供的txin的謎底是簽名。顯然,這裡的謎面和謎底可以設計成多種多樣,比如設計成一個問題的答案,或者某種特殊的條件,亦或者存在一定邏輯的程式碼。
這實際上在我看來是比特幣給交易系統所帶來的一個革新,也就是比特幣指令碼。更詳細可參考我寫的這篇文章:https://zhuanlan.zhihu.com/p/27512347這種比特幣的指令碼“自動化”地執行著一段程式碼,使得交易的過程能夠去第三方的自動化處理一些邏輯。但是由於比特幣指令碼過於簡單且底層,並且在utxo模型下,所以大家目前看到比特幣指令碼並非這麼廣為人知,也沒有產生很多奇妙的運用。因此從以太坊開始提出了在狀態模型下的圖靈完備智慧合約體系。在這個體系下,utxo模型的指令碼在功能實現上屬於狀態模型智慧合約體系的一個子集,因此透過智慧合約體系可以完成遠超比特幣模型下可以完成的事,也是目前Defi、通證經濟等概念的基石。正是由於智慧合約的能力,可以給比特幣帶來新的運用場景,能在去中心化的體系下做到更廣泛的事情。2、智慧合約可以給比特幣帶來什麼?我認為有以下兩點:
1. 使得比特幣更智慧化正如剛才提到的,若只能交易,則只能完成價值轉移,但是沒法 “智慧地” 完成價值轉移。但是比特幣指令碼功能有限,現在用的稍微複雜一些的場景就是多重簽名,或者設計一些謎題。要是想實現抵押借貸、投票、拍賣等等一系列在以太坊中出現的場景是不可能的。2. 更好的發揮出比特幣的價值屬性一個東西的真正的價值要體現在流通上,只有流動才能帶來真正的價值。正如假設你有100塊錢人民幣,如果你不花出去,只是拿在手上,那它就是一張廢紙。只要當他真正交換給其他人,流動出去的那一瞬間,才會產生它真正的價值。也就是說錢這個東西,只有花的(流通的)時候才是錢。而智慧合約就是提升流通性很重要的一種手段,因為智慧合約比起比特幣指令碼能夠賦予的功能不是一個級別的。對於已有的,可以把以太坊上實現的東西拿過來在比特幣這邊再實現一遍,對於未來,可以設計出更豐富的Dapp應用。3、我們已經有以太坊的智慧合約,為什麼還需要比特幣的智慧合約?共識是一個很神奇的東西,它代表著大部分人的意志。正如目前雖然以太坊比起比特幣能做更多的事情,但是比特幣的市值就是遠超以太坊。因此比特幣和以太坊兩者所代表的價值符號是完全不一樣的,在“共識”未發生顯著變化的情況下,其背後代表的價值的符號就是顯然不同的。這就是為什麼比特幣才是“真正的共識”,而以太坊從未持有過這一名聲。因此我的第一個觀點就是,以太坊和比特幣其在共識上的價值是完全不一樣的,但是以太坊有比特幣沒有的東西,而區塊鏈又是一個個價值孤島,因此就要把以太坊好的東西拿過來在比特幣上用。
第二個觀點是當前鏈之間分工越來越明確,譬如BTC發揮數字黃金作用,流入其他鏈作為基礎貨幣發揮價值儲存作用,Libra可以進入其他鏈平臺發揮交易媒介作用,Zec可以幫助其他鏈增強隱私功能,以太坊提供了智慧合約,鏈和鏈之間可以有所分工,各自專注於專業化和垂直化。但是作為本幣的價值在流動到別的鏈上時要經過交易所,總歸是會帶來各種麻煩的。因此若直接給比特幣賦予了智慧合約,則跳過了中間價值轉換的過程。從商業角度,比特幣依然擁有最大的商業慣性力量。它在加密生態中的市場價值、流動價值、商業價值、使用者基礎等方面依然無法替代。我的第三個觀點是比特幣模型截止目前為止沒有太大的變化,因此需要給比特幣注入新興的力量。而智慧合約正是給比特幣賦予新的力量的一種方式。這要是調動起比特鏈報使用者的方式。4、比特幣的智慧合約跟以太坊的智慧合約有什麼區別?如果是模型上的話,我們ChainX這邊實現的智慧合約在模型上和以太坊沒有特別大的差距,都是基於狀態模型的智慧合約。不過在實現上以太坊的EVM使用的是以太坊的指令集,在效率上有一定折損,我們使用的WASM。在合約編寫上solidity限制很多,稍微複雜的合約就不是很好編寫。目前我們這邊使用的是Rust編寫合約,整體情況好得多。5、ChainX 是怎麼實現比特幣的智慧合約功能?跟 Substrate 有什麼關係嗎?要分以下幾步說明
1. 比特幣到ChainX鏈上2. ChainX上具備合約的功能3. 把比特幣引入到合約模組中其中我們ChainX已經透過輕節點加信託託管的方式實現了第一步,也就是ChainX鏈上的X-BTC。因此實際上ChainX透過比特幣跨鏈的方式已經把比特幣Relay到了ChainX上,也就是把比特幣的價值流通到了ChainX上。ChainX已經能讓比特幣2s轉賬而不是等到10分鐘成為了現實,實現了秒級轉賬。第二步是在ChainX上增加智慧合約的功能。我們的智慧合約採用的是的Substrate的WASM合約模組,並在其基礎上進行更改裁剪,增加一些功能。Substrate的合約模組設計了一個rent的儲存租賃模型,但是這個模型使用起來有很多困難,而且對使用者很不友好。我們移除了它。其餘部分,我們更改了一些Substrate的底層,使得在ChainX鏈上能夠與Substrate合約模組很好地相容。第三步我們考慮了很多,本身Substrate的合約模型就是隻支援單資產,而ChainX主打的是多資產方案。因為我們綜合考慮開發者的接收度、修改合約模組的難度、工具的成熟度等方面,目前提出使用將ChainX的資產轉換為ERC20資產的方案。也就是說我們將會在合約平臺中設立一個ERC20 Token,代表比特幣,使用者可以將自己的比特幣和ERC20 Token 比特幣互相轉換。
使用者持有X-BTC,可以發起一個交易,將自己的X-BTC轉換為合約模型中的ERC20的BTC。而只要向ERC20合約發起一個合約呼叫,就可以把ERC20的Token置換為X-BTC。這裡採用ERC20的方案主要還是考慮開發者的便捷。因為之前以太坊合約的開發者很多,他們操控資產的方式都是與ERC20的Token進行對接,因此我們將合約中的比特幣設計成ERC20的介面,就可以讓開發者以比較低的學習成本接入我們的合約平臺。6、閃電網路也是比特幣上的一種智慧合約,跟 ChainX 提出來的智慧合約有什麼區別?呃首先閃電網路不是比特幣上的智慧合約,它是把比特幣質押到近似中心化系統中交換,以達到快速轉賬。相當於剛才我提到的第一步。而像RSK(rootstock)、WBTC、TBTC這些和我們才比較像。這些專案有一些和我們相似,一些差別比較大。RSK的智慧合約看起來像是EVM改過來的,然後是pow挖礦,而我們用的是wasm,是pos,出塊速度也比它快;TBTC設計上高度複雜,探索了資產跨鏈技術在去中心化和安全上維度上新高度,但易用性上極其反人性;WBTC是雙向託管方案,而我剛才介紹過,我們是單向輕節點Relay,單向託管,性質也不一樣。具體而言,對於他們之間的比較可以看這篇文章:
https://github.com/toxotguo/thinking/blob/master/%E6%B5%85%E8%B0%88%E8%B5%84%E4%BA%A7%E8%B7%A8%E9%93%BE.md7、哪些應用可以基於比特幣智慧合約來開發?第一個是目前以太坊上開發過的合約都可以移動到ChainX上做一次,因此比如遊戲、拍賣、競猜等都可以,這些參照以太坊的合約應用發展即可。另一方面,Defi也是一個非常熱門的點。因為本身如果只是Defi在其他平臺上話,沒有很好的價值屬性,而在ChainX上,一方面可以使用pcx的價值,而另一方面就可以使用上比特幣的價值,會能給Defi的很多方案帶來真正的價值。比如新興的借貸、質押等等。8、ChainX 比特幣智慧合約測試網大概什麼時間釋出?接下來怎麼幫助開發者來進行比特幣智慧合約的開發?我們目前將會在11月16日釋出ChainX的合約測試網,這個測試網預期將會整合好ERC20的比特幣方案。當然後續根據開發者的反饋我們也可能採取其他的比特幣整合方案。但是總之ChainX上有比特幣,然後ChainX上有合約,那麼只要結合起來就可以。我們在11月16日將會展示一些合約開發的細節,同時在釋出會上會展示幾個用ChainX合約開發的Dapp應用作為案例,並放出相應的文件,包含除錯節點,合約開發,合約開發案例,合約部署工具等等,對於這個新的測試網,我們也會提供對應的瀏覽器,api,錢包等。同時我們ChainX版的MetaMask也會在不久後放出,與合約開發者聯動。

免責聲明:

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

推荐阅读

;