當您需要提款時-您將使用特殊資料呼叫智慧合約,這將在下面討論。
代理商A和代理商B向智慧合約傳送硬幣,進行存款以在它們之間建立支付通道。
開啟付款通道時-您需要從雙方將資金存入智慧合約。
A向B傳送交易並將付款通道的狀態從(a,b)變更為新的
如果付款通道已開啟-您可以開始以每秒超過10萬筆交易的速度相互傳送交易。
重要的是要了解所有事情都是在鏈下發生的,有一天您將需要與交易對方達成協議並從智慧合約中提取資金。
(在同步支付通道上從A到B的練下交易的視覺化表示)
我們假設各方都可以作弊以撤回所有資金。 因此各方都需要證明自己要提取的款項屬於他們。
為了證明這一點-他們將需要傳送每個夥伴的簽名,以正確證明狀態(sum A,sum B和其他一些資訊)。如果我們在談論同步支付通道-我們有一個狀態。
A無法連續向B傳送多個交易。每個新狀態都需要雙方(A和B)的簽名。 因此當A向B傳送交易時,A需要建立一個狀態,該狀態將更改屬於A和B的金額,使用私鑰對該狀態進行簽名,然後將新的狀態和簽名傳送給B。此狀態並將簽名傳送回A。
僅在確認交易狀態之後。 之後A不能在B之前傳送另一筆交易。 A需要等待B建立新狀態。 因此它稱為同步通道。
(在非同步支付渠道上從A到B的鏈下交易的視覺化表示)
在非同步支付通道中,每個交易對手都有自己的狀態組。每個狀態包括A從B接收的數量,A傳送給B的事務數量,B傳送給A的數量,B傳送給A的事務數量。
在這種情況下,A和B無需等待確認 他們只需要傳送一個已簽名狀態。
這兩個通道中最困難的部分是提款過程。智慧合約需要檢查各方是否提供了正確的資料以提取資金。
我們需要檢查狀態的簽名,而且狀態是最新的。 可能是各方之間的衝突,並且智慧合約需要根據規則(最新狀態)進行解決。 必須防止將相同的資料傳送到不同的支付通道,並且如果參與者之一不提供任何資訊,我們也需要解決這種情況。
所有這些都必須用funC編寫並經過充分測試以確保安全。聽起來很有挑戰性。
解決方案和競爭對手
大多數提交內容都是多簽名錢包和DNS解析器。 但是其中有幾個具有支付通道。 顯然支付通道是最複雜的任務,因此解決方案將更少,並且提供這些解決方案的大多數團隊將比其他團隊更強大。
下一步是什麼?
目前大約有10至20個具有足夠技能和知識的團隊可以開始構建TON的基礎架構。 我們認為大多數成功的ETH解決方案將由這些團隊轉移到TON。TON競賽確實可以改變與TON合作的團隊數量,從而改變了現狀。