閃電網絡Lightning Network

區塊鏈很慢,並且昂貴。閃電網絡(Lightning Network)就是解決這個問題的。若是我不得不發送給你一些比特幣,你會在幾個小時內收到它們,並且我也支付了很高的交易費。憑這樣的聲譽,Blockchains將如何接管世界?php

任何能夠解決區塊鏈不可擴展性的想法都值得關注,特別是時間和精力相關的。閃電網絡就是這樣一個想法。但在咱們理解解決方案以前,咱們須要瞭解問題。java

爲何區塊鏈很慢?

「我是一個緩慢的步行者,但我從不回頭。」——亞伯拉罕林肯node

將區塊鏈視爲註冊。此寄存器包含多個頁面(塊),其中每一個頁面都有多個交易。一旦頁面填滿了交易,就須要在開始在下一頁上記錄交易以前將其添加到寄存器中。python

在頁面(塊)能夠添加到寄存器(鏈)以前,須要進行一些處理以確保每一個人都贊成它包含的內容。對於每一個塊,該過程大約須要10分鐘(對於比特幣區塊鏈)。android

想象一下,你發送1BTC給你的朋友喬。交易看起來像這樣。程序員

除其餘事項外,交易包含有關發件人,收件人,金額和交易費用的信息。web

等一下,交易費?

「顧問只拯救足以支付他的費用的客戶。」——Arnold H. Glasowmongodb

是的,須要額外付費。你能夠支付費用以激勵礦工儘快將你的交易包含在一個區塊中。沒有訂價,徹底取決於你願意支付多少費用以加快流程。費用越高,交易越快。編程

在任何給定時刻,有幾個交易能夠記錄在當前頁面上。網絡

礦工,即在區塊鏈網絡中工做的計算機,必須決定在當前區塊中包括哪些可用的交易。爲了幫助他們作出決定,他們會查看哪些交易產生的回報最多——這意味着交易費用最高的交易將首先包含在內。

若是有足夠的交易費用比你的交易費用更高,那麼你的交易將不得不排隊等候。等待能夠持續幾分鐘到幾個小時。有時甚至是幾天。你支付的交易費用越多,你的交易處理速度就越快。

這就是爲何Blockchains很慢,所以每一個人開始使用都很昂貴。理想狀況下,Blockchain的採用意味着會發生更多交易,但隨着交易數量的增長,網絡將變得緩慢,成爲採用的障礙。悖論!

閃電網絡(LN)是解決該問題的潛在解決方案。

那麼什麼是Lightning Network呢?

「雷聲很好,雷聲使人印象深入;但這是工做的閃電。「——馬克吐溫

LN背後的想法是並不是全部交易都須要記錄在區塊鏈上。

想象一下你和我之間的交易不少次。在這種狀況下,咱們能夠繞過區塊鏈上的交易記錄並將其從鏈中帶走。

用最簡單的術語來講,它是如何工做的——咱們將在咱們之間打開一種稱爲支付渠道的東西,並在區塊鏈上記錄它的開頭。如今,你和我能夠經過此付款渠道進行屢次交易,而且能夠保持開放數小時,數天,數週或數十年。咱們再次觸摸Blockchain的惟一一次是咱們想要關閉頻道的時候。而後,咱們將寫出經過區塊鏈上的渠道發生的交易的最終狀態。

使用這種支付渠道的概念,咱們能夠建立一個支付渠道網絡,這樣不多須要在區塊鏈上進行交易。想象一下,有三個角色 - Xan,Yelena和Zeke。

若是Xan和Yelena之間有一個支付渠道,Yelena和Zeke之間有一個支付渠道,那麼Xan能夠經過Yelena向Zeke匯款。

假設Xan想要向Zeke發送2個BTC,Yelena將向Zeke發送2個BTC,而且Xan將向Yelena報銷2個BTC。

這就是Lightning Network的想法。由於你不會常常觸摸區塊鏈,因此交易將以閃電般的速度發生。正如你如今可能已經猜到的那樣,全部的魔力都發生在支付渠道中。讓咱們學習這個魔術。

那些支付渠道是什麼?

「就我的而言,咱們是一滴。咱們在一塊兒就是一片海洋。「——Ryunosuke Satoro

這就像一個保險箱,兩我的存入相同數額的錢,每一個人都鎖定它。

這種在公共場所存入等量金錢的行爲以「開放交易」的形式記錄在區塊鏈上,以後在這兩我的之間開放支付渠道。

在這樣一個盒子裏鎖錢的想法是沒有一我的能夠在沒有另外一我的的狀況下把錢花在盒子裏。而後,此框中的錢用於彼此之間的交易。

想象一下,Xan和Yelena在10個BTC中共用一個共用框。如今,若是Xan想要送2個BTC給Yelena,他會怎麼作?

要作到這一點,他會將他在公共場所中的兩個比特幣的全部權轉讓給Yelena。在轉移承諾後,若是盒子被解鎖,Xan將可以得到8個BTC,Yelena將可以得到12個BTC。

但他們不會打開盒子,由於他們想繼續在他們之間進行交易。這就是這種安排的美妙之處。

如今,若是次日,Yelena必須向Xan發送1個BTC,她也會這樣作——將其中一個比特幣的全部權轉讓給Xan。在這兩筆交易以後,若是開箱,Xan能夠申請9個BTC,Yelena能夠得到11個BTC。

想象一下脫鏈交易的樣子,請考慮如下事項:

總而言之,支付渠道只不過是將一些資金聚集在一塊兒​​,而後以商定的方式轉讓聚集資金全部權的承諾。若是Xan或Yelena想要關閉頻道,他們能夠。

關閉一個頻道只是意味着打開盒子並拿走裏面的錢。這個盒子的開口發生在Blockchain上,誰擁有盒子中的多少錢永遠記錄下來。

這就是支付渠道的運做方式。但這甚至沒有接近定義他們的真正潛力。當兩個或多個支付渠道共同構成一個網絡——閃電網絡時,它們的真正力量得以釋放。

知道了,它其實是如何工做的?

「很棒的事情是由一系列小東西組合而成的。」——文森特梵高

LN的工做原理是將比特幣全部權的價值轉移到比特幣的全部權承諾。

這種轉變是巨大的。像往常同樣,咱們將用一個例子來理解這一點。想象一下,有三我的:Xan,Yelena和Zeke。這樣在Xan和Yelena之間就有一個支付渠道,Yelena和Zeke之間還有另外一個渠道。請注意,Xan和Zeke之間沒有支付渠道。

在這種狀況下,若是Xan想要將2個BTC轉移到Zeke,他可使用Yelena和Zeke之間的支付渠道來作到這一點。這看起來怎麼樣?

Xan要求Yelena在Yelena-Zeke支付渠道上將2個BTC的承諾轉讓給Zeke,而後他在Xan-Yelena頻道以2個BTC向Yelena報銷。

經過這種支付渠道網絡,能夠從區塊鏈中卸載大量的交易,從鏈條上進行,從而釋放鏈條的帶寬。使用支付渠道網絡,可能會發生數百萬筆交易,並且交易費用也很高。

這就是閃電網絡。並且,如今你知道如何向你的朋友解釋它。或者,若是你感到懶惰,只需將它們發送到這篇文章。

======================================================================

分享一些以太坊、EOS、比特幣等區塊鏈相關的交互式在線編程實戰教程:

  • EOS教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
  • java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和交易等內容。
  • 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
  • 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
  • java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
  • php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
  • tendermint區塊鏈開發詳解,本課程適合但願使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。

匯智網原創翻譯,轉載請標明出處。這裏是原文最簡單易懂的介紹閃電網絡Lightning Network

相關文章
相關標籤/搜索