基於Qtum量子鏈的閃電網路功能簡介及測試

買賣虛擬貨幣

區塊鏈的可擴充套件性是實現海量交易的關鍵,目前比特幣網路能達到每秒最多7筆的處理能力,Qtum網路目前可以實現比特幣10陪的處理能力,但對於海量交易來說是不夠的(例如電子商務應用場景,近年阿里巴巴雙十一購物節,支付寶網路峰值交易超過每秒100000交易(TPS);Visa在2013假期期間,實現每秒47000交易(TPS))。為了解決這種海量交易帶來的處理和儲存問題,Joseph Poon提出了閃電網路(Lightning Network)解決方案,閃電網路是一個去中心化的系統,無需信任對方以及第三方即可實現實時、海量的交易網路。其基本思想是交易雙方在鏈上透過交易指令碼建立支付通道,之後雙方實時、海量的支付交易在鏈下完成,透過連結多個通道可以實現網路內任意兩點之間的資金交易,完成價值轉移,而無需信任第三方進行資金託管和結算,這些轉移可以在不受信任的雙方之間透過合約沿著傳送路徑進行。

c-lightning是一個在比特幣區塊鏈上對閃電網路的一個參考實現,目前可以支援閃電網路的支付通道建立、接收付款等功能。Qtum在c-lightning的基礎上做了相應修改形成qtum-lightning,使得在Qtum下也可以實現諸如通道建立、實時交易、小額交易等功能。下面在透過在Qtum主幹網路(mainnet)對這幾個閃電網路功能進行測試。

1. 測試環境

兩臺Ubuntu 16.04的電腦,安裝有qtum core和qtum-lightning。qtum-core用於連線Qtum主幹網路,qtum-lightning使節點實現閃電網路功能。

2. 閃電網路測試

本次測試,透過A節點和B節點之間建立支付通道,實現即時、小額的支付功能,主要流程包括:資金準備,連線建立,通道建立、支付交易。測試實現了往通道存入0.1QTUM的資金,並從B節點往A節點支付了0.00000001金額的QTUM。

2.1 獲取兩個節點的資訊 首先獲取節點的相關資訊,用於後續操作:


2.2建立支付通道

閃電網路的通道是實現鏈下交易的開始,通道建立以後,就可以在鏈下實現交易了,無需再廣播到鏈上。建立過程是先在往節點管理的錢包地址存入用於建立通道的資金,並加入到資金池,之後可以使用資金池金額的一部分建立閃電網路通道。


2.3 在閃電網路通道進行支付 閃電網路通道里的支付過程是由接收側發起的,首先接收方A節點生成一個接收自己的單據,然後傳送方B節點就可以按照支付的資金大小獲得一個從B到A的支付路由,最後根據該路由資訊就可以把自己傳送到A節點了。


2.3 在閃電網路通道進行支付 閃電網路通道里的支付過程是由接收側發起的,首先接收方A節點生成一個接收自己的單據,然後傳送方B節點就可以按照支付的資金大小獲得一個從B到A的支付路由,最後根據該路由資訊就可以把自己傳送到A節點了。


3 檢視支付後的結果

在閃電網路通道進行的支付,可以實現即時結算,在節點B往A執行sendpay之後,通道的資金的新的分配結果實時產生,可以透過檢視A、B節點的資訊檢視通道資金的分配情況。


B節點在傳送前存入了0.1QTUM傳送0.00000001QTUM後,還剩餘0.09999999QTUM,同時看到的通道總金額不變,即沒有花費手續費。

透過以上的測試可以看到,基於Qtum的閃電網路的基本可以實現在鏈下進行實時的交易和結算,只涉及到兩方的交易可以不用支付手續費,使得諸如小額支付等成為可能。理論上可以在透過在Qtum鏈下建立大量的閃電網路通道,把交易放在鏈下,可以實現實時、海量的交易。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;