在本文中,我們介紹了一種叫作虛擬通道的新型狀態通道結構。虛擬通道不僅使得付費文件流等新型應用場景成為可能,還可以簡化去中心化的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都需要短暫交互,創建多條狀態通道的成本是極其昂貴的。
虛擬通道可以完美解決我們的設計問題。虛擬通道尤其適用于軸輻式拓撲結構。多位參與者先與一個免信任的中間方建立連接,然后任意兩位參與者再通過質押的方式創建私密通道。中間方并不知道私密通道內運行的是什么應用。另外,任何參與者都可以發起鏈上挑戰找回自己的資金,即使通道內的其他參與者和中間方處于離線狀態或作惡。
維珍銀河董事長:PayPal消息傳出后各大銀行討論如何支持比特幣:維珍銀河董事長Chamath Palihapitiya今晨發推表示,PayPal消息傳出后,各大銀行都在開會討論如何支持比特幣。它不再僅作為一個選項。[2020/10/22]
通過虛擬通道連接各方
總的來說,只要Alice和Bob之間有經過中間方的路徑,無論網絡拓撲結構是什么樣的,虛擬通道都可以讓Alice開設與Bob之間的私密通道。
背景知識
不同的區塊鏈生態系統都將狀態通道視為一種可以讓少數參與者:
建立鏈上聯系并存入資金;
私下交換信息,有條件地在參與者之間轉移資金;
關閉鏈上通道,完成各方之間資金結算的方法。
我們之前已經在statechannels.org網站上發文介紹了如何構建狀態通道,以及如何通過一個叫作賬本通道的架構讓一條狀態通道為另一條狀態通道提供資金。這些架構要求通道參與者必須在鏈上建立直接聯系。換言之,如果Alice和Bob之前從未交互過,現在卻想開通狀態通道,他們必須簽署協議,并將資金存入合約內。
但虛擬狀態通道可以實現以下應用場景:
Alice與免信任的中間方創建狀態通道。假設這個中間方叫作Irene。
Bob同上。
在Irene以及創建好的通道的幫助下,Alice和Bob可以創建一條新的私密通道并存入資金。創建這個私密通道不需要通過鏈上交互。我們將Alice和Bob之間的通道叫作虛擬通道。
就付費文件流這個應用場景而言,Alice先要通過主網交易與中間方Irene創建一條通道。接著,她可以通過虛擬方式與任意數量的對等節點相連,只要后者與Irene之間也存在鏈上通道。一旦連接成功,Alice就可以持續支付數據下載費。
我們的協議Nitro可以實現以下應用場景:
幫助Alice和Bob創建虛擬通道的中間方Irene實際上不在這個虛擬通道內。Irene只是幫忙創建通道,并在通道關閉時結算資金而已。因此,Alice和Bob之間可以實現完全私密的交流,并將Irene排除在這個應用的關鍵路徑之外。更重要的是,Alice和Bob可以在私密通道內運行多個不同的應用,無需Irene針對這些應用實現任何新的邏輯。因此,虛擬通道是通用可編程的多跳狀態通道,因為每條狀態通道都可以根據自己的一套“規則”來創建。Alice可以向Bob付費購買某個文件內容。Bob也可以向Alice付費進行Graph查詢。
大咖零距離 | BTC價格劇烈波動 如何保持長期盈利:4月1日16:00,金色盤面邀請撈針選手泰迪幫主做客金色財經《大咖零距離》直播間,將分享《BTC價格劇烈波動,如何保持長期盈利》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可。[2020/4/1]
所有Nitro通道都是可組合的。因此,獲得資金的通道可以通過遞歸的方式為其它通道提供資金,無論前者是通過何種方式獲得資金的。一旦某條通道獲得資金,它就可以運行任何應用或為其它通道提供資金。
Nitro的替代方案
其它協議可以讓兩位參與者無需在鏈上存入額外資金,即可通過中間方創建通道。一個成熟的模式是,使用經過哈希的時間鎖通過中間方將Alice的付款路由給Bob。這個模式有一個很明顯的缺點:所有付款必須通過中間方路由。
一些比較新穎的架構可以讓Alice和Bob通過中間方創建通道后實現點對點付款。然而,這些架構依然需要中間方理解Alice和Bob所運行的應用,因為通道余額最終要通過中間方取回。有了Nitro虛擬通道,中間方就可以被隔離在Alice和Bob之間的通道外。
通道內部的資金轉移
本文將深入介紹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+式的有序字典。
大咖零距離 | 減產在即 如何把握接下來的行情節奏:2月13日16:00,金色盤面邀請幣圈KOL幣姥爺做客金色財經《大咖零距離》直播間,將分享《減產在即,如何把握接下來的行情節奏》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可![2020/2/13]
上圖顯示了Alice和Bob是如何根據{A:7,B:3}這一結果從通道C中取走代幣的。根據鏈上裁決者的記錄,通道中共有10枚代幣。Alice或Bob將通道結果記錄到鏈上。這個結果記錄下來后,Alice和Bob就可以取走代幣。于是,Alice的外部賬戶中增加了7枚代幣,Bob的外部賬戶增加了3枚代幣。
雖然上述結果暗示目標是用戶賬戶,但是在Nitro中,通道本身也可以是目標。這樣一來,通道L也可以充當“私密賬本”,因為Nitro可以讓一次性一次性將資金存入賬本通道,然后為多條子通道提供資金。Nitro避免了回到Layer1的需求,以及由此產生的延遲和成本!例如:
假設C2是一條Nitro通道,{A:4,B:1,C2:5}命令裁決者向Alice支付4枚代幣,再向Bob支付1枚代幣,然后將C2的代幣持有量增加5。
C1是賬本通道,C2是從賬本通道獲取資金的通道
以上是一個簡短的介紹。如果你想要深入了解Nitro,請查看我們的相關博客文章!
如何利用保證來實現免信任架構
接下來,我們將介紹當兩位參與者沒有鏈上關系時,如何通過一個安全的架構來創建三方通道。這個架構不僅能讓賬本通道為其它通道提供資金,還能實現虛擬通道。兩位參與者分別是Alice和Bob,中間方是Irene。
聲音 | 中國市場學會理事張銳:無論Libra命運如何 Facebook都是大贏家:7月18日,中國市場學會理事、經濟學教授張銳發表文章《無論Libra命運如何,Facebook都是大贏家》。文章指出,由于Libra錨定了銀行存款、政府債券以及一籃子貨幣,完全可以量度商品的價值,同時可以充當商品交換的媒介,并作為標的進入公眾財富的儲藏范疇。因此,即便是Libra不能獲得全球性法定貨幣的身份,但它完全能夠以數字貨幣的身份像比特幣那樣在商品與服務流通領域長袖善舞,而且龐大的用戶群體為其創造的價值空間一定比任何一種數字貨幣要廣闊寬泛得多。不僅如此,Libra還可像微信和支付寶那樣打開數字金融與數字社會的入口,從而將Facebook帶入新的商業模式。[2019/7/18]
我們首次嘗試使用一個通道來連接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枚代幣。
另外還有一條獨立通道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的資金。
Thomas 發布趣味視頻 講述EOSIO系統如何向節點支付獎勵:據金色財經合作媒體IMEOS 報道,昨日 Thomas Cox 在 YouTube 上傳了一個手繪風視頻,為大家講解 EOSIO 系統如何向節點支付獎勵。視頻中說到,按照每年通貨膨脹 5% 的規則,每天大約會有 133,000 個新的 Token 產生,那么增發總數的 1%,即約為 27,000 個新的 Token 用于支付節點支出。并且,新系統中沒有取中間值報價的說法。另外 4% 會進入 Worker Proposal Fund。[2018/5/21]
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:ALIALICEICELICAustralian Kelpiealice幣發行量METAVICE幣Leonidasbilic
7月13日,一個名為DeFiEducationFund的組織拋售50萬枚UNI獲利超千萬美元,引起加密社區的廣泛討論與關注.
1900/1/1 0:00:00加密貨幣出現了很長一段時間以來的最大跌幅。整個加密貨幣市場下跌了約44%。比特幣價格低于32000美元,是幾個月來的最低價格。結果,整個加密市場受到了限制.
1900/1/1 0:00:00會議紀要 時間:2021年7月7日國盛證券2021年中期資本市場峰會——分論壇6:元宇宙:虛實之間主持人:宋嘉吉?所長助理、國盛區塊鏈研究院院長主講嘉賓:徐思彥騰訊研究院智慧產業研究中心副主任.
1900/1/1 0:00:00文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00日本加密交易平臺正推動放松保證金交易規則以促進該行業發展:金色財經報道,日本加密貨幣交易平臺正在推動放松對保證金交易的限制.
1900/1/1 0:00:00編者注:本文作者為TracyLevine,ForbesCoaches委員會成員、TracyLevineForbes委員會成員.
1900/1/1 0:00:00