微众WeCross 跨链平台(8)TTM可信事务机制
1. 兩個problem
- 區塊鏈網絡需要相互獲取對方鏈上的數據,由于它們并沒有參與對方區塊鏈的共識流程
- 保證跨鏈交易中各自鏈上交易執行的事務性
2. TTM可信事務機制 (Trust Transaction Management)
采用密碼學技術和分布式算法,保證區塊鏈平臺之間交互數據的真實可信且難以篡改,保證業務邏輯的原子事務性,使得區塊鏈平臺之間任何關聯的兩個交易能夠完全執行或完全回滾
2.1 spv證明
多維度的默克爾證明
-
多維度的默克爾證明,不僅能夠驗證交易存在性,還能夠驗證交易執行結果的正確性,為跨鏈交易可信執行以及后續章節將講述的事務機制提供完備的可信驗證。
-
交易存在性驗證是指驗證某一筆交易是否真實存在于某個區塊,確保跨鏈交易中雙方所聲稱的資產或數據是真實存在的。
-
交易執行結果正確性驗證是指驗證跨鏈交易是否已在雙方各自的區塊鏈上正確執行,保證跨鏈交易執行結果的正確性。
其中交易存在性驗證需要用到交易默克爾根,交易執行結果正確性驗證需要用到回執默克爾根。
3. 跨鏈事務機制
3.1 兩階段提交協議
投票階段和提交階段。為了讓整個事務能夠正常運行,兩階段提交協議涉及三個接口,分別是準備(Prepare)、提交(Commit)和回滾(Rollback)。
3.2 哈希時間鎖定合約 (HTLC,Hashed Time Lock Contract)
哈希時間鎖定合約為區塊鏈資源新增三個接口,分別是鎖定(Lock)、解鎖(Unlock)和超時(Timeout)接口。
eg. 交換位于鏈 A 的資產 α 和位于鏈 B 的資產 β
step1. A 首先選取一個秘密隨機數 S,使用特定的哈希算法計算出 S 的哈希值 H,之后 A 將H 發給 B。
step2. A 和 B 協商兩個時間點 T0 和 T1,確保 T0 >T1。T0 和 T1 用于避免 A 或 B 單方延誤交易,所以這其中的交易包 α 和交易包 β 都需要設定時間限制,超出這個時間限制后,相關資產立即撤銷鎖定,原路返回。
step3. A 基于 H 和 T0 創建資產鎖定智能合約 LockContractA,該智能合約會鎖定資產 α,其可以使用 S 來解鎖并將資產 α 轉移給 B,如果在 T0 前仍未解鎖,則會自動撤銷鎖定,且不會發生任何資產轉移。
step4. B 基于 H 和 T1 創建資產鎖定智能合約 LockContractB,該智能合約會鎖定資產 β,其可以使用 S 來解鎖并將資產 β 轉移給 A,如果在 T1 前仍未解鎖,則會自動撤銷鎖
定,且不會發生任何資產轉移。
step5. A 使用秘密隨機數 S,調用 B 上的智能合約 LockContractB,將資產 β 轉移給 A 。
step6. 如果 A 或 B 任意一方超時未執行操作,則在 T1 時間點后,B 資產會撤銷鎖定,T0時間點后,A 資產會撤銷鎖定,還原初始狀態
總結
以上是生活随笔為你收集整理的微众WeCross 跨链平台(8)TTM可信事务机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微众WeCross 跨链平台(7)跨链路
- 下一篇: 微众WeCross 跨链平台(9)MIG