區塊鏈誕生至今,各種衍生的新技術新概念一茬接一茬地湧現,什麼「分片」、「零知識證明」、「側鏈」、「閃電網絡」等等等等。對剛接觸區塊鏈的人,這些概念剛開始單看一些技術性的解釋大都晦澀難懂,甚至會被一些人誤以爲是忽悠「韭菜」的工具。

其實這些技術概念之所以看起來複雜,是因爲區塊鏈不應該被看成是一種單純的技術實現,而是一種系統的架構設計,是一個利用多種學科、多種技術手段來解決一個核心問題的系統。

當我們在理解一個複雜系統時,如果開始即從技術細節入手,這如同一頭扎進一個沒地圖的迷宮,往往無從下手。而通常在瞭解某個系統時,我們會首先搞清楚這個系統想解決什麼核心問題,爲解決這個問題會用什麼技術來實現,它們之間的邏輯架構是什麼,然後再去研究具體的技術,那麼就會有一種豁然開朗的感覺。

在整個學習過程中,來源於物理學家費曼的「費曼技巧」是個值得借鑑的學習方法。所謂的「費曼技巧」是指當我們在理解一個較複雜概念時,可以想象成如何用最簡單樸素的語言向一個孩子解釋這個概念,這種方式有助於我們更深刻理解一個系統及其涵蓋的邏輯關係。有興趣的可以百度具體瞭解下。

如何用「口語」解釋 RSK?

既然說到區塊鏈的衍生概念,就不能不提「側鏈」(sidechain),一種跨區鏈的解決方案,有人甚至認爲它會是區塊鏈的未來。

那麼如何理解「側鏈」這個概念?我們可以先從側鏈的一個代表性項目 RootStock (RSK)入手,看看 RSK 這個側鏈是如何運行的。

什麼是 RSK?

我們知道比特幣是一個基於區塊鏈的支付系統。在這個支付系統裏,你可以做的有兩件事:1. 發送比特幣(可以理解爲轉賬),2. 接收比特幣(收款),這在形式上和使用銀行支付體系基本沒有區別。

從使用角度看,假如你手裏有 100 個比特幣,你只有兩種處置方式:1. 兌換成法幣。(拋開投資角度不談,假如將來比特幣價格長期穩定,法幣持續通脹,你可能不會急於兌換法幣);2. 把它們轉給他人,不管是無償贈送還是購買支持比特幣支付的服務或產品。

也就是說,除了兌換法幣,你只能在比特幣系統或者說比特幣的區塊鏈上使用比特幣。這時你會想:我能不能在其他區塊鏈上花我的比特幣?如果可以,我可以直接享受到更多的產品或服務。在傳統方式中,如果想使用其他區塊鏈的服務,你只能用法幣兌換某個區塊鏈的貨幣或代幣。如果你不想再花法幣,你只能先把手裏的 100 個比特幣兌成法幣,然後用法幣再去購買某個區塊鏈貨幣,不過這麼操作很麻煩。

而利用所謂雙向錨定(2-way peg)技術,我們就可以無需法幣兌換直接在其他區塊鏈上「消費」你手中的比特幣,以享受這個區塊鏈提供給你的服務或產品,同時讓比特幣具有了更多的功能和應用場景。

也就是說,如果我們希望比特幣擁有更多功能和應用場景,我們可以利用某些技術(比如雙向錨定)將比特幣區塊鏈與另外某個獨立的區塊鏈連接起來。連接後,用戶可以用比特幣直接體驗到這個獨立區塊鏈的服務或產品。在這裏,比特幣區塊鏈被稱爲「主鏈」,另外一個與主鏈連接的獨立區塊鏈被稱爲「側鏈」。

Rootstock (RSK)即是一個與比特幣區塊鏈(主鏈)連接的側鏈。在 RSK 中,你可以通過「消費」比特幣直接體驗 RSK 區塊鏈提供的功能和服務,即 RSK 提供的「智能合約」平臺服務。也就是說,RSK 使比特幣具備了支持智能合約的功能。

我們知道所謂的「智能合約」本質上可以理解爲基於事先設定的代碼「自動執行」的「程序指令」,即當滿足某個特定條件時,代碼程序自動執行某項指令,也就是遵循所謂 if-this -then-that 的邏輯,整個過程無需第三方的參與,大大提升了事務運行效率。

基於 RSK 提供的智能合約平臺,開發者可以在此基礎上開發各種應用服務。由於 RSK 區塊鏈是比特幣區塊鏈的「側鏈」,比特幣用戶可以用手中現有的比特幣體驗到基於 RSK 智能合約平臺開發的各種應用和服務,大大拓寬了比特幣的使用場景。

當然,並不是只有 RSK 纔可以成爲比特幣的側鏈,理論上任何非比特幣區塊鏈都能成爲比特幣的側鏈,使其具有各種應用場景。同樣,並不是只有比特幣區塊鏈才能成爲 RSK 的主鏈,RSK 同樣可以與其他區塊鏈連接,成爲它們的側鏈,以擴展其應用場景和功能。

如何用「口語」解釋 RSK?

那麼如何將「側鏈」(RSK)與「主鏈」(比特幣)連接起來?

我們可以利用「雙向錨定」(2-way peg)技術把 RSK 與比特幣區塊鏈連接起來。

什麼是雙向錨定?簡單說,雙向錨定的運行流程包括三個步驟:

  1. 將主鏈的比特幣(BTC)發送至某個比特幣賬戶,然後將這個賬戶鎖定,任何人無法控制這個賬戶中的比特幣;

  2. 在側鏈釋放與比特幣鎖定賬戶等值的側鏈貨幣(在這裏我們可以例稱爲 RBTC),派發給用戶,用戶可以在側鏈使用這些 RBTC,比如用來購買服務或送人。

  3. 同樣,用戶可通過上述步驟的反向操作將 RBTC 轉回至 BTC。

簡單說,雙向錨定的基本邏輯即是:將主鏈一筆貨幣鎖定,同時等值的側鏈貨幣即被釋放。由側鏈至主鏈的反向操作遵循同樣邏輯。所以在這裏,主鏈貨幣並非通過「轉移」的方式而是通過「錨定」的方式實現在側鏈的消費,反向同理,因此這種方式會被稱爲「雙向錨定」。

這個邏輯看起來很簡單。但邏輯簡單是一回事,實際執行則是另一回事。如何確保「誠實」是雙向錨定面臨的最大問題。比如我們需要確保鎖定賬戶的安全,如果提前釋放鎖定賬戶,據會造成所謂的貨幣「雙花」問題。另外,如何確保側鏈交易信息的真實性。比如在側鏈實際消費 20 個 RBTC,但通過作弊只記錄消費 10 個 RBTC,導致主鏈多釋放了等值的比特幣,也就是說多釋放的這些比特幣被「雙花」了。

接下來,我們看看有哪些方式可以實現雙向錨定。

1. 單一託管模式

因爲雙向錨定的基本邏輯是「主鏈賬戶鎖定,側鏈賬戶釋放」,單從技術實現角度考慮,我們只要在主鏈和側鏈之間建立一個第三方託管機構就可以輕易實現這個邏輯。這個託管機構同時控制着主鏈與側鏈的鎖定賬戶,負責執行主鏈賬戶的鎖定與側鏈賬戶的釋放。實現方式既可以手動也可以通過程序自動操作。但不管是手動操作還是自動操作,都存在託管機構作弊的風險,比如未等側鏈賬戶鎖定,提前釋放主鏈賬戶,造成「雙花」。所以這種方式不靠譜。

2. 側鏈協議模式

爲防止第三方作弊,我們可以利用「側鏈協議」——一種強制自動執行的技術,將主鏈與側鏈連接起來。其運行大致流程如下:

  1. 將一筆比特幣(比如 50 個比特幣)發送至某個特定比特幣地址(即鎖定賬戶)。確認後,這 50 個比特幣即會被鎖定,任何人包括你無法控制這個賬戶中的比特幣。

  2. 系統向側鏈(比如 RSK)發送一個證明,證明 50 個比特幣已經被髮送至某個特定的比特幣地址(即已被鎖定),並且證明你就是發送人。

  3. 側鏈收到證明後,會基於自己的區塊鏈系統生成與鎖定比特幣等值的數字貨幣(比如 RBTC),然後將這些 RBTC 派發給你。

  4. 我們可遵循相同邏輯將側鏈的 RBTC 轉回成 BTC。即將 RBTC 發送至側鏈某個賬戶進行鎖定,系統向主鏈發送證明,主鏈確認後隨即釋放與側鏈鎖定賬戶裏的等值 BTC。側鏈被鎖定的 RBTC 將會消失。

也就是說側鏈協議使用兩個區塊鏈都能理解的「語言」將主鏈與側鏈連接起來,通過程序自動執行兩個區塊鏈貨幣的錨定。

這種自動執行的模式規避了第三方託管存在的作弊風險,但這並不意味着這是個完美方案,仍存在一些問題:

首先,大多數區塊鏈沒有明確的最終結算方案。比如側鏈爲你釋放了 50 個 RBTC,你一次消耗了 10 個 RBTC,剩餘 RBTC 數量爲 40 個 RBTC,而且你希望將這 40 個 RBTC 換回 BTC。同時,側鏈的「礦工」會將這個「帳目」變化(50 個 RBTC 減少至 40 個 RBTC)記錄在區塊上。但是從理論上來說,這個剛剛被更新的區塊記錄(40 個 RBTC)並不能百分百保證這是最終的結算方案。

因爲在區塊鏈機制中,剛剛被記錄的區塊信息在理論上僅代表了一個交易已經被確認的概率保證,越多的工作量證明被用來驗證一個交易,就越代表這個信息是真實的。如果我們對比特幣挖礦機制缺乏瞭解,這點可能不容易理解,不過這沒關係。總之,我們只需要知道如果側鏈沒有最終的交易結算方案,這將會影響到主鏈鎖定賬戶的釋放。針對缺乏最終交易確認的問題,目前有一些技術解決方案,但這些方案至少目前來看都不完美,存在或多或少的問題。

即使側鏈區塊鏈有一個最終結算機制,但這個區塊鏈仍會有一個與比特幣區塊鏈同樣面臨的問題:即「51 攻擊」。所謂的 51 攻擊是指只要「礦工」控制了全網絡 51% 的算力,就有可能對區塊數據進行篡改。雖然理論上存在「51 攻擊」的風險,但比特幣要求較高的工作量證明機制以及大量礦工的參與確保了這種攻擊在實際中不具有可操作性。但這個問題對於剛剛建立的側鏈項目,如果沒有大量礦工的參與,仍會存在被攻擊的風險。而一旦側鏈數據被篡改,勢必也將會對主鏈造成影響(因爲雙向錨定)。

所以爲了解決這個問題,RSK 採用了所謂的「聯合挖礦」模式,即允許主鏈(比特幣)的「礦工」們在不用投入額外設備和資源的前提下可以同時挖到側鏈(RSK)的 RBTC。這種做法的好處在於可以在初期爲側鏈提供儘可能多的礦工和算力,礦工越多,意味着側鏈的安全性越有保障。另外這也爲比特幣的礦工提供了一個額外的收入渠道。

3.RSK 的混合模式

結合剛纔我們提到的側鏈協議模式存在的問題,我們不難發現同主鏈相比,側鏈存在的問題要複雜的多,比如同主鏈相比,側鏈有更大的被攻擊風險。所以考慮到兩條區塊鏈存在問題的不對稱性,RSK 實行了一種不對稱的混合模式,即側鏈+投票的模式。

當比特幣(主鏈)賬戶鎖定並向側鏈發送證明時,RSK 採用的是效率較高的側鏈協議模式。反過來,將側鏈的 RBTC 換成主鏈的 BTC 時,RSK 採用的是多人「投票」的模式。所謂的投票是指投票人(也就是礦工)對鎖定 RSK 的 RBTC、解鎖比特幣的金額、解鎖的時間以及將解鎖比特幣發送給誰等問題進行多重簽名確認。因爲 RSK 採用的是聯合挖礦模式,參與投票的礦工越多,越能保證數據真實性與安全性。

如何用「口語」解釋 RSK?

但即使採用「聯合挖礦」的模式,在發展初期,RSK 仍會面臨「礦工」(也就是投票人)不足的情況,爲了解決這個問題,RSK 在初期還引入了「公證人」投票模式。RSK 對這些公證人有嚴格的要求,他們必須是區塊鏈社區的口碑良好的知名成員,有專業技術背景等。公證人+礦工的雙投票機制有效確保了賬戶鎖定與解鎖的安全。

以上就是 RSK 的基本運行機制,希望對不瞭解「側鏈」的小夥伴有所幫助。


_
_

有關未來、投資與認知

如何用「口語」解釋 RSK?