智能合约重构社会契约(12)天秤币
1. 定義
一種穩定的數字加密貨幣,并將全部使用真實的資產儲備進行擔保。與大多數加密貨幣波動劇烈不同,天秤幣將使用低波動性的資產作為抵押來保證天秤幣價值的穩定
- 賬戶規模數十億
- 需要極高的交易吞吐量和低延遲
- 保障高度安全可靠
- 進行擴展
2. 3個特點
2.1 Move語言
2.2 LibraBFT共識機制
一種拜占庭容錯機制:所有的驗證者節點對將要執行的交易及其執行順序達成一致。與基于拜占庭容錯的共識機制一樣,LibraBFT也允許不超過1/3的驗證者節點發生故障或是被破壞時,共識協議依然能夠保證網絡的正常運行,這種共識協議可以實現低延遲性以及高交易量的處理。
2.3 改善過的區塊鏈數據結構
區塊鏈內的數據按照Merkel樹的存儲方法進行儲存, 與其他區塊鏈將區塊鏈視為交易區塊的集合不同,天秤幣區塊鏈可以長期記錄交易歷史和狀態,允許使用者從任何時間點讀取任何數據。
3. Move語言
天科幣中交易的程序部分主要是由 Move字節碼編寫的腳本。在運行時,天秤幣的交易都用Move語言的虛擬機來運行,可以有效地在運行前發現腳本中的惡意代碼,防止攻擊。若腳本沒有問題,則會被虛擬機正確執行。
-
語言初衷:讓用戶實現自定義的交易邏輯和“智能合約”
-
名稱來源:移動,就是資產轉移的意思。 數據只有拷貝(copy)可進行相關數據的復制。使用Move,資產就像紙鈔轉移一般,一方得到,另一方失去,數字資產沒有復制。
-
語言優勢:使用Move語言書寫的交易腳本可以用Move語言的虛擬機進行檢查,保證腳本中不會出現惡意錯誤。所有的交易腳本都將是一個一次性的程序,不會被其他的交易腳本調用。
-
注重安全性和可靠性
每個資源只有-個所有者,每個資源只能花費一次,對新資源的創建進行限制。通過這樣的限制,使Move語言中的資源可以避免“雙花”或者是被盜取。 -
可以便利地自動檢驗交易是否滿足某些特性。在一段時間以后,Move語言還將向開發者開放創建合約的權限。
3.1 module和resource
天秤幣里代碼和數據是相互分開的:module用于儲存代碼,resource用于存儲數據。
-
module中的代碼可以被復用,只需要使用不同的resource即可。
-
用戶的賬戶是一個包含若干module和resource的容器,每個賬戶中都可以儲存module和resource,而 resource可以在其他賬戶地址中找到對應的module,這樣就可以實現對代碼部分的復用。
-
每一個resource都需要通過對應的module進行聲明和定義。一個resource只能夠通過聲明這種resource的module進行創建或者銷毀,
-
resource只能夠被移動,而不可以被復制
矩形表示 module,橢圓表示resource。
3.2 交易的內容:
- 交易發起人地址
- 交易發起人公鑰
- Move語言書寫的程序
- 單位Gas的價格
- Gas的最大值
- 序列號。
3.3 交易腳本
包括:腳本的可選輸人列表、一個用Move字節碼書寫的發布的module可選列表。
- 腳本允許交易調用發布在分類賬本上的多個module,使用條件判斷邏輯,執行本地計算等
- Move字節碼可以書寫十分靈活的交易腳本。這也意味著Move腳本可以實現一些諸如同時向多個人進行轉賬的操作。
3.4 執行交易步驟
step1. 檢杏簽名、
step2. 執行序言。序言中需要通過比較賬戶下的驗證密鑰是否等于公鑰的哈希值來確定發起人的身份,而后檢驗賬戶是否能夠承擔最大Gas花費,最后保證序列號是正確的。
step3. 驗證腳木利lmodule、檢驗由Move語言所書寫的腳本和里面涉及的mol-ule是否安全,此步驟將由Move詔言的虛擬機進行檢驗。
step4. 發布module。每一個程序中使用的module都應該在發起人賬戶中被發布。
step5. 執行腳本。
step6. 執行結語。計算使用的Gas量并且修改發起人賬戶的序列號
總結
以上是生活随笔為你收集整理的智能合约重构社会契约(12)天秤币的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能合约重构社会契约(11)天德区块链智
- 下一篇: Docker (2)与虚拟机的比较