閃電網絡

比特幣的交易網絡最為人詬病的一點便是交易性能:全網每秒 7 筆左右的交易速度,遠低於傳統的金融交易系統;同時,等待 6 個塊的可信確認將導致約 1 個小時的最終確認時間。

為了提升性能,社區提出了閃電網絡等創新的設計。

閃電網絡的主要思路十分簡單——將大量交易放到比特幣區塊鏈之外進行,只把關鍵環節放到鏈上進行確認。該設計最早於 2015 年 2 月在論文《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》中提出。

比特幣的區塊鏈機制自身已經提供了很好的可信保障,但是相對較慢;另一方面考慮,對於大量的小額交易來說,是否真需要這麼高的可信性?

閃電網絡主要通過引入智能合約的思想來完善鏈下的交易渠道。核心的概念主要有兩個:RSMC(Recoverable Sequence Maturity Contract)和 HTLC(Hashed Timelock Contract)。前者解決了鏈下交易的確認問題,後者解決了支付通道的問題。

RSMC

Recoverable Sequence Maturity Contract,即“可撤銷的順序成熟度合同”。這個詞很繞,其實主要原理很簡單,類似資金池機制。

首先假定交易雙方之間存在一個“微支付通道”(資金池)。交易雙方先預存一部分資金到“微支付通道”裡,初始情況下雙方的分配方案等於預存的金額。每次發生交易,需要對交易後產生資金分配結果共同進行確認,同時簽字把舊版本的分配方案作廢掉。任何一方需要提現時,可以將他手裡雙方簽署過的交易結果寫到區塊鏈網絡中,從而被確認。從這個過程中可以可以看到,只有在提現時候才需要通過區塊鏈。

任何一個版本的方案都需要經過雙方的簽名認證才合法。任何一方在任何時候都可以提出提現,提現時需要提供一個雙方都簽名過的資金分配方案(意味著肯定是某次交易後的結果,被雙方確認過,但未必是最新的結果)。在一定時間內,如果另外一方拿出證明表明這個方案其實之前被作廢了(非最新的交易結果),則資金罰沒給質疑方;否則按照提出方的結果進行分配。罰沒機制可以確保了沒人會故意拿一箇舊的交易結果來提現。

另外,即使雙方都確認了某次提現,首先提出提現一方的資金到賬時間要晚於對方,這就鼓勵大家儘量都在鏈外完成交易。通過 RSMC,可以實現大量中間交易發生在鏈外。

HTLC

微支付通道是通過 Hashed Timelock Contract 來實現的,中文意思是“哈希的帶時鐘的合約”。這個其實就是限時轉賬。理解起來也很簡單,通過智能合約,雙方約定轉賬方先凍結一筆錢,並提供一個哈希值,如果在一定時間內有人能提出一個字符串,使得它哈希後的值跟已知值匹配(實際上意味著轉賬方授權了接收方來提現),則這筆錢轉給接收方。

不太恰當的例子,約定一定時間內,有人知道了某個暗語(可以生成匹配的哈希值),就可以拿到這個指定的資金。

推廣一步,甲想轉賬給丙,丙先發給甲一個哈希值。甲可以先跟乙簽訂一個合同,如果你在一定時間內能告訴我一個暗語,我就給你多少錢。乙於是跑去跟丙簽訂一個合同,如果你告訴我那個暗語,我就給你多少錢。丙於是告訴乙暗語,拿到乙的錢,乙又從甲拿到錢。最終達到結果是甲轉賬給丙。這樣甲和丙之間似乎構成了一條完整的虛擬的“支付通道”。

HTLC 機制可以擴展到多個人的場景。

閃電網絡

RSMC 保障了兩個人之間的直接交易可以在鏈下完成,HTLC 保障了任意兩個人之間的轉賬都可以通過一條“支付”通道來完成。閃電網絡整合這兩種機制,就可以實現任意兩個人之間的交易都在鏈下完成了。

在整個交易中,智能合約起到了中介的重要角色,而區塊鏈網絡則確保最終的交易結果被確認。

Last updated