銜梯網路 Ladder Network 提供了異構鏈間資產轉移通道的基礎設施,是一個透過跨鏈協議實現與不同區塊鏈網路互聯互通、完整記錄跨鏈交易、維護鏈內交易明細的分散式系統。
邊緣鏈是指搭載了銜梯網路協議的鏈,例如以太坊、比特幣、EOS、溯源鏈等等。主鏈是銜梯網路 Ladder Network 核心鏈,它可以獨立執行,也可以充當橋鏈。
銜梯網路 Ladder Network 主鏈提供註冊模組。名稱在主鏈註冊模組上進行登記,經規則 Rule-Audit 即可正式加入銜梯網路 Ladder Network 成為合法的邊緣鏈,共享銜梯網路 Ladder Network 的跨鏈服務。
每個邊緣鏈都對應一個 64 位的地址空間,為了避免開發者、使用者使用人員識別繁雜難記的地址,銜梯網路 Ladder Network 提供鏈名服務 CNS(Chain Name Serives)。CNS 負責將地址空間與專案名進行雙向對映,比如 BTC 邊緣鏈在網路中的名稱為 Ladder_BTC。
區塊鏈系統之間相對獨立,資訊在單個區塊鏈系統內流轉是可信的,而在鏈之間流動需要透過橋接中斷方式加以證明,所以邊緣鏈中的訊息透過主鏈儲存和校驗後,再由主鏈轉發到目標邊緣鏈上,從而確保鏈與鏈之間資訊的可信流通。
跨鏈執行簡單的流程:使用者在邊緣鏈 A 發起的到 B 鏈的轉賬操作,使用者 A 首先透過 CNS 獲得 B 鏈的專案名,再透過 Request-Resposey方式查詢是否有衝突,如沒有衝突,即由證明使用者從邊緣鏈獲取轉賬證明,並提交轉賬資訊到主鏈上,主鏈對資訊校驗後傳送到邊緣鏈 B上,至此完成一個資訊跨鏈操作。
未來,銜梯網路 Ladder Network 還將提供 BAAS 模組,為企業、創業者上鍊提供一鍵發幣功能,BAAS 模組提供了引數化、配置化的區塊鏈服務,根據業務領域開發金融 SDK、供應鏈 SDK、遊戲 SDK、儲存 SDK 等構件介面,企業將能以零程式設計方式接入 BAAS,共享主鏈服務,為企業鏈改幣改提供商業生態。
1.共識
銜梯網路 Ladder Network 使用 POS 為基礎的 BABE + Grandpa 共識演算法,在出塊人選擇上,BABE + Grandpa 則是基於 VRF 演算法隨機選擇出塊人,這保證了公平性。
在銜梯網路 Ladder Network 上有三類節點:權威節點,預言機證明節點,普通驗證節點。權威節點是抵押大量保證金的節點,保證金越多,出塊的權益越大,如果不出塊,或者作假,其保證金將被扣除。預言機證明節點是抵押了一定保證金的節點,透過隨機演算法選出一組節點,它們從邊緣鏈上獲取資料並簽名後傳送到主鏈,獲取匯率。如果傳送了虛假交易或者不傳送交易,銜梯網路 Ladder Network 會扣除保證金,並剝奪其跨鏈交易證明節點的名額。只有掌控了足夠權益才能成為普通驗證節點,它對前兩類節點行為進行驗證,傳送作假行為。
2. 跨鏈原子交易
為保證交易的原子性,我們設計如下協議:
使用者在邊緣鏈 A 上發起一筆跨鏈交易,主鏈自動監聽 A 鏈的交易事件並記錄(因為採用多籤見證人方式,交易記錄存在冗餘,後續會介紹如何處理改進問題)。 主鏈對 A 鏈上的事件進行校驗,並轉發到邊緣鏈 B 上,因為在 B 鏈上釋放需要足夠的資金,這時就存在有兩種情況,資金充足能達到釋放標準,那麼這筆交易成功,並記錄到主鏈上;資金不夠無法釋放,這筆交易失敗,主鏈將把使用者在 A 鏈上發起的交易資產返回給使用者,即發起一筆回退交易。
在整個交易流程中,使用者資產會在邊緣鏈上鎖定一段時間。如果交易失敗,會在邊緣鏈上返還資產;交易成功,則把這部分資產放入資金池,用於釋放從其他鏈發起的交易。
每秒交易量(TPS)
TPS = Sb / St / tb
Sb 是塊的大小,主鏈塊大小為 4M。
St 表示交易的大小,通常交易為 250 位元組。
tb 表示出塊時間,預設 3 秒。
交易延時
為保證交易的安全性,所有交易需要在銜梯網路 Ladder Network上記錄,其時間為 Ta(可視為出塊時間),邊緣鏈的出塊時間分別為 T1 和 T2,防止雙花的塊確認數 D。
一次成功的跨鏈交易,至少需要有四筆交易,兩條邊緣鏈上各一筆交易,主鏈上兩筆交易,分別為請求和確認交易 ,那麼我們可以給出如下公式:L = Ta * 2 + T1 * D + T2 * D
失敗處理
跨鏈抵押在銜梯網路 Ladder Network 上驗證失敗或在 B 鏈上釋放失敗的時候,都會對 A 鏈的資產進行回溯,實現原子操作,避免 A 鏈資產的丟失。
首先是在銜梯網路 Ladder Network 上的多籤驗證階段失敗,銜梯網路 Ladder Network 會直接返回驗證失敗,如果驗證節點在一段時間內收不到資產抵押驗證成功的回覆資訊,就會將該筆交易記錄為刪除,同時把資產返回給 A 鏈。
多籤驗證的儲存結構:
交易 <=> [簽名,是否傳送]
交易 <=> 是否驗證透過
銜梯網路 Ladder Network 上接受驗證節點監聽獲取的跨鏈抵押交易,當簽名數量達到一定的數量的時候就會確認該筆抵押請求並儲存該交易。失敗就會直接刪除該交易儲存,同時透過引數進行配置修改,防止因網路延遲導致的重複交易干擾。
銜梯網路 Ladder Network 抵押操作節點分工以及流程
銀行模組系統流程可以分解成 5 個部分,以下流程以太坊為例,以太坊上操作產生一個抵押的交易 T,Ladder Network 上的相關驗證節點監聽到這個資訊後,完成簽名並轉發上鍊進行驗證。
過程 1 欲抵押者傳送一筆交易,每個驗證節點監聽包含鏈上賬戶,抵押金額的交易
Txn n=1,2,3,4,5,……
過程 2 驗證節點捕獲並對每個交易進行簽名
Tsn = sign(Txn) n=1,2,3,4,5,……
過程 3 封裝同時將資料上傳至銜梯網路 Ladder Network 上
∑Tx(Tsn,data) n=1,2,3,4,5,……
過程 4 銜梯網路 Ladder Network 的各個節點參與驗證簽名有效性,以及資料有效性(透過多籤判斷資料是否是被不合謀的驗證節點分別上傳的)該驗證過程是由簽名的模組提供保證。
Check(∑Txn) n=1,2,3,4,5,……
過程 5 驗證透過就將資料儲存至鏈上,完成抵押過程
Prase_update(T,data)
4. 匯率模組
為了實現不同資產快速兌換,這就涉資產定價。但區塊鏈是一個確定性的、封閉的系統環境,目前只能獲得鏈內的資產資料,區塊鏈與現實世界是割裂的,不能獲取到鏈外真實世界的資料。
為解決這個問題,我們在鏈上部署預言機合約。主鏈的匯率模組以輪換方式週期性的將各資產價格推送至預言機合約,預言機合約透過鏈下的 API 介面獲得外部資料。技術實現的流程是,外部資料傳送資料給鏈上預言機合約,預言機合約把資料傳送給匯率模組。
匯率模組
匯率模組的驗證節點透過多籤的方式實時獲取外部加密資產的實時匯率,且該資訊經加密簽名處理,不可篡改。透過實時匯率,A 鏈和 B 鏈完成跨鏈資產轉換,這類似於中心化的交易所。其過程如下:
步驟 1 判斷當前賬戶是否是預言機節點的關聯賬戶 id
Is_validator(id)
步驟 2 如果是的話,就呼叫外部 API 獲取實時交易所各種加密貨幣匯率
Tx = http_get(url)
步驟 3 將匯率簽名後傳送至多籤驗證模組
Txsn = ∑Sign(Txn) n = 1,2,3,4,5,……
步驟 4 多籤驗證透過,則記錄該匯率
Check_save(Txsn) n = 1,2,3,4,5,……
5. 風險控制模組
在上述跨鏈協議中,有一個問題需要重點考慮,即是流動性不足引發的交易回退問題。如果該系統流動性較好,有足夠的投資人和使用者,理論上不會發生交易回退。但我們的系統將考慮一切可能發生的情況,包括初始、極端等邊界情況,如在系統早期資金支援極少,使用者體驗不佳;另一方面,在邊緣鏈上的投資人對資產存入與贖回操作都會影響流動性,因此引入風險控制模組來處理此問題。
AI 風險控制模組的作用:
· 透過利率保證邊緣鏈上資金充足。
· 確保跨鏈交易的成功,減少無用操作。
· 保證系統的流動性。
AI 風險控制模組的影響:
· 控制銀行模組利率變化
· 控制跨鏈交易的浮動費用。
· 控制邊緣鏈資產價格穩定。
透過監控主鏈上的交易以及邊緣鏈上的資金餘額,我們可以推算出某筆交易未來能否成功,從而減少交易回退現象,進而減輕系統壓力。
允許最大跨鏈交易金額 Vmax 計算公式如下:入資金均值:
Vi = ∑(Vt / St) / n / L, n = 1,2,3,4,5,…… n < 100
出資金均值:
Vo = ∑(Vt / St) / n / L, n = 1,2,3,4,5,…… n < 100
Vmax = R - Vi + Vo
T :單筆交易
L :交易延遲時間,單位秒
Vt :T 交易傳送的值
St :T 交易從傳送到當前時刻的間隔,單位秒
R :當前邊緣鏈上的餘額
6. Plasma arbitration 協議
Plasma 最初設計目的是,為以太坊擴容問題,以鏈鏈結合的方式減輕主鏈的負擔。 Plasma 的特色是提供了一個資產退回基本保證,即你始終都可以將你的資產和資金退回到主鏈上。
對於如何保證資產退回的問題,Plasma 包含了欺䇾證明機制,即使用者提交資產凍結證據到主鏈,任何人都可以提交一份“欺䇾證明”,質疑資產退回。 但是,資產退回本來就有風險,其中一個問題就是子鏈的使用者同時向主鏈提交資產退回請求,會導致主鏈沒有足夠的容量來處理質疑期內的交易,還是有可能丟失資金。
我們把使用者博弈部分放在效能高的銜梯網路上,再引入委會機制保證仲裁的公證性,這樣避免主鏈因效能問題導致資金丟失。如下結構: