為了更加穩定地執行合約,我們構建獨立 LVM 模組,其結構如下:
LVM 包含四個模組。合約透過使用者控制檯(Console-User),以命令列的形式進行編寫。Cli(Command Line Interface)是合約命令列的處理模組,負責接收,並將輸入傳遞到中間層,還負責將底層處理完的結果反饋給控制檯。RPC(Remote Procedure Call)模組負責接收來自區塊鏈網路的 Lua 執行請求,並將請求傳送到中間層,待合約執行完成之後將結果返回給區塊鏈網路。中間層(Mid-Ware)負責將 Cli 和 RPC 傳來的命令和請求同步傳遞給底層的Lua編譯器和執行器進行編譯,執行。並將編譯執行結果返回給Cli或RPC。Lua 編譯執行器(Lua Compiler & Actuator)負責編譯,執行 Lua 執行環境,接收和執行Lua 指令碼,並將執行結果反饋給中間層。
一個活躍的區塊鏈網路,合約呼叫非常頻繁,為確保合約能夠穩定而高效地執行。LVM有兩個設計原則:一是儘可能縮短程序啟動和關閉時間;二是任何操作在不同節點不同時間每次呼叫的結果必須一致。除 Lua 外,LVM 還將支援 C#,Java,solidity(以太坊的合約編輯語言)等高階語言的編寫,使不同平臺的開發者都能夠參與進來。
2. 共識機制
由於分散式的特點,區塊鏈需要共識機制才能正常運轉。目前廣泛應用的共識演算法主要有 : 工作量證明(PoW:Proof of Work), 股權證明(PoS:Proof of Stake),實用拜占庭容錯演算法(PBFT:Practical Byzantine Fault Tolerance),委任權益證明(DPoS:Delegated Proof of Stake)。從安全實用考慮,Achain 選取 DPoS,並在其基礎上改進得到 RDPoS 共識機制。
RDPoS 不僅繼承了 DPoS 的優點——不需要消耗額外算力即可實現產塊後的權益分配,它還能會根據網路的交易狀態動態決定由代理或全體節點驗證智慧合約的執行結果。
Achain 作為公有鏈,形成社羣共識離不開經濟手段——Token 的支援。持有 Token不僅可獲得合約釋出、網路分叉等區塊鏈基礎服務,還能參與投票,成為代理節點提供服務獲得 Token 獎勵。Achain 把這種 Token 命名為 ACT,每一個 ACT 持有者稱之為權益人,根據 ACT 持有數量分配相應的投票權重。代理節點由權益人投票選出。票數最多的前99 個代理依次輪流驗證交易,順序由所有代理節點共同決定,並保證無法被篡改。代理正常工作可以獲收益,反之工作異常或不工作,則會受到懲罰。
從理論上看,RDPoS 相比 DPoS 可進一步提升網路交易能力。比如:對於某些執行時間較長、或內部狀態空間佔用較大的智慧合約。代理僅打包結果交易的 Hash 值, 而由所有節點自行驗證該 Hash 值 。在滿足智慧合約被快速驗證的同時,也減少了整個網路的擁塞。此外,我們在共識演算法上做了一些最佳化,避免代理節點固定不變,避免逐漸衍變為中心化的網路。
3. 賬戶模型
在區塊鏈網路中,賬戶地址是為了安全交換而設計出來的方案,其中的賬戶、公鑰、私鑰生成過程存在如下關係:私鑰—>公鑰—>賬戶地址,這三者都使用了安全雜湊演算法(Secure Hash Algorithm,簡稱 SHA),可確保足夠的安全。雜湊是資訊的提煉,通常其輸出要比輸入小得多,且為一個固定長度。以目前的技術手段,加密性強的雜湊一定是不可逆的。即透過使用者的賬戶地址,無法推匯出使用者的私鑰資訊。私鑰、公鑰、賬戶的具體的生成過程見如下流程:
按照賬戶地址的位元組長度,可分為兩類賬戶,主賬戶和子賬戶。
主賬戶長度為 35~36 個字元,子賬戶長度為 67~68 個字元。子賬戶是在主賬戶後加上 32 個隨機字元生成的,只要子賬戶前 35~36 個字元完全一致,可認為它們都從屬於同一個主賬戶。這樣的賬戶結構,可擴充套件其交易效能。即從屬同一個主賬戶的子賬戶可以在同一時段內並行交易,而不用擔心“雙花”問題。另外,子賬戶的設計可以節省賬戶開銷和管理,這一設計主要用於交易所的賬戶設立和分配。
Achain 使用了 Account 模型而非比特幣的 UTXO 模型(Unspent Transaction Output)。儘管 UTXO 設計非常巧妙,支援多筆交易並行,且賬戶隱私保護相對較好。但是,比特幣的賬戶設計是面向交易的特定設計,要基於 UTXO 實現智慧合約是非常困難的。而 Achain 生態中的智慧合約,往往需要條件、狀態來觸發資產交易,因此 Achain 最終選擇了 Account 模型。
4. 分叉網路
引用以太坊基金會董事會成員——Taylor Gerring 的話,區塊鏈硬分叉可以讓網路更有韌性。Achain 提出適宜分叉的網路,基於兩點考慮。一是保持健壯的生命力,二是滿足不同的應用場景。首先,區塊鏈網路是眾多參與者按照某些共識組建起來的一個社羣,共識上的分裂使得硬分叉發生,而這種分叉有時好有時差。透過人們的篩選、淘汰,最終將留下一批有價值的區塊鏈網路,這一點非常符合自組織世界中物種和環境不斷自我進化的規律。
其次,區塊鏈目前還處於發展初期,相比數字貨幣而言,其他應用還需要進一步探索。圍繞區塊鏈,目前已有許多創新,如閃電網路、零知識驗證、側鏈技術、隔離見證等等。從這些創新上可以總結一個規律——即不同交易效能、不同共識方式、不同智慧合約、不同技術特點,組合起來就是為滿足某一類特定需求。因此,透過分叉實現不同的網路,滿足多樣化需求是可行的。但多樣化會帶來其他問題,下一節我們將描述如何解決。
Achain 將作為整個分叉網路的起點,也可稱其為主鏈。主鏈可以分叉出與之平行的子鏈,子鏈也可繼續分叉,所有鏈地位平等。分叉發生時,VEP 將記錄並廣播這一子鏈的註冊資訊,如創世塊資訊、子鏈 ID、種子節點、數字資產、服務識別號等。如果分叉繼續發生,這些註冊資訊將再次被 VEP 更新並同步到整個網路中。當鏈與鏈之間需要互動時,透過註冊資訊即可以服務發現的方式建立連線,並在 VEP 框架下實現資訊互動和價值交換。VEP類似於網際網路的 DNS 服務,負責註冊資訊、更新資訊、提供訪問服務。
為了讓上述目標成為可能,Achain 搭建了 BaaS 平臺,利用可視介面和多語言支援,大幅降低開發者門檻。任何人都可透過分叉建立自己的應用,從而更好地激勵社羣開發者的創新動力。社羣活躍度提升,ACT 價值增長,社羣吸引力增加,更多的開發者和使用者參與。正反饋效應將讓 Achain 生態越來越好。
5. 價值互換協議(Value Exchange Protocol)
VEP 是不同區塊鏈網路之間連線的標準協議。如前所屬,一個網路能夠承載的應用有限,彼此連線起來形成更大的網路,可產生的價值疊加就越大。我們先了解單個網路節點是如何相互信任的。區塊鏈網路最大的優點在於能夠提供可靠的資訊查詢,這種可靠性體現在分散式賬本和分散式共識。區塊鏈網路是眾多參與者按照某些共識組建起來的一個社羣,節點在共識和激勵的作用下形成了相互信任關係。推而廣之,把一個區塊鏈網路當作節點,多個區塊鏈網路之間形成連線,也需要這樣一個共識機制。因為不同網路的平等性、可信度、利益訴求讓網路協作變得困難,再加上網路中總有壞節點。因此,協作前預先設定的規則尤為重要。這就如同人類社會中跨組織協作需要有法律,契約和道德的約束。
VEP 為如何協作制定了準則。它登記每個鏈的註冊資訊,並提供服務給受信列表中的鏈進行查詢和連線請求。VEP 支援跨鏈節點互動和跨鏈合約呼叫兩大應用場景。前者利用儲存在節點的資料或外部資料的狀態變化,間接地讓合約之間產生互動,並可能產生新的資訊。例如:按照合同約定到期未償還貸款,將會影響到個人信用。貸款記錄可以儲存在區塊鏈 A,而信用資料則可以儲存在區塊鏈 B,個人身份資訊可能來自外部的公用資料庫。後者則是合約之間相互呼叫,一個最簡單的例子就是兩個鏈的 Token 互換,並讓總價值保持不變。
VEP 中包含以下內容:
(1) 鏈的註冊資訊,網路身份、服務識別號、種子節點資訊等,類似於 DNS(Domain Name Server)中記錄的資訊;
(2) 跨鏈驗證協議;
(3) 資料通訊協議;
(4) 資產交換協議;
(5) 獎罰機制;
6. 事件驅動
依託於 VEP,Achain 可實現鏈與鏈之間的資訊互動和價值交換,甚至將現實物理世界中的 IOT(Internet of Things)、AI(Artificial Intelligence)、企業或公共服務資料庫等非區塊鏈資料來源也納入到生態中,做到實時的事件驅動(Event-Driven)。
實現事件響應的 5 個步驟:
(1) 場景識別、分類並設定響應標準;
(2) 開啟監聽服務,獲取資料;
(3) 計算和響應判定;
(4) 執行,透過 VEP 調取資料,執行合約;
(5) 反饋執行結果;
Achain 的應用
1. 應用 1——供應鏈金融
供應鏈金融是金融機構(通常指銀行)圍繞核心企業,管理上下游中小企業的資金流和物流,透過整合資訊,將風險控制在最低的金融服務,它是近年來發展迅速的行業之一。由於參與方眾多,各類資訊分散儲存在各個環節,供應商的貨物資訊儲存在供應商的倉儲資訊中,發貨資訊掌握在物流公司手裡,資金資訊分佈在銀行系統內,流轉資訊則由核心企業掌握,各參與方資訊不對稱,協作所需的資訊不透明,導致有效的供應鏈信用體系難以建立。
由於建立信用的代價過高,金融機構基於風險控制不得不謹慎行事,往往錯失一些優質專案。Achain 可以幫助企業、金融機構重構信用體系,建立更高效率的供應鏈金融。
以核心企業為背書,透過 Achain 建立倉儲、物流、數字票據和企業徵信區塊鏈平臺。可實現供應鏈上下游企業、金融機構共同見證的貨物、倉儲、物流和應收賬款資訊。數字票據的發行、確認、流轉、拆分、承兌由供應鏈的各個參與方透過合約觸發,觸發條件可依據於倉儲、物流區塊鏈、以及核心企業資料庫中的資料狀態的變化,觸發規則按照參與各方的契約編寫而成,遵守或違背規則的行為都將記錄到徵信區塊鏈,且不能篡改。
Achain 利用 BaaS、智慧沙盒等技術優勢,企業可實現快速部署。透過低成本地快速分叉建立不用的區塊鏈網路,利用 VEP 建立連線協議,透過整合資料實現事件驅動。所有參與方都可共同驗證資料的真實性,從而保證供應鏈中資金傳遞的順暢,協作效率提升。
2. 應用 2——商品溯源
零售行業天然具有交易資料碎片化、交易節點多樣化、交易網路複雜化的特點。人們通
過線上商城或者線下超市購買商品,其包裝都會標註產地資訊、生產日期、生產商。但我們很難判斷這些資訊的真實性。由於造假的利潤空間很大,高價值商品,如鑽石、皮包、護膚品等存在假貨的可能性更高。造假不僅損害消費者利益,損害商家的信譽和品牌形象,社會也不得不消耗資金、人力來行使法律監督和法律制裁。對於商品溯源,目前存在幾個痛點:一是商品溯源不僅需要追溯到生產環節、還需要流通環節。這勢必增加更多主體共同背書,跨組織協作的難度可想而知;二是無論生產商還是物流商,所使用的系統必然是中心化的,存在資訊孤島問題;三是中心化系統都存在個體作惡的風險。
針對以上三個痛點,Achain 提出對應的解決方案——區塊鏈+物聯網。
藉助物聯網,生產和物流環節的資料可透過智慧裝置實時採集,並透過 VEP 接入到Achain 儲存在溯源網路中。區塊鏈獨有的資料儲存結構和分散式賬本技術,確保上鍊資料不可篡改。同時,非對稱加密、相對匿名可確保企業核心資訊不洩露。消費者需要查詢商品資訊時,只要知道商品編碼和生產批次,即可追溯到商品的全部資訊。
區塊鏈可以解決溯源痛點,同時也不用擔心洩露企業隱私。對生產商、物流商、消費者來說,資訊都是透明的。更進一步來說,消費資訊和物流資訊可以給生產商提供決策支援,客戶在哪裡,生產地如何安排成本最低,生產多少最合適。物流商也同樣如此。正因為區塊鏈的存在,資訊互動更透明,社會運作更高效。
網址 :
交易平臺
火幣全球站 : | OKEX : |
幣蛋 : | HitBTC : |
KEX : | 胖位元 : |
CEX : | 酷幣 : |