1. 程式人生 > >簡述比特幣閃電網路

簡述比特幣閃電網路

隨著比特幣的普及以及其價格的暴漲,使用比特幣交易的人也越來越多,比特幣網路每秒7次交易的速度遠低於傳統金融交易系統,比特幣網路開始出現擁堵、交易費用上升等問題。此外,比特幣轉賬成功需要等待6次確認,按照中本聰創造比特幣時設計的每10分鐘出一個塊來看,真正完成一次交易前後需要花上大約一個小時的時間。可以理解比特幣的這些機制是為了確保交易的安全性,但是 是以犧牲效率而達到的,這對中本聰想要將比特幣作為流通貨幣的發展願景而言,是遠不能接受的。為了更好的平衡安全和效率,我們可以思考一個問題:對於大量的小額交易是否一定需要如此嚴格的安全信任機制。
針對上述問題,2015年2月,智慧合同交易平臺Mirror的CTO——Joseph Poon寫了一篇題為“比特幣閃電網路:可擴充套件的鏈下即時支付”的白皮書。
閃電網路的主要思路很簡單,就是將大量的交易放到比特幣區塊鏈鏈下進行,其目的是實現安全的進行鏈下交易,其本質上是使用了雜湊時間鎖定智慧合約來安全的進行0確認交易的一種機制。
閃電網路有兩個核心的概念:RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract)。前者解決了鏈下交易確認的問題,後者解決了支付通道的問題。
RSMC可以翻譯為‘可撤銷的順序成熟度合同’,其原理很簡單,假定交易雙方之間存在一個“微支付通道”(資金池)。雙方都預存一部分資金到“微支付通道”裡,之後每次交易,就對交易後的資金分配方案共同進行確認,同時簽字作廢舊的版本。當需要提現時,將最終交易結果寫到區塊鏈網路中,被最終確認。可以看到,只有在提現時候才需要通過區塊鏈。
任何一個版本的方案都需要經過雙方的簽名認證才合法。任何一方在任何時候都可以提出提現,提現需要提供一個雙方都簽名過的資金分配方案(意味著肯定是某次交易後的結果)。在一定時間內,如果另外一方提出證明表明這個方案其實之前被作廢了(非最新的交易結果),則資金罰沒給質疑成功方。這就確保了沒人會拿一箇舊的交易結果來提現。
另外,即使雙方都確認了某次提現,首先提出提現一方的資金到賬時間要晚於對方,這就鼓勵大家儘量都在鏈外完成交易。
微支付通道是通過 HTLC來實現的,中文意思是“雜湊的帶時鐘的合約”。這個其實就是限時轉賬。理解起來其實也很簡單,通過智慧合約,雙方約定轉賬方先凍結一筆錢,並提供一個雜湊值,如果在一定時間內有人能提出一個字串,使得它雜湊後的值跟已知值匹配(實際上意味著轉賬方授權了接收方來提現),則這筆錢轉給接收方。
RSMC 保障了兩個人之間的直接交易可以在鏈下完成,HTLC 保障了任意兩個人之間的轉賬都可以通過一條“支付”通道來完成。這兩者的組合構成了閃電網路。
可能到這你對這些概念性的東西還是一頭霧水、不知所云,那麼下面我們舉一個例子說明一下:
甲乙兩個人分別存放一筆資金到資金池內(甲:1BTC,乙:2BTC),這個資金池可以理解為一封電子合同(實際上是一個地址),上面記錄了甲和乙分別有多少錢在賬上。如果甲需要轉賬0.5BTC給乙,那麼就要撕毀之前的合同,重新建立一個新合同(甲:0.5BTC,乙:2.5BTC),這時甲拿著新的合同去找乙,乙看到合同上的賬目沒有問題,於是甲乙兩人在新的合同上簽名,舊合同撕毀,新合同生效,這樣就完成了鏈下轉賬。這個過程中並沒有涉及鏈上交易,和比特幣的每秒7次交易速度以及6次確認原則均無關,因此該方式的交易速度大大提高,只有從交易池中將資金提取出來才涉及到鏈上交易。
這裡寫圖片描述

這種交易方式看著是不是很眼熟,很像支付寶、微信的交易方式,在微信交易的過程中實際上就是微信錢包餘額數字的改變,實際上並未發生真正的資金流轉,只有將資金從錢包中提取出來才會發生資金流轉。區別在於,微信、支付寶是以各中心化的第三方機構,所有轉賬都是通過他們來進行的,而RSMC則是通過合約的方式,去除了第三方,解決了信任問題。
可能到了這裡你又要問了,那如果我需要和一個不認識的人進行交易,我們事先沒有準備資金池,那麼我們之間的交易將如何進行呢?我們來看下面這張圖:
這裡寫圖片描述

如果甲需要向丙轉賬0.5BTC,但是甲和丙不認識,他們之間沒有一個資金池,那麼他們可以找一箇中間人乙,乙既認識甲又認識丙,那麼甲可以先向乙轉賬0.5BTC,乙再向轉賬0.5BTC,這樣就間接實現了甲向丙轉賬0.5BTC。資金池A和資金池B就像是打通了甲和丙之間的一座橋樑。這種關係可以推廣到任意個,無數個這樣的資金池打通了網路裡的所有持幣者,閃電網路就此形成。我想你一定聽說過六度空間理論:你和一個陌生人之間所間隔的人不會超過6個,在比特幣閃電網路中也是一樣。
這裡可能還是有些問題,比如:乙為什麼要費力為甲和丙搭一座橋?乙也是第三方,怎麼就值得信任了?更多的細節性的問題,這裡就不一一詳述了,如果有興趣,可以扒一扒

閃電網路白皮書

相關推薦

簡述閃電網路

隨著比特幣的普及以及其價格的暴漲,使用比特幣交易的人也越來越多,比特幣網路每秒7次交易的速度遠低於傳統金融交易系統,比特幣網路開始出現擁堵、交易費用上升等問題。此外,比特幣轉賬成功需要等待6次確認,按照中本聰創造比特幣時設計的每10分鐘出一個塊來看,真正完成一次

閃電網路(Lighting Network)入門

比特幣閃電網路 什麼是支付隧道(Payment channels) 支付隧道是用於在無信任環境中進行鏈下交易比特幣的一種機制。交易雙方通過廣播並鎖定一筆由雙方共同簽名的鏈上交易。隧道(channel)只是一種虛擬的比喻,一個隧道由一個在鏈上的(on-chain)的f

從零開始學習--P2P 網路的建立之訊息處理上篇

現在終於,來到了我們非常非常關心比特幣訊息處理,通過比特幣訊息處理,我們會理解比特幣的協義,理解比特幣是如何同步區塊,如何傳送交易,從而建立起理解比特幣的至關重要一步。 本部分內容是如此的重要,也是相當的長,所以我們分上下兩部分來介紹具體的訊息處理。 上篇主要

利用Bitcoin Core(核心錢包)和Testnet(測試網路)體驗交易

 彷彿一夜之間,加密貨幣和其背後的區塊鏈技術就這麼火了起來,而最大的功臣非比特幣莫屬。短短一年裡,比特幣的價格報漲了幾十倍,讓不少投資者一夜暴富,嚐盡甜頭。而有些人則將之比喻為鬱金香泡沫,認為這是二十一世紀的一場全球性的鬧劇,然而更多的人還是想趕上這趟二十一世紀最具科技與財富前景的快車。只是虛擬貨幣涉及到許許

交易平臺開發-搭建測試網路

前言準備開始基於比特幣開發,首先要搭建比特幣的測試網路,本文包括環境部署搭建、如何免費獲取測試的BTC。搭建測試網路流程1.   安裝部署錢包節點2.   執行測試網路3.    免費獲取測試的BTC安裝部署錢包節點一、 安裝部署錢包節點安裝部署前首先通過比特幣官方網站下載比

閃電網路、隔離見證助力,交易費降至三年來低點

據CCN 1月7日報道,比特幣的交易費用已在最近跌至三年來的低點,根據BitInfoCharts的資料,這一加密貨幣的網路交易費用的中位數僅為0.029美元。 正如加密貨幣社群研究人員Kevin Rooke在Twitter上指出的那樣,比特幣網路自2015年10月份幣價為270美元以來,從

從零開始學習開發(七)-P2P網路建立流程之生成地址對並連線到指定地址

本節繼續講解比特幣P2P網路建立流程,這節講解的執行緒為’ThreadOpenAddedConnections’,它的作用是生成地址對並連線到指定地址。 本文可以結合比特幣系統啟動的的第12步的講解來看,可以更加系統的瞭解比特幣系統啟動的過程。 P2P 網路的建立是在比特幣系統啟動的第

從零開始學習(六)--P2P網路建立的流程之查詢DNS節點

上節開始我們已經開始講解比特幣系統中P2P網路是如何建立的。還記得在比特幣系統啟動的的第12步的講解中,我們提到有幾個執行緒相關的處理非常重要嗎?以下內容正是基於此做了詳細的講解。由於篇幅過長,我們分幾篇文章依次道來。 P2P 網路的建立是在比特幣系統啟動的第 12 步,最後時刻呼叫 C

從零開始學習(五)--P2P網路建立的流程之套接字的讀取和傳送

寫在前面: 本篇文章接續 從零開始學習比特幣開發(四)–網路初始化,載入區塊鏈和錢包,匯入區塊啟動節點 從零開始學習區塊鏈技術(三)-接入比特幣網路的關鍵步驟解析、建立比特幣錢包,以及重要rpc指令 從零開始學習區塊鏈技術(二)–如何接入比特幣網路以及其原理分析 從零開始學習

從零開始學習開發(四)--網路初始化,載入區塊鏈和錢包,匯入區塊啟動節點

寫在前面: 本篇文章接續 從零開始學習區塊鏈技術(三)-接入比特幣網路的關鍵步驟解析、建立比特幣錢包,以及重要rpc指令 從零開始學習區塊鏈技術(二)–如何接入比特幣網路以及其原理分析 以及從零開始學習區塊鏈技術(一)–從原始碼編譯比特幣 如果這篇文章看不明白,請務必先閱讀之前的文章

區塊鏈學習1.5-原始碼的學習-網路

本篇文章有部分內容直接出自《Mastering Bitcoin》 比特幣網路層主要是由 P2P網路,傳播機制,驗證機制三部分組成。 白皮書關於network的內容回顧一下: The steps to run the network are as follows:

網路架構及節點發現分析

一、P2P網路架構 比特幣採用了基於網際網路的點對點(P2P:peer-to-peer)分散式網路架構。 比特幣網路可以認為是按照比特幣P2P協議執行的一系列節點的集合。 本文來分析下比特幣網路,瞭解它跟傳統中心化網路的區別,以及比特幣網路是如何發現相鄰節點的。  

從零開始學習開發(九)--P2P 網路建立之訊息處理中篇

P2P 網路的建立是在系統啟動的第 12 步,最後時刻呼叫 CConnman::Start 方法開始的。 恭喜你越來越接近比特幣的核心了,在上篇中,我們主要講解了比特幣的訊息處理執行緒,接下來,在下篇中,將以具體的比特幣訊息即比特幣協義分析為主。針對比特幣的協義

原始碼分析--P2P網路初始化

     區塊鏈和AI無疑是近期業界當之無愧的兩大風口。AI就不說了,區塊鏈從17年各種數字貨幣被炒上了天,一下成為了人們街頭巷議的焦點,本文撇開數字貨幣的投資不說,僅僅從技術層面來剖析一下區塊鏈各個部分的原理。畢竟目前已經有包括BAT等巨頭在內的許多公司投入到了區塊鏈的研發

學習之-P2P網路

比特幣的網路採用了基於國際網際網路(Internet)的P2P網路架構。英文是peer to peer,所以也叫對等網路。顧名思義也就是網路中的每臺計算機是對等的,各個節點共同提供網路服務,不存在任何“特殊”節點。在 P2P 網路中不存在任何服務端(server)、中央化的服務、以及層級結構。這也是比特幣網路

原始碼分析-網路(二)

比特幣原始碼分析-網路(二) https://www.jianshu.com/p/4b42d8698f35   眾所周知,比特幣網路是採用的P2P網路體系,所以,沒有明顯的客戶端與服務端的區別或者是概念,每一個節點既是自身的客戶端,又是其它節點的服務端。 在sync.h中,

深入瞭解區塊鏈之五:網路

 P2P網路架構比特幣採用了基於國際網際網路(Internet)的P2P(peer-to-pee

從零開始學習區塊鏈技術(二)--如何接入網路以及其原理分析

如何接入比特幣網路以及原理分析 1、如何接入比特幣網路? 其實接入比特幣網路是非常簡單的,我說了你一定不信,啟動比特幣客戶端即可: 在命令列終端輸入啟動命令:./src/bitcoind -testnet 輸入之後會有一個和網路同步資料的過程,

BOTCHAIN:第一個基於協議的功能齊全的僵屍網路

前言 近期,來自Cybaze公司ZLab惡意軟體實驗室的安全專家Antonio Pirozzi和Pierluigi Paganini介紹了一款名叫BOTCHAIN的僵屍網路,而它是世界上第一款基於比特幣協議構建的全功能僵屍網路。 區塊鏈技術能夠以可靠的方式驗證通訊雙方

原始碼閱讀筆記【網路篇】

這篇文章總結下比特幣網路相關內容。 2008年中本聰創造比特幣時在白皮書中這樣定義比特幣:一個點對點的電子現金系統,那時還沒有“區塊鏈”這個說法。那段時間,點對點(P2P)網路已經有了廣泛的應用,例如Bittorrent和迅雷。P2P網路最大的特點就是網路中沒