編者按:本文來自以太坊愛好者原地址,作者:AlexBosworth,翻譯&校對:IANLIU,安仔Clint&阿劍,星球日報經授權發布。引言
我在推特上發起了一次調查,發現大家似乎對閃電網絡的局限性都很感興趣——究竟閃電網絡能做些什么,又或做不到什么。今天我就來和大家厘清一下閃電網絡的能力范圍。通道配置問題
從我一開始接觸閃電網絡,我就在思考閃電網絡的目標究竟是什么;我突然靈光乍現——假如全世界的交易都是閃電交易那會怎么樣?我想要以此假設為切入點,討論如何使得閃電網絡兼容所有的交易。首先我們要明確閃電網絡的定義——閃電網絡指的是基于余額鎖定的狀態通道所構建的系統。在系統中你我各自持有一些錢,然后我們使用閃電網絡實現“從我這兒轉錢到你那兒”或“從你那兒轉錢到我這兒”。我們還能使用HTLCs擴展以上功能,比如實現“我轉錢給你,然后你再轉錢給某某”。上述行為的前提是我們具備這些余額鎖定的狀態通道,這也是閃電網絡的基本功能界限。現在的問題是,這些通道有固定的容量與參與者集合,如果我們臨時需要發送一筆大額交易,而在此之前你從未與收款方有過任何交互,就會面臨通道還未正確設置的問題;你可以自行更改設置,但要求用戶去做這樣的操作就違背了我們設計閃電網絡的初衷。這可能是使用閃電網絡會遇到的主要問題,不過除此之外,還有一些問題大家可能會有興趣。一、閃電網絡是嶄新的生態系統、首創的平臺,需要大家學習如何使用它,同時還需要有人進行協議開發、軟件開發、建立路由節點、擔保資金等等。構建閃電網絡生態系統,也是種建設市場的過程,沒有這些人做出貢獻,閃電網絡將一文不值,因此生態系統的建立也是制約閃電網絡的因素之一。二、Layer-1是決定閃電網絡能否運作的關鍵因素。即使能夠在鏈下做許多事,我們仍需要保證這些操作都是基于去中心化的Layer-1,而且鏈下的交易最終能夠上鏈。就目前情況來看,比特幣網絡是最有可能成為第二層網絡底層支持的Layer-1。大額交易
閃電網絡中的比特幣數量突破1500枚,創下歷史新高:比特幣閃電網絡(LightningNetwork)中鎖定的比特幣數量突破1500枚,相比2021年年初增長了42%,創下歷史新高。截至6月15日,比特幣閃電網絡(LightningNetwork)的節點數量為21487個,支付通道數量49885個,平均節點容量為0.127BTC。[2021/6/15 23:39:10]
從貨幣的角度來看,我們必須確保比特幣是被大眾接受的支付工具,因為在推薦其他人使用閃電網絡進行支付可能遇到的最大障礙是,該如何說服他們使用這類奇怪的貨幣,這對使用者有什么好處?為什么這是件很酷的事?這貌似是我們這種閃電網絡協議開發者無法控制的事,但這對于閃電網絡的發展極為重要。我只是要強調,如果你要進行低頻次、高額、偶發的交易,那么使用閃電網絡會遇到諸多限制,這并不適合你。有很多人問:“什么是大額交易?5美元以上算嗎?還是50、500美元以上呢?”——這么問本身就很有問題。閃電網絡是個市場、是個持續進化的生態系統,你可以將其想象為互聯網。這個互聯網中還連接者大學的內網和公司的內網,內網里的使用者彼此關聯,因此網絡帶寬非常大,能夠快速發送信息;然而,一旦使用者登錄互聯網網看視頻或做些其他事,他們就會面臨計算機的“最后一公里”問題:使用者以為服務商能夠提供高質量視頻,但當他們撥號聯網后,卻發現看不了高清視頻;又或是使用者想要上傳視頻,卻發現自己上傳網速不夠。我所謂的“大額交易”問題,跟這個網速問題意思是一樣的。假如今天有個網絡,彼此之間都在余額鎖定為1000美元的通道中相互連接,那么即使我非常富有,想傳輸百萬美元的價值,我還是會受到系統的容量限制。所以即便我有大量的錢,我想在一個鎖定余額1000美元的通道中轉錢給某個人,那么上限就是1000美元,這就是所謂的大額度。區塊鏈vs閃電網絡
閃電網絡節點數量已達14367個:金色財經報道,據1ML.com數據,目前,支撐網絡的節點數量達到14367個,相較30天前數據,環比上漲2.21%;通道數量為35054,相較30天前數據,環比下降6%;閃電網絡承載能力目前為1029.47BTC,約合1612.9萬美元。[2020/11/6 11:52:54]
你為什么要使用區塊鏈?區塊鏈技術很棒,但你得忍受大量冗余;而狀態通道卻恰好能從冗余中獲益。如果你正在操作高價值的交易,那么區塊鏈適合你,因為區塊鏈能夠避免資產流動過程中可能出現的問題;同時區塊鏈使用起來也相對簡單,如果你需要在一個盡可能安全的地方保存資金,我會說那就用超級冷錢包吧。區塊鏈網絡將部分責任移轉給整個區塊鏈社區;而閃電網絡將更多責任賦予給使用者,這也意味著使用難度更大,后面我會進一步說明。托管vs閃電網絡
閃電網絡的另一個競爭者是托管式清結算網絡,或是其他使用閃電網絡的系統,如tipping.me或我創建的htlc.me。相比于閃電網絡,托管式工作適合低價值的交易,因為區塊鏈具有一定的上鏈成本,如果你的交易額度低于這個成本,那就會出現一些問題。因此,區塊鏈在清算小額交易上的困難也制約了閃電網絡。在發送超大額交易時,閃電網絡也會遇到問題。在區塊鏈發起上千萬的交易對你或許不是事兒,但如果是價值數十億的交易,你就會開始擔心區塊鏈的工作量證明是否靠譜,緊接著你就會想念托管式服務或是其他系統的好;更糟心的是,工作量證明需要耗費很長一段時間,你只能等著。所以閃電網絡能做的事情并非無限多,面對上述這幾種情況,閃電網絡并不是很好的選擇。如果你能夠找到值得信任的托管方、不介意做些妥協、不想把資金的責任攬在身上,那么托管式服務會比閃電網絡適用。區塊大小限制
動態 | 非營利組織Tor Project宣布通過閃電網絡接受BTC捐贈:據CoinTelegraph報道,11月19日,匿名網絡Tor背后的非營利組織Tor Project宣布,它將通過閃電網絡接受比特幣(BTC)捐贈,籌集的代幣將作為慈善籌款計劃“比特幣星期二”的一部分。[2019/11/20]
我從比較抽象的視角討論閃電網絡的局限性,如果你主要想了解閃電網絡可擴展性的限制,那我們先來談談區塊大小的限制。究竟一個區塊能夠裝進多少交易,大家對這個數字都非常著迷;我認為觀察交易如何被裝進區塊是件很有趣的事,所以我自制了一張圖表來展示一筆普通交易的數據構成,因為開關通道的交易就是一筆普通的交易,所以我們能直接看出一次開關通道需要占據多少數據量。圖例中表示了一個最小通道,字節都映射為虛擬字節;因為使用了隔離見證,所以簽名字節數經過壓縮。按照估算,一筆通道交易大小大約是112個虛擬字節數。這是理論上構造一個通道的最小數據量,我們能將其視為單位通道大小,推算一個區塊中能容納多少筆通道交易。每個區塊約有一百萬字節的空間,如果我們能夠將通道大小降低至100字節左右,理應能在區塊中放入大量的通道。但實際上并非如此,要獲得精確的單位通道大小,還需要經過更多復雜的考慮。
節約虛擬字節的技巧
有什么方法能夠使通道開關交易大小縮減為理論上的最小值?如果所有交易只有一個輸出,便能節省很多空間。但是當我們關閉一個通道時,可能會有多個輸出,因為通道中至少有兩方在進行資金轉移。這時候你可以站出來呼吁,“為了降低上鏈的數據大小,我們在關閉通道前進行一下重整吧”;所以我們會以某種方式推出其中一個輸出,使得區塊鏈只需要處理一個交易輸出。這么做能節省區塊空間,同時節省費用。另一種釋放鏈上空間的做法是,“開啟一個通道的同時,關閉另一個通道”。換句話說,因為某些交易輸出能作為其他交易的輸入,所以我們能將通道合并為一。這是個非常有用的技巧。另一種我們當前尚不支持,但是短期內會看到進展的有用技術是多簽名形式轉化,也就是把多重簽名壓縮為單個簽名的技術。這一技術極為強大,幾乎不存在什么重大缺陷。通過簽名聚合,我們能夠將大量的簽名合而為一。如果能用Schnorr和Musig進行簽名整合當然很好,不過以橢圓曲線數字簽名實現也行。還有一件事需要考慮,很多時候人們會估算上鏈的成本,并傾向不配合關閉通道。比如存在這種情況——“我們要將通道輸出廣播上鏈,但是對方掉線了,該怎么辦?”在示例中,如果有一方選擇不配合關閉通道,這并不需要通過什么復雜的腳本來解決,因為我們可以直接將不配合關閉通道的操作視為交易失敗條件之一。我們應該嘗試以時間鎖或更高昂的費用,通過經濟手段激勵人們彼此配合關閉通道,比如,如果不合作關閉通道,就得付出更多的費用。另一個我們已經實現的節省虛擬字節的方案是關于粉塵交易輸出的,因為在上鏈環節,這種極小額的交易輸出會被區塊鏈拒絕,或在對等傳輸階段視為垃圾交易。作為解決方案,軟件會將這些極小的輸出放進礦工費中,因此,當我們必須以不配合的方式關閉通道時,能夠稍微提高交易確認速度。增加通道成員,減少虛擬字節
動態 | 支持比特幣閃電網絡的Tippin應用下載量達到1.3萬次:據ambcrypto報道,Tippin首席開發人員Sergio Abril在最近的一次采訪中表示,從一開始,我就希望Tippin成為一種易于使用的服務; 嘗試使Lightning Network微支付變得簡單。目前支持比特幣閃電網絡的Tippin應用下載量達到1.3萬次。[2019/3/2]
改善閃電網絡的又一利器則是創建多方,而非僅僅兩方參與的通道。當然這樣的設計并非萬全之策,而且這種機制的復雜性限制了它的落地應用。目前我們最多只能在一個通道中加入兩個參與者,而在一個通道中加入更多人其實正是拓展虛擬字節利用率的絕佳手段。單個通道中加入多個參與者的約束條件在于,究竟輸入會被轉換為多少個輸出?通道內的交易最終還是要落到區塊鏈上的,即使某一時刻不打算上鏈打包交易,我們也要具備交易隨時上鏈的能力。而現在面臨的的限制是每個人都想要拿回屬于自己的那一份交易輸出。比如說現在到了關閉通道的時候,我想收回屬于自己的錢,此時每一個輸出都要花費大約30個虛擬字節。其實這時候你還不一定需要耗費這30個虛擬字節,但當你在在通道中遇到分歧,沒法最終整合到一個輸出的情境時,就必須多消耗這30個虛擬字節。必須提醒一點的是,這些多方參與的通道,在建立時只需要一個人進行注資,即僅需要一個人來建立輸入并發起交易。我實際上可以在向通道注資之后廣而告之,“來十個人加入我剛剛建立的通道吧,這個通道的注資輸入是我一個人的,大家接下來就把我的輸入折騰成大家的輸出,當然這些輸出不會即刻反映到區塊鏈上,除非我們沒法繼續重整這些輸出,只能不情愿地關閉通道,將交易廣播上鏈。”多方參與的通道,人數可以達到相當高。基于我之前提到的簽名整合技術——將數百個簽名整合到一個簽名上——理論上我們能在一個通道內加入數以千計的參與者。在設置輸入需要留意:你其實也在設置大家的集體公鑰,而集體公鑰是由所有人的公鑰進行哈希處理整合而成,所以并不需要多大的存儲占位空間,就是固定大小的一段。如果上述想法能落地實現,就意味著我們能夠在一個區塊中添加成百上千的通道。不負責任第暢想一下,也許能有數以千計的參與者加入到通道中。即使從現實出發,達到數十成百的參與者也不成問題。按這樣計算,在一周之內我們能處理達到百萬量級人次的交易。如此看來,以增加通道參與方的數量的方式來攫取通道的處理潛力具有相當大的探索空間,并且這種努力的方向并不會改變區塊鏈的屬性。責任
動態 | ACINQ籌資170萬美元用于加速全球采用比特幣閃電網絡:法國比特幣技術公司ACINQ籌集了170萬美元資金,加速全球采用比特幣閃電網絡。迄今為止,該項目的最新資金總額為200萬美元,該筆投資由Serena Capital領投。[2018/10/5]
把話題拉回系統設計,我想談談閃電網絡的延展性設計以及我們如何實現延展。在系統中我們面臨著這些問題,同時也是責任。系統中的參與者必須要回答以下問題:誰的錢會歸誰?誰在其中起操控作用?這些操作是在通道中發生的嗎?通道是怎樣建立的?誰在驗證這些操作?誰來保證每個人都遵守了規則?同時如何確保每個人都獲取到了正確的數據?以上都是區塊鏈和閃電網絡在延展性上中所遇到的高級問題。責任分攤
閃電網絡的設計路線是分攤責任。系統中每一個人都需要盡可能控制好自己的那一部分責任,這樣以來,就能在不給整個系統過多負擔的責任下使盡可能多的人參與進來。閃電網絡中將要使用的一條原則是:“你必須保管好自己資金的數據庫”。除你之外,沒有人有義務告訴你這筆交易收了多少錢,你必須追蹤自己交易的元數據,即:誰發送了交易,你又把交易發給了誰,這些將會是你自己的責任,而不是大家共同分擔的責任。當你在做某些全局性的操作而要給其他人證明的時候,你只需向他們展示最基本的證據證明自己的操作是合法的。如此一來,加入的新用戶不會給系統帶來負擔,而其他的方式會破壞網絡增長的延展性。我們同樣設置了機制來保證用戶僅僅需要核驗區塊、檢查與自己發生交互的其他參與者的交易簽名和操作。用戶只需要和固定數量的一小撮其他參與者發生交互,而不需要每來一個新人就費勁地核驗一番。這種思想同樣體現在了閃電網絡的數據共享上。我們將會把僅把那些和你直接相關——即你需要關注的——可能是交易中一部分的數據分發給你。限定用戶交互的其他參與者數量,能保證拓展網絡的同時不至于增大添加新用戶的邊際成本。責任代理
這給用戶加入閃電網絡帶來了挑戰。在區塊鏈中,系統其實已經替你完成了許多工作,用戶無需對自己資金的數據庫負責,而是由區塊鏈系統自動完成。你只需要拿好自己的助記詞,下載好區塊鏈,它會把所有的區塊掃描一遍來檢查你的資金存放位置。我們在這個方向上做了更多的工作。雖然有很多提案表示用戶應該負更多的責任,來讓Layer-1得以擴展,但至少目前我們并不是這么做的。目前,只要你沒忘記助記詞,別的都好說。在區塊鏈上,延展之所以成為一個難題,是因為系統中新用戶的加入增加了需要核驗的人數。舉例來說,如果網絡中增加了一千個新用戶,那每一個老用戶都要核驗這一千個新人,這非常不利于延展。從用戶之間的數據共享角度看,用戶越多意味著數據越多,所以隨著網絡的拓展、資源開銷也急劇增大。在區塊鏈上靠別人替你操作數據著實舒心,而在閃電網絡上要靠自己管理這一切就沒那么友好了。如果用戶丟失了自己的數據庫會有什么后果呢?由于我們取消了數據庫共擔的責任,現在數據庫維護完全是用戶自身的工作了。如果你把數據庫弄丟了,那可要倒大霉了。處理這個問題的一種途徑是“大家來采用責任代理”。即不把責任完全壓在用戶的肩上,而是有一些公攤的責任,但是需要用戶來決定自己想承擔多少公攤責任。我們目前把這種機制叫做數據丟失保護協議,lnd對這一特性正有所需求。你的伙伴節點會幫助你保存一小組數據,在你想要關閉通道但丟失了部分數據的時候,為你提供所需要的數據來完成關閉操作。我們剛剛在0.6版本中加入這個功能來實現靜態通道備份系統。這是一組你從別處復制過來的數據,你可以把他復制到P2P服務里,也能如你所愿直接放到GoogleDrive上。它以一個加密的、很小的文件形式來呈現。我們目前正在致力于研發瞭望塔工程,當你不想要一直監視著通道,或者相對自己的通道承擔所有的責任時,可以把這些工作外包給瞭望塔完成。在區塊鏈之類的系統中,如果有人想要搞雙花或者別的破壞,整個社交網絡會聯合起來粉碎他們的陰謀。正義之士會譴責:“你不能這么做,這沒任何好處”。或者通過別的方式來無效化這些攻擊行為。將這種行為類比到閃電網絡中,你可以講:“我要選這些人當我的觀察員,雖然我也可以自己完全攬下這些工作,但那樣我就只能一直在網絡上掛著了”。同樣由于區塊鏈是一個共享所有數據的分布式賬本,它會為你保管相關的數據。而在閃電網絡中,如果你不在線,那就有可能接收不到和自己有關的數據。所以我們可以把責任代理出去,告訴所有人:“這個節點可以作為我的信箱。”充當信箱的節點會延遲HTLC最后一步的操作,然后向你發送郵件,或者你可以每天登陸一次閃電網絡,檢查郵箱是否收到郵件。接著由你來完成HTLC最后一步的操作。上述機制設計的關鍵在于,你雖然需要他人充當你的信箱,但他們無法對你的資產做任何處置。我們在責任委派上會設計一種溫和的解決方案。
側鏈這個概念,最早是在2014年,Blockstream的CEOAdamBack首次提出的。區別于主鏈,發展側鏈最主要的目的,就是解決主鏈上的問題,比如主鏈的擴展性,或者主鏈上的資源緊張.
1900/1/1 0:00:00PoS本質上是一種持有一定幣量而獲得挖礦資格和收益的共識協議,在最初ProofofStake2013年被提出來后.
1900/1/1 0:00:00文|牛牛Chang來源|PANews《區塊鏈革命:比特幣背后的技術如何改變金錢,商業和世界這本書,不少行業人士都曾讀過.
1900/1/1 0:00:00作為一個合格的加密貨幣投資人,除了對行情數據如數家珍以外,還應該具備一些基礎的區塊鏈數據知識,才能對項目有更為成熟的判斷.
1900/1/1 0:00:00頭條 MorganCreekDigital聯合創始人:摩根大通區塊鏈支付公司,巴菲特也將很快投入5月19日.
1900/1/1 0:00:00致身為區塊鏈行業開拓者的你:你好,我是區塊鏈倪老師。上回分享了我在區塊鏈從業過程中的一些思考:《寫給區塊鏈初創者的一封信》,這回我接著說一些能給大家起到一點幫助的思考.
1900/1/1 0:00:00