摘要

Bitcoin Cash (BCH)在區塊高度 478,558 上產生,一直致力於爲世界帶來一種可靠的電子現金,履行最初的比特幣作爲「點對點數字現金」的承諾。其具有全球無縫流通、無許可(Permissionless) 創新等特點。在 Bitcoin Cash 如何實現發行通證(Token),衆多的開發者已經有過不少的研究,比如染色幣的方案 Colored-Coins,之後 Andrew Stone 提出了 Enable representative tokens via OP_GROUP on Bitcoin Cash,提議增加 OP_GROUP 的操作碼來實現發 Token 的方案。OP_GROUP 方案需要修改 Bitcoin Cash 的共識規則纔可以實現。更具體地說,類似於在 Ethereum 網絡上廣受歡迎的 ERC20 協議所具備的那些功能。

凡是需要更改共識才能實現的通證發行技術提議,都不可避免地會遇到問題。首先是技術上的風險,其次是對這種風險的顧慮常常引發技術開發社區甚至整個經濟生態都陷入巨大的爭議。爭議中的反對方,其顧慮很可能也確實是真實的。不論這樣的爭議中誰對誰錯,結果常常是有爭議的提議無法被實現。這樣的困難可以被視爲一種保險機制,讓具有的風險更改很難被添加到協議之中,保證協議的穩健與安全;但是,協議的創新就面臨了着巨大的困難。導致了 Bitcoin Cash 社區獨立的區塊擴容大爭論,曠日持久而沒有共識的產生,就是一個更加令人不能迴避的社會心理學證據。

快速活躍的創新,需要一種無需許可的環境。我們也一直在探索無許可創新的方法,在不需要改變共識的情況下,在 Bitcoin Cash 的區塊鏈上實現智能合約。經過研究,我們關注到了 OmniLayer 協議,它是一種利用 OP_RETURN 操作碼實現通證發行的方案。這個方案是廣受歡迎的泰達幣(USDT)日常發行和流通的技術基礎。Omni Layer 是運行在 Bitcoin 的區塊鏈之上的。Omni Layer 協議採用了 MIT 開源許可證。我們 Fork 了 Omni Layer 的協議,在 Bitcoin Cash 的區塊鏈上實現了發行通證的技術方案。我們將這種技術方案命名爲 Wormhole 協議,協議中的原生代幣命名爲 Wormhole Cash。

術語

  1. OP_RETURN Bitcoin Cash 中的操作碼之一,包含這一指令的交易輸出是不可花費(Unspendable) 的,節點可以安全地將其移出 UTXO 集合,從而不會影響 UTXO 集合的總體積。在 2018 年 5 月最新的 BCH 協議升級之後,可以用來存儲 220 字節的元數據。
  2. Wormhole 協議 基於 Omni Layer 協議實現的,在 Bitcoin Cash 區塊鏈上實現智能合約的協議規範
  3. wormhole cash Wormhole 協議中使用的基礎貨幣,簡寫”WHC”。

原理

Wormhole Cash 是基於 Bitcoin Cash 區塊鏈實現的,依附於 Bitcoin Cash 區塊鏈,在不改變現有 BCH 共識規則的情況下,使得 BCH 區塊鏈實現通證的發行、轉移和燃燒等基本功能。

交易的元數據信息被寫在 OP_RETURN 上。基於 Wormhole 協議的通證,其生成、轉移以及燃燒都需要通過 Bitcoin Cash 交易完成。識別 OP_RETURN 裏的數據才能夠完成對於 Token 的發行,轉移和燃燒。

Wormhole 協議 複用了 Bitcoin Cash 的交易轉賬系統,它需要識別 Bitcoin Cash 區塊鏈上的交易、地址以及 OP_RETURN 等數據。

Wormhole 協議 是 Bitcoin Cash 網絡共識的一個超集,它識別的元數據在 Bitcoin Cash 區塊鏈的共識協議中只是 OP_RETURN 數據,而 Bitcoin Cash 的共識規則不用理解 OP_RETURN 內的數據。

實現

Wormhole 協議 協議的實現,是通過集成到 Bitcoind 中實現的。但是 Bitcoin Cash 本身的共識規則卻不需要做出改變,集成了 Wormhole 協議的 Bitcoind 客戶端,被稱之爲 Wormhole 客戶端。運行 Wormhole 客戶端的節點就能夠識別出 OP_RETURNWormhole 協議

安全和共識規則

Wormhole Cash 的安全有兩層保護。

第一層是 Bitcoin Cash 的交易安全,Bitcoin Cash 採用 POW 的挖礦算法作爲去中心化的時間戳服務器,該算法已經穩定運行將近 10 年,UTXO 模型有以下的一些好處 :

  1. UTXO 無需維護餘額
  2. UTXO 是獨立的數據記錄單位,可以提升驗證交易的速度
  3. UTXO 模型無需關心事務問題,只關係鎖定腳本和解鎖腳本
  4. UTXO 在處理交易的時候具有很高的性能

Wormhole 協議 複用了整個 Bitcoin Cash 中 UTXO 的安全模型,使用了 Bitcoin Cash 的去中心化時間戳服務器模型。

第二層保護是運行 Wormhole 協議 的節點,不符合 Wormhole 協議 的數據不會被 Wormhole 協議 的節點解析,每個節點都有能力通過重新解析交易數據,計算出 Wormhole Cash 的最近的合法最終狀態。

Wormhole Cash (WHC)

Wormhole Cash(WHC) 是 Wormhole 協議中的基礎貨幣,之所以引入 WHC 是因爲:在 Wormhole 協議 中實現智能合約的時候 Wormhole 協議層 是不能控制 Bitcoin Cash 的,這樣就無法在 Wormhole 協議層中實現事務。而且在實現智能合約的時候需要引入 Gas 作爲針對網絡濫用的防護措施,也需要 Wormhole 協議存在一種原生基礎貨幣。

WHC 的生成

WHC 通過燃燒生成 (Proof-of-Burn) 的機制生成出來的,持有 BCH 的用戶可以在 Wormhole 協議正式上線之後,給 bitcoincash:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqu08dsyxz98whc 地址發送最低 1 個 BCH 來生成 WHC 且包含燃燒信息。如果發送的 BCH 數量低於 1BCH 或者沒有包含燃燒信息,那麼將不會有任何的 WHC 被生成。這個燃燒生成的過程受制於 BCH 區塊鏈發生回滾的風險,出於安全考慮,協議約定需要在 1,000 個確認之後,纔可以動用生成的 WHC。燃燒生成的兌換比例是,每 1BCH 的燃燒生成 100WHC。

根據已知的密碼學理論和工程實踐經驗,bitcoincash:qqqqqqqqqqqqqqqqqqqqqqqqqqqqqu08dsyxz98whc 地址是沒有人擁有私鑰的。在我們開始有關 Wormhole 協議的開發工作之前,也沒有人在 Bitcoin Cash 區塊鏈的歷史中使用過該地址。爲了防範理論上存在的極端情況——未來有一種我們目前未知的方法和理論構建出了這個地址的私鑰——BCH 協議可以考慮禁止這個地址的幣被轉出用於花費。當然,這並不屬於本文和本文作者需要關注的事項範圍。

WHC 發行後,如果 WHC 形成了一個流通市場,那麼有需要 WHC 的用戶,也可以從市場上購買到 WHC。

爲什麼沒有考慮實現與 BCH 的雙向錨定呢?這個問題自從側鏈理論被提出後,無數的工程師醉心於雙向錨定問題的研究。但令人遺憾的是,目前並沒有可行的雙向錨定方法, 可以做到即安全又去中心化,還能夠有效應對區塊鏈不可避免的回滾風險。伊隆·馬斯克(Elon Musk)在討論有關星際旅行時就說,他移民去往火星,就打算待在那裏不回來了。Wormhole 協議實現了智能合約,具有與 Bitcoin Cash 較爲不同的編程語言,未來還有快速演進的開發計劃。這種燃燒生成的發行方式,與星際旅行的單程票非常相似。每一聰(satoshi)被燃燒的 BCH,都需要做好單程星際航行的準備,前往 Wormhole 定居,不再回來。

燃燒生成 WHC 的過程是不設截止時間點的。

WHC 的使用範圍

手續費常常是爲了防止對網絡的濫用,或者網絡的使用超過了當前技術和區塊鏈基礎設施允許的性能瓶頸。Wormhole 協議中,智能合約的運行,依靠 Bitcoin Cash 交易實現。Bitcoin Cash 交易本身需要支付一定的手續費,已經可以阻遏 DoS 攻擊,因此我們在早期運行的 Wormhole 協議中,轉賬不需要支付 WHC 做爲手續費。

需要支付 WHC 作爲手續費的情況:

  1. 新創建 Token 需要收 1WHC 的手續費。手續費會被直接燃燒掉,WHC 的總供給減少。創建 Token 需要消耗計算資源,爲了防止 Wormhole 節點被惡意攻擊,才收取 WHC 手續費
  2. 大量地址轉賬。例如給所有擁有某種 Token 的地址都發送 Token,這樣的操作需要遍歷所有的地址,因此需要支付 WHC 做爲手續費
  3. 智能合約的 Gas
  4. 其他事務性操作,或者其他被認定爲具有 DoS 風險的操作類型。

Token 的發行

支付了正常的 BCH 交易手續費和 WHC 創建費用之後,任何人都可以自由的在系統上創建 Token。

目前,WHC 協議支持 3 種類型的 Token 創建:

  1. 固定 Token
    1. 創建後,創建者立即自動擁有所有 Token
    2. 不能增發,不能燃燒
    3. 不能發起衆籌
  2. 可衆籌 Token
    1. 創建後,自動進入衆籌
    2. 創建後,創建者不擁有所有 Token
    3. 衆籌結束後,未衆籌完的 Token 自動轉到創建者地址
    4. 不能增發,不能燃燒
    5. 可管理 Token
    6. 創建時,Token 數量爲 0
    7. 不能衆籌
    8. 可以增發,可以燃燒

Token 的轉移

創建後的 Token 和 Wormhole Cash 都可以進行轉賬,1 對 1 轉賬除支付必要的 BCH 交易手續費外 , 不需要再支付任何費用,由 BCH 協議決定手續費多少。

1 對多轉賬需除支付必要的 BCH 交易手續費外,還需要支付一定的 WHC 手續費,以 WHC 計價和收取。1 對多轉賬主要在 Token 空投的場景下使用。收取的 WHC 手續費將會直接燃燒掉。

Token 的燃燒

手動管理的 Token 支持直接燃燒,燃燒之後的 Token 在 Wormhole 協議中會顯示燃燒之後的總量

Wormhole 路線圖

Wormhole 協議的發展分爲四個階段:Earth(初始)、Tropos(融合)、Ionize(電離)、Exophere(散逸)

Earth(初始)

Wormhole 協議從 Omni Layer 協議分離,並在 BCH 上實現智能合約的解決方案,首先聚焦於去中心化通證發行管理功能的實現。

爲了確保整個協議的安全,並且可以儘快上線,我們在這個階段暫時不支持了 Omni Layer 協議中的去中心化交易功能。

Earth 階段需要完成的工作 :

  1. Wormhole Core 實現:將 Token 功能移植到 Bitcoin ABC 0.17.2 版本上 , 後續會隨着 Bitcoin ABC 的更新而更新
  2. 發佈 Wormhole 協議白皮書

預計完成時間 2018 年 8 月

Tropos(融合)

需要完成的工作 :

  1. 基於 Wormhole 協議實現的去中心化交易所協議在經過謹慎的測試之後重新上線
  2. Wormhole 的 Android 錢包參考實現
  3. Wormhole 的 iOS 錢包參考實現
  4. Wormhole 的 PC 端錢包參考實現

預計完成時間 2018 年 11 月

Ionize(電離)

需要完成的工作 :

  1. 在 Wormhole 協議中實現 ERC721
  2. 開發 Wormhole 多語言實現 SDK。爲了方便開發者更加簡單的在 Wormhole 進行開發,我們會提供解析 Wormhole 的多語言 SDK。
  3. Wormhole Cash 的冷錢包解決方案

預計完成時間 2019 年 1 月

Exophere(散逸)

需要完成的工作 :

  1. 無需許可的智能合約。Omni Layer 本身不是一種無許可創新的機制。任何新型的合約類型,都必須被合併到程序代碼之中才能夠被識別。我們會在 Exophere 階段,實現無許可的智能合約平臺。也就是說,在遵守維護協議安全的必要規則後,任何開發者都可以發佈智能合約到網絡中運行。
  2. 實現 Plasma 協議,實現擴容。我們在內部研究中,可能已經發現了一種有效的 Plasma 實現方法,我們在進一步研究之後將可能將其實施。與此同時,Vitalik 也在 Twitter 上宣佈他們發現了一種 Plasma 的實現方法,我們屆時也可以考慮採用 Vitalik 即將發佈的實現方法。
  3. 新一代的智能合約虛擬機。Solidity 作爲將智能合約這一古老概念變爲實現的編程語言,受到了計算機專家的廣泛審視。近些年也有更好的想法被提出來。我們將考慮開發一些新型編程語言的虛擬機,讓最有效率、開發者基礎最廣泛的計算機語言被用於構建 DApps。

預計完成時間 2019 年 6 月

總結

首先要感謝 Omni Layer,他們在 USDT 上的廣泛應用,讓我們看到了基於 Bitcoin Cash 可以做到更多的事情。Omni 協議是一套非常完整的協議實現,它完全利用了 UTXO 模型的特點,在不更改共識和協議的情況實現 Token 的管理。在我們開發的過程 Omni 團隊也給予了很多的幫助。同時,Omni Layer 也秉承了開源運動的精神,採用了 MIT 許可證,是我們可以實現無許可創新的重要基礎。
智能合約的缺失一直是基於 UTXO 模型的公鏈的一大弱點,Wormhole 協議可以在完全複用 UTXO 的安全可靠等特性的情況下,也可以實現智能合約,Wormhole 協議將會給 Bitcoin Cash 帶來更多的可能性。

文檔歷史

  1. Version 0.1 WormholeCash 第一期完成的內容 2018-05-23
  2. Version 0.2 WormholeCash 路線圖 2018-06-20
  3. Version 0.3 WormholeCash alpha 版本 2018-07-15

參考文獻

[1] Satoshi Nakamoto. Bitcoin: A Peer-to-peer Electronic Cash System.
https://bitcoin.org/bitcoin.pdf,Oct 2008.
[2] OP_RETURN https://en.bitcoin.it/wiki/OP_RETURN
[3] OmniLayer https://github.com/OmniLayer/spec
[4] ERC20 Token Standard https://theethereum.wiki/w/index.php/ERC20_Token_Standard
[5] The Colored Coins Protocol https://github.com/Colored-Coins/Colored-Coins-Protocol-Specification/wiki
[6] Andrew Stone : Enable representative tokens via OP_GROUP on Bitcoin Cash https://github.com/BitcoinUnlimited/BUIP/blob/master/077.mediawiki
[7] ERC-721 http://erc721.org/

版權聲明:
by
nc"
sa
作者保留權利。文章爲作者獨立觀點,不代表巴比特立場。
發文時比特幣價格 ¥44944.20

來源鏈接:www.8btc.com