➡ 简

Bytom 比原鏈中文白皮書

Bytom 比原鏈

一個多元比特資產交互協議

摘要

Bytom Blockchain Protocol(簡稱比原鏈:Bytom)是一種多元比特資產的交互協議,運行在比原鏈區塊鏈上的不同形態的、異構的比特資產(原生的數字貨幣、數字資產)和原子資產(有傳統物理世界對應物的權證、權益、股息、債券、情報資訊、預測信息等)可以通過該協議進行登記、交換、對賭、和基於合約的更具複雜性的交互操作。連通原子世界與比特世界,促進資產在兩個世界間的交互和流轉。比原鏈採用三層架構:應用層、合約層、數據層,應用層對移動終端等多終端友好,方便開發者便捷的開發出資產管理應用;合約層採用創世合約和控對虛擬機做了優化,採用自省機制以防止圖靈完備中的死鎖狀態;數據層使用分佈式賬本技術,實現資產的發行、花費、交換等操作,共識機制採用對人工智能ASIC芯片友好型POW算法,在哈希過程中引入矩陣和卷積計算,使得礦機在閒置或被淘汰後,可用於AI硬件加速服務,從而產生額外的社會效益。

1 比原鏈的使命、目標與創新

1.1問題總覽

總的來說,信息革命極大的改變了我們生活的世界,純粹原子性構造世界的主宰地位正受到挑戰,在大數據奇點臨近和大規模計算能力提升的時代背景下,互聯網正面臨從“信息即權力”到“計算即權力”的過渡階段,而世界經濟結構與權力遷移更多的由比特信息構成。包含“負熵”信息流、比特流成為個人及企業、機構賴以生存運作的一部分。演進的路線逐步從早期的:

“比特工具”時代 :比特作為一種輔助性提高效率的產物,例如:excel表格、email郵箱;發展到後續的 “比特貨幣”時代 :比特形式存在、沒有物理載體及介質對應的價值符號例如:比特幣、以太幣以及各種公有鏈、聯盟鏈代幣;再到更加廣泛多元的 “比特資產”時代 :一切有價值,可交換的原子資產,例如現實經濟的收益權、股權、債權、證券化資產等, 都可躍遷到不可篡改、可追溯、信息對稱的區塊鏈分佈式賬本上,通過可編程智能合約與金融、博彩、保險等預測市場產生交互。然而,從原子世界出發購買一個軟件(比特工具)、數字貨幣(比特貨幣)都已經有成熟的軟件商店例如Appstore,交易所例如Coinbase,但對於多元化的比特資產的交易、交互卻並沒有一套完整的、行之有效的協議系統承載其交互。與以太坊、量子鏈等通用型智能合約平臺不同的是,比原鏈被設計為針對資產領域的專用型公鏈平臺,並試圖解決以下問題:

1.2 使命陳述

“我們的任務是連通比特世界與原子世界,建造起一個多元化資產的登記、流通的去中心化網絡”。

Bytom將極大的推動現有的價值屬性的比特信息、比特資產的交換、交互及流動。通過合約和配置,也將產生新的比特資產。Bytom還將以去中心化的形式、基於市場的管理協議去創造應用,並同時為本地和全球的比特經濟參與者提供獨特的激勵。Bytom作為一種媒介,已經充分準備好成為一個促成信息獲利的經濟體,一個信息資產效能的放大器。在未來,這些信息資產不僅會為現有的日常工作生活所用,也可以成為人工智能、物聯網設備的“數據食物”的提供者,以進一步加速其對原子世界的影響力。

1.3 核心目標

1.3.1 建造多元化比特資產登記的標準

Bytom旨在建立一個全球性開放的Byte Assets登記平臺。並讓創建和定義、 生成一種比特資產更加便捷,也更容易為用戶所理解。

1.3.2 建造多元化比特資產的交互工具

從最基本的資產的交換工具(不同形態的數字資產間按協定進行交換、所屬 權的變更)、Bytom還將支持較為複雜的交互形式,例如 : A. 觸發工具:資產依照合約規定的投票,產生確定性Y/N布爾結果或數值 結果,以激活原子世界的參與方共享數據集;

B. 預測工具:例如通過零和博弈,雙方或多方對賭,產生某場航班是否延遲、兩位候選誰將勝出的預測信息 ,將此預測信息用於現實世界的金融對衝、保險等領域。

1.4 主要創新

(1)與比特幣UTXO的設計兼容

比原鏈由三層組成:數據交易及傳輸層、合約層、資產交互層。資產交互層通過 調用合約來對資產進行操作,其中在在數據交易及傳輸層,兼容比特幣的UTXO模型 和交易數據結構,以實現高速併發和可控匿名。

(2)通用地址格式

比原鏈錢包的設計中將引入BIP32,BIP 43 , BIP44 1 理念,用 Hierarchical Deterministic Wallets (or “HD Wallets”)提供對多幣種、多賬戶、多地址、多密鑰的支持。BIP44提供了一種 5 層路徑建議:( 1 )確定路徑規則;( 2 )幣種;( 3 )賬戶;( 4 )找零;( 5 )地址索引。用戶只需要保存一個主私鑰,就能控制所有幣種、所有賬戶的資產錢包。BIP44對找零機制提供了很好的支持,用戶只要不用同一地址多次收款,就可以避免同一私鑰多次簽名,從而規避私鑰暴露的風險。

(3)支持國密標準

比原鏈的資產控制和操作中涉及到私鑰、公鑰、地址體系。傳統的比特幣代碼實現中基於橢圓曲線函數加密ECDSA和SHA256散列。在比原鏈中將進一步支持 國密SM2橢圓曲線公鑰密碼算法^2 和 SM3密碼雜湊算法^3 。在實現同樣的計算複雜度時,SM2在私鑰的處理速度上遠快於RSA、DSA算法,加密效率更高。SM3算法的壓縮函數與SHA- 256 的壓縮函數具有相似的結構,但是SM3算法的設計更加複雜,比如壓縮函數的每一輪都使用 2 個消息字。

( 4 )資產命名採用ODIN標識

鏈上資產的命名採用ODIN(Open Data Index Name)開放數據索引命名標準,利用區塊鏈透明可信、不可篡改特性,保障資產的全網、全鏈唯一性。與其它基於區塊鏈的標識解決方案不同的是,ODIN基於比特幣區塊鏈,支持擴展多級標識引入其它區塊鏈(公有鏈、聯盟鏈、私有鏈),不是以搶注字符串的方式,而是用區塊記錄位置作為標識名稱。

( 5 )人工智能ASIC芯片友好型POW算法

採用對人工智能ASIC芯片友好型POW算法,使得礦機在閒置或被淘汰後,可用於AI加速服務。比特幣礦機和人工智能深度學習具有可比性,它們都是依賴於底層的芯片進行大規模並行計算。深度學習算法絕大多數可以被映射為底層的線性代數運算。線性代數運算有兩大特點:一是Tensor的流動非常規整且可預期;二是計算密度很高。這兩大特點使得AI深度學習特別適合做硬件 加速^4 。比特幣礦機芯片歷經了CPU、GPU、FPGA和ASIC四個階段(圖 1 )。在CPU、GPU時代,挖礦門檻較低,家用臺式機或帶有獨立顯卡的筆記本都可以用來挖礦。隨著FPGA、ASIC礦機的面世,比特幣礦業的摩爾定律高速增長,目前礦機算力都達到了GH/S的級別,硅片加工精度已經從130nm提升至14nm,接近目前半導體技術的極限。但是,工作量證明機制被人詬病的是,礦機哈希計算的應用範圍太窄,基本只能用於挖礦,造成極大的硬件與能源浪費。

image 圖 1

如果我們在挖礦的哈希過程中引入矩陣運算與卷積運算,使得礦機對人工智能ASIC相對於GPU、CPU更友好,那麼,區塊鏈共識所需要的計算量同樣可以應用於AI硬件加速服務,從而產生較大的社會效益:一方面,礦機市場會刺激人工智能市場,擴大對深度學習ASIC芯片的需求,正如目前顯卡友好型PoW區塊鏈,對顯卡市場的促進作用;另一方面,被淘汰或閒置的礦機可應用於AI硬件加速服務,節省挖礦成本,形成雙贏局面。

( 6 )使用側鏈支持跨鏈資產交易及分紅

為對其他鏈上資產進行操作,在比原鏈上開發者可以創建一種小型版本的X鏈(其他鏈)中繼器XRelay,比原鏈上的Dapp開發者可以從智能合約向X鏈中繼器進行API調用,來驗證X鏈網絡活動,實現跨鏈通信。繼而在合約中完成交易和分紅操作。

( 7 )類“隔離見證”設計

比原鏈設計了一種多種資產可以交互的分佈式賬本協議。用該協議的多條鏈可以獨立的存在,並且可以跨鏈交易, 這樣不同的運營商可以相同的形式交互。堅持最小權限原則,其中比原鏈的區塊設計中將數據和見證(Witness)、簽名部分分離,以實現資產的管理和分佈式賬本同步控制相分離。實現了更好的可編程性和合約支持,並且為之後的旁路通道預留接口。

鏈協議允許任何網絡參與者通過編寫自定義“發佈程序”來定義和發行資產。一旦發行,資產單元由“控制程序”控制。控制程序是用圖靈完備的編程語言實現,該語言可用於編寫複雜的智能合約。

( 8 )增強的交易靈活性

BUTXO 與以太坊賬戶模型不同,可以並行驗證交易,只要用類似於nonce的機制保證每一個未花費outputs最多隻能被一筆交易所引用。此外,比原鏈支持超級輕客戶端,天然的比以太坊瘦,建立輕量級的世界狀態,參與者只需要記住未花費的outputs即可,因為交易會自帶其他相關信息(如資產ID,份額,控制程序)。比原鏈的另外一個特點是:compact 驗證,只允許客戶端驗證塊中所相關的交易,而不需要驗證所有的交易,只要信任簽名者的數量即可。整個過程是用Merkle證明,客戶端也可以將監視整個區塊鏈的任務委託給自己信任的服務器,區塊可以通過軟分叉的方式向前向後版本兼容。比原鏈不僅支持在實現本協議的區塊鏈間通信(但需要保證全局資產ID的唯一性:每一條分鏈是從另外一條鏈的塊高度分叉出去的,根據這點能保證資產ID唯一),也支持不同的協議的鏈互相交互,因為BVM提供了足夠多的指令。

2 平臺模型:三層結構

比原鏈將採用三層結構(圖 2 ):

i. 應用層:支持開發可編程的分佈式應用,調用合約進行資產的登記、銷燬和交易、分紅 ii. 合約層:賬戶體系、合約代碼支持 iii. 賬本層(數據層):無需許可的公有鏈層,POW共識

image 圖 2

2.1應用層面:

比原鏈提供多種形式的PC、WEB、移動端應用以方便調用合約進行資產操作。我們通過對區塊鏈底層技術的封裝,降低應用層面的使用門檻,為開發者、資產發行方提供更靈活、更友好的接口,使得開發者、資產發行方可以專注於商業模式與業務邏輯上的創新。

2.2合約層面: 合約層面設計

2.2.1創世合約

創世合約是比原鏈上一個特殊類型的合約種類,是可以發行並審核智能合約的合約,將由開發者將保留部分權限,例如私鑰、作用域等,並有一定的規範和自動化審計功能,以確保鏈上資產符合相應的規範和模版被登記和發佈出來。創世合約的底層實現,會調用到數據傳輸層中的發佈程序:Asset Issuance Program。

2.2.2普通合約

普通合約的功能有兩種,進行資產的交易和分紅的設置、認定,此類權限放開,每個合約相當於現實中的一個基金。如果合約中需要開發或引入一種新的資產,需要向創世合約提交請求,經審核通過後方能發佈到鏈上。普通合約的底層實現會調用到數據傳輸層中的控制程序:Asset Management Program。

2.3 賬本層(數據層)

在賬本及數據傳輸層面,比原鏈採用公有鏈上較為成熟的POW機制,並加以改進,採用對人工智能ASIC芯片友好的算法。並採用分區分片機制,加速交易處理的效率,同時保證數據的一致性。

3 比原鏈的主控程序與數據結構

這一部分主要運作在數據賬本層面^5

比原鏈的主控程序包含三個部分,分別是

3.1 多元化比特資產的發行

比原鏈將支持多種類型的數字資產。每種資產都將由一個資產ID進行標識,其中資產ID將是由一個 256 位 的字符串,區分不同的資產類型。根據不同資產Asset_ID,我們可以確立該類資產 所屬類型,並關聯到該類資產的:資產生成程序(Asset_Issuance_Program 專門負責生成新的資產單元)、資產操作程序(Asset_Management_Program 對接受到一組資產進行控制和操作)。比原鏈上運行有兩類資產:比原幣(Bytom Token,簡稱BTM)與資產(Assets)。

3.1.1代幣Token

比原鏈上的代幣即比原幣,是比原鏈上對於打包交易者以及系統參與節點分發的一種特殊類型的Token,採用POW機制,鼓勵隨機匿名的礦工參與到整個生態中,按照預定發行曲線分發而生成。

比原幣的主要用途有:

i. 資產交易的手續費; ii. 收益權資產的分紅; iii. 資產發行的押金;

以收益類資產的分紅為例,若資產發行方決定以比特幣作為分紅,可通過側鏈鎖定相應額度比特幣,按市場匯率轉化為比原幣,再發放至資產所有者的地址上。此過程由合約調用XRelay進行跨鏈操作完成,例如與BTC、ETH兌換分別通過 BTCRelay^6 、ETHRelay完成(圖 3 )。

image 圖 3

3.1.2 資產 Assets

比原鏈上的資產有三種類型:

i. 收益類資產:收益類資產包括電影、民宿等眾籌形式的收益權資產、地方政府固定投資的長期收益權、不良資產收益權等。 ii. 股權類資產:股權類資產包括非上市公司的股權、私募基金投資的股權、互聯網非公開投資的股權等,股權類資產的轉讓需要完成投資人資格認定。 iii. 證券化資產:證券化資產包括應收賬款、汽車貸款等未來能產生可預見現金流,通過結構化設計進行信用增級,在此基礎上所發行的資產支持證券。

3.2鏈上資產的交換

本節中我們將討論比原鏈的最基本的功能,即1.3.2 中描述的“資產交換”部分,這將在比原鏈的第一個版本中得以實現。

資產收益權、持有權、使用權等的交易:採用合約內部賬戶轉賬的登記形式。

資產的贖回:採用合約轉出比原幣的形式。

賬戶是比原鏈內部抽象出的概念,屬於合約層概念,每個賬戶在數據賬本層面將對應到一組BUTXO,該賬戶下所有BUTXO資產數目總和形成該賬戶的餘額。

以下為比原鏈數據模型的基本概念:

交易 Transactions

交易是比原鏈資產的一個基本的操作事務,它是一個含有輸入值和輸出值的數據 結構。

輸入Inputs

可以是一筆或多筆不同類型的數字資產,或是某筆交易的輸出;

輸出Outputs

確定了交易後資產結果,是一個資產操作程序,規定此項輸出的未來花費的方 式。

下圖(圖 4 )展示的是比原鏈上擴展的BUTXO,它對比特幣公鏈上傳統的UTXO結構進行了擴展,可以兼容多種類型的比特和原子資產。

image 圖 4

每個交易中的輸入部分必須是一組新生成的資產單元,或是之上一組BUTXO經過一經過資產操作程序運算返回的結果,這兩種輸入必須經由上面提到發行程序驗證通過。發行程序的驗證過程是可以向交易中的 驗證域(Witness Field)部分傳遞參數,然後驗證部分通過,則進行交易(圖 5 )。這一部分有些類似於比特幣公鏈 BIP141 提出的隔離驗證思想。

image 圖 5

例如資產生成程序和資產操作程序可以發起一個真實性驗證,給定一條消息,將消息生成Hash值,然後對此Hash值進行簽名。由簽名(signature)與Hash值,便可驗證此簽名是否由公鑰對應的私鑰簽名。

BUTXO

為了防止雙花,並增加交易的併發性和處理效率。比原鏈中引入了擴展的、支持多種資產類型的、一個交易的未花費交易輸出BUTXO (Bytom Unspent TransactionOutput ),它是比原鏈中一個交易的基本單位(圖 6 )。一旦一個交易使用了某一個特定的輸出,則其他交易不能使用相同的輸出。整個比原鏈都維護著一個全局的BUTXO池,所有的區塊的輸入其實都會關聯到現有的一個或多個BUTXO,一旦一個交易得到了確認,則這個交易中被使用的輸出則被銷燬池中移除,新的未經花費的BUTXO輸出則被加入。

image 圖 6

區塊

比原鏈中的一個或多個交易被打包到區塊這樣的數據結構中。其中,每個區塊的區塊頭中有上一個區塊的哈希,依次鏈接,以確保整個區塊組成的區塊鏈不可篡改。每個區塊中則包含有該區塊的所有的交易的哈希,以及現有狀態BUTXO的哈希快照。

這兩個哈希分別對應兩個默克爾樹(Merkle Tree)的樹根。通過這個兩個默克爾樹可以對交易和BUTXO進行簡化的判別和驗證。

3.3共識機制

為保證整個區塊鏈的交易數據安全性,區塊的生成需要遵守一定的共識程序(Consensus Program )。

一個安全的資產區塊鏈共識程序應包括以下屬性:
( 1 )驗證交易真實性:交易真實性驗證只與公鑰—私鑰對有關,單個參與者可以生成和使用多個密鑰對。

( 2 )不可否認性:事實發生後,參與方不能否認交易發生過;

( 3 )完整性:事實發生後,交易不能被篡改,交易一旦被創建,就被廣播到點對點網絡中。

按照 最小可行區塊鏈原理^7 ,交易需被打包成區塊,使得交易費用相對於資產本身的價值是低廉的;有效區塊需有效的工作量證明,使得工作量產生很難,但驗證起來很容易;工作量通過哈希現金算法實現,建立在能源成本之上,從而提高生成有效區塊的成本,使得惡意攻擊者難以承受攻擊的成本。由於比原鏈專注於做資產的區塊鏈解決方案,需要在多節點上達成較強的共識,整個系統不容易受到女巫攻擊(Sybil Attack)和51%攻擊,所以對 不可能三角^8 中的安全(全局一致性)、去中心化要求較高,一定程度上犧牲了高效。比原鏈在比特幣公鏈、以太坊公鏈所採用的POW機制基礎上,實現對人工智能ASIC芯片友好的共識算法,使得挖礦算力可以被應用於AI硬件加速領域,從而解決PoW機制的硬件消耗問題。

3.4 虛擬機(BVM)

Bytom的虛擬機是一個棧式狀態機:任何指令都在該棧中執行。BVM 的指令集是圖靈完備的,為了防止死循環,採用了run limit 來限制陷入死循環,協議允許網絡去達成共識設置該run limit,根據運行消耗來定價每一條一條指令的run limit。這非常類似於以太坊的gas機制,和以太坊不同的是BVM 不會在每筆交易中給run limit 計費。BVM 指令集包含了push, pop等基本指令集,同時還包括了SHA3,CHECKSIG,CHECKMULTISIG等複雜的數學加密運算。

自省功能

交易自省:可以在執行過程判斷是否超過預定的時間,也可以增加自帶控制程序,來對(價格,資產,運行過程, 索引)做一定自由控制。

區塊自省: 自省指令集(BLOCKHASH,NEXTPROGRAM),只能在共識程序中執行。

因為豐富的指令集,可以組合使用完成不僅僅是交易簽名和驗籤的功能。如:多重簽名,提前部署(比如類似微信紅包功能,A給B發送交易,需要B確認才能上鍊)CHECKPREDICATE 提供了強大的其它跨鏈功能,包括實現類似於BTCRelay的功能。

4 應用場景

4.1場景一 收益權資產管理

比原鏈可以用於收益類眾籌項目的管理。區塊鏈公開透明的特性,消除了眾籌發起、投資以及後續資金使用過程中的信息不對稱,降低了人們的信任成本。基於比原鏈提供的可編程接口,可以在眾籌資產發行時內置智能合約,真正做到資金的專款專用,讓投資人沒有後顧之憂。智能合約還可以保證:如果你沒有達成預定的目標,資金可以自動退回到支持者的賬戶。這些都不需要第三方背書和擔保,不需要給第三方支付佣金。通過比原鏈管理收益類眾籌項目的優勢有:( 1 )透明的規則和審計:當投資者使用基於比原鏈鏈技術支持的眾籌項目,會留下了永久不變的公開記錄,這個記錄不能被篡改,也不會丟失。這些資金的事後使用情況也同樣保存在一個任何人都可以獲取的公開透明的賬本中。這些特性提供了傳統支付手段和事後審計所不能達到的信任水平與安全水平。( 2 )更好的流通性:眾籌的支持者可以快速、簡單地將眾籌到的收益權在比原鏈上與其他人進行交易,交易可以通過去中心的點對點形式完成,業務通過比原鏈的擔保交易完成。

4.2場景二 非上市公司股權管理

非上市企業由於資金、利潤方面的限制,在股權、期權、資金、流程方面的管理往往比較混亂,股東名冊缺乏透明度與公信力,股權流動性差,股東難以通過投票使監督權。比原鏈為非上市企業提供股權登記和流轉平臺,所有股東信息在區塊鏈公示,從根本上達到確權的目的。企業可通過比原鏈降低股權、期權管理成本,期成熟計劃管理、協議的在線生成、授予、審批和簽署都可以通過智能合約自動執行律師在向企業提供法律服務後,可直接在比原鏈上完成簽章授予等操作;股東可通私鑰的簽名來遠程完成股東大會的投票;公司治理結構的變動可通過線上智能合約電子籤的方式完成,從而免去了繁雜的文書工作比原鏈還適用於私募基金管理。私募基金管理人使用比原鏈發行私募基金,在能合約中制定基金的資產審計、投資人回饋規則、回購規則、交易規則等,將使得個管理嚴格執行,公開透明。基金份額變得更易轉讓和交易,投資人可以放心的購長期股權投資基金,而無需擔心不時之需,通過比原鏈的交易轉讓系統,可以隨時基金溢價或折價轉讓。

4.3 場景三 證券化資產管理

資產證券化(Asset Backed Securitization簡稱ABS)是指將缺乏流動性,但具有未來現金收入的資產打包起來,建立資金池並通過結構性重組方式,將其轉變成可以在金融市場上出售和流通的證券。證券化有三個步驟:第一步是發起人把這個資產擴展隔離到特殊目的載體,第二步是把這個特殊目的載體的資產分拆份額,第三步是交易。傳統方式中,這個流程手續繁雜且效率低下。一般公司的證券發行,必須先找到一家券商,公司與證券發行中介機構簽訂委託募集合同,完成繁瑣的申請流程後,才能尋求投資者認購。而且證券一旦上市後,交易更是極為低效,證券交易日和交割日之間存在數天的時間間隔。而區塊鏈產生後,ABS可以簡化為三個步驟:一是確權對應;二是代幣化,把資產分割成貨幣或token;三是智能合約的交易。通過比原鏈管理證券化資產,可極大的提高ABS資產運作的效率、安全性和可追溯性,實現交易數據的安全存儲,保證信息不可偽造和篡改,並自動執行智能合約。ABS交易過程中所有市場參與者,通過分佈式賬本和共識機制保持資產登記與交易信息的同步,有效解決了機構間費時費力的對賬清算問題。

參考文獻:

(^1) BIP44 https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki

(^2) SM2橢圓曲線公鑰密碼算法 http://www.oscca.gov.cn/News/201012/News_1197.htm

(^3) SM3密碼雜湊算法 http://www.oscca.gov.cn/News/201012/News_1199.htm

(^4) 王逵 《CPU和GPU雙低效,摩爾定律之後一萬倍》 http://dwz.cn/67GUGv

(^5) Chain https://chain.com/

(^6) BTCRelay http://btcrelay.org/

(^7) Ilya Grigorik《最小可行區塊鏈原理》 https://www.igvita.com/2014/05/05/minimum-viable-block-chain/

(^8) 長鋏《不可能三角:安全,環保,去中心化》 http://www.8btc.com/impossible- triangle