以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads

ALI:如何利用虛擬通道來創建狀態通道網絡

Author:

Time:1900/1/1 0:00:00

在本文中,我們介紹了一種叫作虛擬通道的新型狀態通道結構。虛擬通道不僅使得付費文件流等新型應用場景成為可能,還可以簡化去中心化的Graph查詢支付、Filecoin內容檢索、帶有經濟激勵機制的狀態提供者網絡等有趣的應用場景。

動機

讓我們來設計一個免信任的付費文件流支付系統。這個系統中有seeder和leecher。leecher從多個seeder那里付費下載一份文件的不同部分。使用以太坊主網交易來支付費用是不可能的,因為以太坊主網的吞吐量低于每秒50筆交易,而且最低轉賬成本也在2美元以上。OptimisticRollup和ZKRollup可以提高吞吐量并降低交易成本。StarkEx的ZKRollup可以將吞吐量提高至每秒3000筆交易,同時將每筆交易的成本降至0.03美元。假設leecher愿意支付1美元下載1GB大小的文件,且整個文件以256KB為單位切分成了多個部分,leecher需要支付大約5000筆費用。當網速為20MB/s時,用戶每秒支付80次費用,且每筆費用為0.0002美元。Rollup的吞吐量達不到許多leacher的要求,而且交易成本還是太高了。

為了達到交易吞吐量和成本要求,基礎狀態通道是個不錯的選擇。狀態通道創建完成后,leecher就可以免費進行多筆小額付款,且吞吐量只受leecher和seeder之間通信信道的帶寬以及二者所使用硬件的影響。基礎狀態通道帶來的挑戰是,leecher需要提交交易到主網上,與每位擁有他所需文件部分的seeder都建立狀態通道。由于leecher與多位seeder都需要短暫交互,創建多條狀態通道的成本是極其昂貴的。

虛擬通道可以完美解決我們的設計問題。虛擬通道尤其適用于軸輻式拓撲結構。多位參與者先與一個免信任的中間方建立連接,然后任意兩位參與者再通過質押的方式創建私密通道。中間方并不知道私密通道內運行的是什么應用。另外,任何參與者都可以發起鏈上挑戰找回自己的資金,即使通道內的其他參與者和中間方處于離線狀態或作惡。

調查:大部分數字資產持有者擔心死后資產如何被處理:2019年10月到2020年6月的調查顯示,大部分數字資產持有者擔心死后如何處理資產,但是其中很大一部分不會使用遺囑、信托或者其它工具。89%的受訪者不同程度上表示他們很擔憂數字資產在他們死后能否傳遞給家人或者朋友,沒有人說完全不擔心。(Cointelegraph)[2020/7/8]

通過虛擬通道連接各方

總的來說,只要Alice和Bob之間有經過中間方的路徑,無論網絡拓撲結構是什么樣的,虛擬通道都可以讓Alice開設與Bob之間的私密通道。

背景知識

不同的區塊鏈生態系統都將狀態通道視為一種可以讓少數參與者:

建立鏈上聯系并存入資金;

私下交換信息,有條件地在參與者之間轉移資金;

關閉鏈上通道,完成各方之間資金結算的方法。

我們之前已經在statechannels.org網站上發文介紹了如何構建狀態通道,以及如何通過一個叫作賬本通道的架構讓一條狀態通道為另一條狀態通道提供資金。這些架構要求通道參與者必須在鏈上建立直接聯系。換言之,如果Alice和Bob之前從未交互過,現在卻想開通狀態通道,他們必須簽署協議,并將資金存入合約內。

但虛擬狀態通道可以實現以下應用場景:

Alice與免信任的中間方創建狀態通道。假設這個中間方叫作Irene。

Bob同上。

在Irene以及創建好的通道的幫助下,Alice和Bob可以創建一條新的私密通道并存入資金。創建這個私密通道不需要通過鏈上交互。我們將Alice和Bob之間的通道叫作虛擬通道。

就付費文件流這個應用場景而言,Alice先要通過主網交易與中間方Irene創建一條通道。接著,她可以通過虛擬方式與任意數量的對等節點相連,只要后者與Irene之間也存在鏈上通道。一旦連接成功,Alice就可以持續支付數據下載費。

我們的協議Nitro可以實現以下應用場景:

美國貨幣監理署新署長:期望進一步了解銀行與加密貨幣機構如何相互作用:美國貨幣監理署(OCC)新署長Brian Brooks表示,OCC正尋求與銀行和加密貨幣機構的行業領袖進行更多的對話,期望了解如何進一步促進雙方相互作用。他表示加密貨幣機構需要銀行服務,他們需要跨銀行通道進行交易的。他期望進一步了解有關加密貨幣對銀行的需求以及銀行對加密貨幣的需求,因為他們確實想在這方面有所作為。OCC是美國財政部的主要銀行監管機構,Brooks于3月份離開Coinbase,加入OCC并擔任首席法律官。(Cointelegraph)[2020/6/5]

幫助Alice和Bob創建虛擬通道的中間方Irene實際上不在這個虛擬通道內。Irene只是幫忙創建通道,并在通道關閉時結算資金而已。因此,Alice和Bob之間可以實現完全私密的交流,并將Irene排除在這個應用的關鍵路徑之外。更重要的是,Alice和Bob可以在私密通道內運行多個不同的應用,無需Irene針對這些應用實現任何新的邏輯。因此,虛擬通道是通用可編程的多跳狀態通道,因為每條狀態通道都可以根據自己的一套“規則”來創建。Alice可以向Bob付費購買某個文件內容。Bob也可以向Alice付費進行Graph查詢。

所有Nitro通道都是可組合的。因此,獲得資金的通道可以通過遞歸的方式為其它通道提供資金,無論前者是通過何種方式獲得資金的。一旦某條通道獲得資金,它就可以運行任何應用或為其它通道提供資金。

Nitro的替代方案

其它協議可以讓兩位參與者無需在鏈上存入額外資金,即可通過中間方創建通道。一個成熟的模式是,使用經過哈希的時間鎖通過中間方將Alice的付款路由給Bob。這個模式有一個很明顯的缺點:所有付款必須通過中間方路由。

一些比較新穎的架構可以讓Alice和Bob通過中間方創建通道后實現點對點付款。然而,這些架構依然需要中間方理解Alice和Bob所運行的應用,因為通道余額最終要通過中間方取回。有了Nitro虛擬通道,中間方就可以被隔離在Alice和Bob之間的通道外。

復旦大學教授許多奇:當今國際社會首當其沖的問題是如何判定數字貨幣法律性質:日前在金融法治菁英論壇上,復旦大學法學院教授許多奇表示,如何監管加密數字貨幣是當今國際社會普遍關注的問題,而首當其沖的問題是加密數字貨幣的法律性質判定問題,司法機關有關加密數字貨幣屬性的判定能否成為實現有效監管的基礎?在眾多司法轄區的多種監管思路中我們應作何種選擇?對于這些問題的思考和深入研究對于實現對加密數字貨幣的有效監管大有裨益。(中國貿易報)[2020/4/29]

通道內部的資金轉移

本文將深入介紹Nitro通道是如何獲得資金的,以及免信任的安全虛擬通道是如何實現的!

Alice和Bob之間的Nitro通道的資金來自:

Alice和Bob聯合簽署鏈下協議,使用特定的初始結果創建通道。

Alice和Bob按照初始結果指定的順序存入資金,增加鏈上裁決者合約中記錄的通道holdings。

這里的“結果”是一個指示裁決者在通道最終敲定時如何分配資金的結構在Nitro中,“結果”列出了{目標、數量}對的優先級:

{A:7,B:3}命令通道C的裁決者先將7枚代幣支付給A,再將3枚代幣支付給B,并將C的結果歸零。

這么說有一點不準確:我們其實是按照字典中鍵的順序在為目標分配優先級。因此,{B:3,A:7}會先付款給Bob,然后才輪到Alice。你可以將它看作是Python3.7+式的有序字典。

上圖顯示了Alice和Bob是如何根據{A:7,B:3}這一結果從通道C中取走代幣的。根據鏈上裁決者的記錄,通道中共有10枚代幣。Alice或Bob將通道結果記錄到鏈上。這個結果記錄下來后,Alice和Bob就可以取走代幣。于是,Alice的外部賬戶中增加了7枚代幣,Bob的外部賬戶增加了3枚代幣。

雖然上述結果暗示目標是用戶賬戶,但是在Nitro中,通道本身也可以是目標。這樣一來,通道L也可以充當“私密賬本”,因為Nitro可以讓一次性一次性將資金存入賬本通道,然后為多條子通道提供資金。Nitro避免了回到Layer1的需求,以及由此產生的延遲和成本!例如:

聲音 | 王小云:區塊鏈技術創造性地解決了如何在無許可環境下達成共識的問題:12月7日,由中國科學院學部主辦的“區塊鏈技術與應用”科學與技術前沿論壇在深圳舉行。中國科學院院士、國際密碼協會會士王小云在題為“Hash函數與區塊鏈技術”的演講中表示,密碼是保障網絡與信息安全的核心技術和基礎支撐,加密算法、數字簽名算法和Hash函數是密碼學三類基礎算法,其中Hash函數是區塊鏈的起源性技術。她指出,區塊鏈技術的出現,創造性地解決了如何在無許可環境下達成共識的問題。區塊鏈共識協議的一致性,確保了所有用戶記錄的區塊鏈數據相同;鏈增長速度,確保了區塊鏈區塊數量增長速度的穩定;鏈質量,確保鏈區塊鏈中敵手生成的區塊數量不超過可容忍比例。[2019/12/7]

假設C2是一條Nitro通道,{A:4,B:1,C2:5}命令裁決者向Alice支付4枚代幣,再向Bob支付1枚代幣,然后將C2的代幣持有量增加5。

C1是賬本通道,C2是從賬本通道獲取資金的通道

以上是一個簡短的介紹。如果你想要深入了解Nitro,請查看我們的相關博客文章!

如何利用保證來實現免信任架構

接下來,我們將介紹當兩位參與者沒有鏈上關系時,如何通過一個安全的架構來創建三方通道。這個架構不僅能讓賬本通道為其它通道提供資金,還能實現虛擬通道。兩位參與者分別是Alice和Bob,中間方是Irene。

我們首次嘗試使用一個通道來連接A、B和I。請注意,這不是免信任型架構。

初始設置:三條獨立通道。

首先要有一對賬本通道L和L'。通常情況下,L和L'是早就創建好的。這是因為Irene存在的目的就是在人們之間建立連接——Alice可以使用L來同時連接Bob、Cheryl、David和Eve。如果L和L'不存在,L可以使用結果{A:4,I:6}創建,L'可以使用結果{B:6,I:4}創建。L和L'各自在鏈上存儲10枚代幣。

芬蘭政府因不知如何存放沒收的比特幣犯難:芬蘭政府正為如何存放沒收來的2000余個比特幣而犯難。根據該國政府周二發布的指導方針,執法機構和人員不得持有沒收的加密貨幣,執法人員不得將沒收的加密貨幣存儲在交易所里,必須要保持它們處于離線狀態且不能在互聯網上被訪問。此外,該文件還指出,當局不能將比特幣等加密貨幣視為貨幣,也不能作為支付手段。[2018/2/21]

另外還有一條獨立通道J是使用結果{A:4,B:6,I:10}創建的。請注意,在向通道存入資金之前,參與者必須先就這一結果達成共識。一旦J有了資金之后,這條通道就可以用來為Alice和Bob之間創建的任意一條私密應用通道提供資金。

步驟1和2:賬本通道轉變為向J提供資金。

Alice和Irene將L的結果轉變為{J:10}。Bob和Irene將L'的結果轉換成{J:10}。

這個設計夠好了嗎?

Alice必須考慮以下幾點:

Bob和Irene是不是可信的?

Alice無法控制L'上發生的事。

我們來思考一下步驟2之后如何取走J的資金。

L和L'的結果被記錄到鏈上。

L和L'的資金都被轉移到J。代幣經由轉賬操作從一條通道轉移到另一條通道。J現在有了20枚代幣,可謂資金充足。

Alice可以從J中取走4枚代幣,Bob可以從J中取走6枚代幣。Irene可以從J中取走10枚代幣。

漂亮!現在每個人都取走了自己應得的代幣。但是,我們來設想一個場景:Alice和Bob串謀起來欺騙?Irene。假設步驟1發生后,Bob拒絕參與步驟2。然后就會發生以下情況:

L的結果被記錄在鏈上。現在,J有了10個代幣,記錄在鏈上的結果是{A:4,B:6,I:10}。

Alice和Bob分別取走4枚和6枚代幣。

請注意,Bob從J那里獲得了6枚代幣,盡管他自己根本沒有向J轉過代幣。結果變成了:Alice獲得了4枚代幣,Bob獲得了6枚代幣,Irene什么也沒有。Irene被坑慘了!

你可能會想,如果調換一下結果{A:4,B:6,I:10}中目標的順序,就可以創建出一個安全的架構。然而,無論怎么調換順序,總會有人蒙受損失!

保證是如何發揮作用的

在上述場景中,我們使用了轉賬操作在通道之間轉移資金。通過轉賬操作,資金可以從一個通道轉移到目標通道。在本小節中,我們將引入索取操作來將資金從目標通道轉移至特定的目標地址1。為了實現索取操作,我們需要保證。

我們先來介紹一個新的數據結構。保證是指定以下的結果:

目標,即,一條通道;

數量;

優先級,即,目標的優先級列表。優先級的作用是指示裁決者如何改變目標通道的結果項的優先級。

我們第二次嘗試使用一個通道來連接A、B和I。這次已經是免信任架構了

我們來看一下J是如何獲得資金的:

初始設置:創建三個獨立的通道。

通道J是使用結果{A:4,B:6,I:10}創建的。

L是使用結果{A:4,I:6}創建的。

L'是使用結果{B:6,I:4}創建的。

步驟1和2:賬本通道轉變為向J提供資金:

L的結果更新為{J:{amount:10,priorities:}。請注意,我們使用了一種新的符號來表明L的結果只有一項,即,包含目標J、數量和地址優先級列表的保證。

L'的結果是{J:{amount:10,priorities:}。

L和L'的結果各自包含一個保證。由于轉賬操作不支持這些保證,我們代之以索取操作。索取操作接受保證以及保證的目標通道作為輸入。

我們來看一下索取操作是如何運作的。假設

J的結果{A:4,B:6,I:10}被記錄到了鏈上。

L的結果{J:{amount:10,priorities:}}被記錄到了鏈上。

如果有人請求執行L的結果中的保證,則會觸發三個效果:

將4枚代幣發送給A,6枚代幣發送給I。

因為,A和I的余額在J的結果中被調整為{B:6,I:4}。

L的結果被調整為{}——保證被刪除。

在這個操作中,優先級的目的是告訴裁決者跳過帶有B的結果項,這樣Irene就可以拿回她在創建L時出的那部分資金。因此,裁決者會先看到保證中優先級最高的目標A,并將4枚代幣轉給A,J的結果會相應更新。然后,裁決者才會看到目標I。在J的結果中,Irene應該獲得10枚代幣,但這時只剩下6枚代幣。因此,這6枚代幣被發送給了Irene,J的結果再次更新。請注意,優先級一定要是而非。如果優先級是,Irene就會通過索取操作獲得10枚代幣,Alice就失去了原本屬于她的4枚代幣!

有了索取操作,Alice和Bob再也不能串謀起來騙取Irene的資金了。

?最理想的情況

你可能已經注意到了,為了讓Alice他們取回資金,總共需要3個鏈上操作:將聯合通道和轉賬結果記錄到鏈上,并調用索取操作。請注意,這是最糟糕的情況。假設Bob將4枚代幣轉給Alice后,Alice和Bob想要關閉J。如果Bob和Irene配合的話,則:

Alice、Bob和Irene同意以結果{A:8,B:2,I:10}敲定J。

Alice和Irene可以更新L,安全地刪除為J提供資金的保證。L的結果變成了{A:8,I:5}。

現在,Alice可以使用L里的代幣為其它通道提供資金了。Alice也可以選擇取走資金。

總而言之,在協作式案例中,Alice可以使用L內的資金為多條不同的應用通道提供資金,也可以從這些取走資金,無需進行任何鏈上交易。

虛擬通道

在上一節中,我們已經介紹了如何在兩個參與方不存在鏈上關系的情況下創建三方通道。細心的讀者應該注意到了,更新J必須經過中間方簽字。在本文的開頭,我們打算在A和B之間創建一條私密通道。幸運的是,Nitro的可組合性讓我們可以創建一條由J提供資金的私密應用通道X。具體架構如下圖所示。你已經掌握理解這個架構所需的一切概念了。不過,如果你有任何問題,歡迎向我們提問!

X是一條虛擬通道

未來計劃

本文介紹的虛擬通道架構是Nitro協議論文中介紹的架構的進化版。最值得一提的是,這個架構不需要創建專門的保證者通道。

Nitro虛擬通道即將引入另一個更新,免去對聯合通道的需求。有了這個更新,賬本通道L和L'就可以為應用通道X提供資金。

本文由MikeKerzhner和AndrewStewart基于TomClose所著論文《Nitro協議》撰寫,感謝?RobertDrost、JosephChow、GeorgeKnee和ColinKennedy的反饋。

我們還可以將索取操作理解成:

將資金從L轉入J,改變J的結果。

將資金從J轉入目標地址。

如果賬本通道的結果是{J:{amount:10,priorities:}且J的結果是{A:4,B:6,I:10},索取可以描述成:

將10枚代幣從L轉入J。

J的結果變成{A:4,I:6,B:6,I:4}

然后在J上調用面向A和I的轉賬。

Tags:LICICEALIALICESoliceflokiceo幣發行價CALIT價格ALICE幣

Gate交易所
比特幣:在即將到來的數字時代 經濟的新形態將是什么?

作者|伊斯蘭姆博士,銀行、移動應用程序行業、海關和增值稅的企業級系統開發工程師,曾負責開發企業私有鏈.

1900/1/1 0:00:00
NFT:NFT選擇哪些城市落地?

隨著NFT產業的發展,其與游戲行業的結合也引發關注。對于NFT行業的興起與發展,各方給予厚望。那么,到哪些省市發展NFT更有優勢,帶著這個問題,我們查找了國內現有產業政策和促進意見,發現對于NF.

1900/1/1 0:00:00
NFT:一周必讀10篇 | 以太坊的單點登錄 開啟web3的重要一步

1.以太坊的單點登錄開啟web3的重要一步brantly.eth是一位以太坊社區用戶,他最近提到“使用以太坊單點登錄”概念。以太坊的單點登錄可以為所有dApp或App提供登錄服務.

1900/1/1 0:00:00
ALI:簡明理解零知識證明歷史、原理與發展現狀

原文標題:《零知識證明最簡介紹:歷史、原理、實現》密碼學可以說是區塊鏈技術的基石,而其中的零知識證明更是因為深度契合區塊鏈的技術特點,而得到了廣泛的應用和關注.

1900/1/1 0:00:00
ETH:以太坊正在蓄力爆發?交易所存放的以太坊降至近 3 年內低點

隨著投資者急于將他們的以太坊代幣存入ETH2.0存款合約,交易所的代幣數量已經下降至近3年內的低點。交易所持有的以太坊數量繼續減少,已經達到近三年來的最低位置.

1900/1/1 0:00:00
以太坊:歷史罕見大遷移:50%比特幣礦工“離線” 從數據看他們在做什么?

過去的一周中,礦機大遷徙正在進行,因為估計有50%的比特幣礦工在離線和遷移中。我們根據觀測到的鏈上數據對此次大遷移事件的程度進行了評估:盡管交易量仍在5約中旬以來建立的交易范圍內,本周比特幣交易.

1900/1/1 0:00:00
ads