用拼圖解釋 Ark

作者:Roy Sheinfeld

來源:https://bitcoinmagazine.com/technical/spark-explained-like-youre-five

有些朋友可能記得,多年前我寫過一篇《用算盤來理解閃電網絡》,那是在我意識到許多人並沒有完全理解閃電網絡之後寫的。那時候,我的目的不是解釋閃電網絡的密碼學和實現的細節,而是闡釋支付通道背後的核心觀念。我使用了算盤作為比喻,好讓讀者集中注意力在概念上,而不是在機制上。效果相當不錯,後來人們都使用這個算盤的類比來給初學者解釋閃電通道。

最近,我感到一種強烈的沮喪。

因為在討論 Spark 時,我察覺到了類似的情形。一些人知道要說 “statechain”(中文譯本),但對絕大部分人來說,所知也就到此為止了。就跟那時候面對閃電網絡一樣,問題並不在於缺乏智力或懶惰,僅僅只是因為不清楚背後的思維模型。所以,我會再試一次一樣的事情:從概念觸發解釋 Spark 的工作原理,不使用密碼學術語。

兩塊拼圖

Spark 的核心是讓用戶可以收取和發送比特幣而無需廣播交易到區塊鏈。也就是說,相關的比特幣在變更所有權時,從區塊鏈網絡中看,它並沒有發生移動。相反,改變的只是能夠聯合授權該比特幣的花費的人。這種聯合授權是在用戶和一組運營者(叫做 “Spark 實體(SE)”)之間分享的。

為了解釋這是怎麼工作的,想象要花費 Spark 裝置中的一組比特幣,需要完成一個簡單的兩拼圖謎題:

  • 一塊拼圖由用戶持有;
  • 另一塊拼圖由 SE 持有。

只有兩塊相互匹配的拼圖拼到一起的時候,這些比特幣才能花出去。不一樣的錢幣使用不同的謎題。

現在,我們來看看變更所有權的過程是什麼樣的。

最初,Alice 持有一塊拼圖,跟某個 SE 手上的某個拼圖是一對。她可以通過讓兩個拼圖評在一起來花費自己在這個 Spark 裝置中的比特幣。當 Alice 想發送自己的比特幣給 Bob 的時候,她讓 Bob 先跟 SE 一起創造一套新的拼圖。重要的是,謎題本身並沒有改變:舊的謎題和新的謎題(形狀)是一樣的,只是組成它的拼圖的形狀改變了。新的一套拼圖是給 Bob 設計的:一個跟著 Bob,另一個跟著 SE 。從此之後,只有 Bob 手上的拼圖能跟 SE 手上的湊成一對。Alice 可能依然拿著自己手上的舊拼圖,但是那沒有什麼用。因為 SE 已經把自己手上與 Alice 配對的那一塊拼圖銷燬了,所以 Alice 的那一塊跟誰的拼圖都配不上了、不能用來花費這個錢幣了。因此,所有權在實質上轉移給了 Bob ,即使由 Spark 裝置控制的比特幣在區塊鏈內並沒有移動。

image-27

以後,Bob 可以重複同樣的過程,將同一組比特幣發送給 Carol;以此類推。每一次轉賬,都是通過替換拼圖(而不是在區塊鏈內廣播交易)來實現的。

到這裡,我們自然會有疑問:要是 SE 沒有拋棄自己的舊拼圖,那會怎麼樣呢?在這種情況下,SE 可以串通以前的所有權人(比如 Alice)來花費應該屬於最新所有權人(比如 Bob)的比特幣。我們需要信任 SE —— 在協助轉移所有權的時候,會銷燬自己原來的那塊拼圖。然而,需要明白的是,一個 SE 並不是就是一個人,它是多個運營者組成的一個團體,而且,SE 這邊的拼圖也不是由一個運營者獨自持有的。替換拼圖需要多個運營者之間的配合。每一哪一方可以秘密持有一塊舊拼圖或在事後重新創建它。所以,只要有一個運營者在轉賬期間是誠實的,就足以阻止一塊舊拼圖被重新激活。

image-26

關鍵的想法很簡單:Spark 不在區塊鏈內轉移比特幣;在轉移比特幣時,它只是替換掉擁有花費權限的人。由它控制的比特幣在鏈內的位置並沒有改變,改變的只是可以拼在一起的拼圖。

為了讓解釋更加精煉,我有意不提 Spark 的單方面退出機制,他是 Spark 的安全模型的重要部分,但介紹它就會偏離我想要講的核心理念。重要的是,Spark 並不是一個用戶要永遠依靠 SE 的系統。雖然日常轉賬依賴於聯合授權,Spark 依然給用戶提供了不需要 SE 配合、獨自在區塊鏈內花費自己的資金的選項。這種逃生艙是一開始就設計好的,只不過超出了本文的範圍。

(完)

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論