天天看點

Layer2 | 鍊下計算

Layer2 | 鍊下計算

在上文中,我們為大家介紹了「鍊下」技術中的狀态通道、Plasma。接下來我們會為大家介紹鍊外計算的兩種方案。

鍊下計算( Off Chain Computation )

以太坊聲稱要做計算機,EOS 要做全球作業系統,但無論是做計算機還是做作業系統都得正視計算這個問題,鍊上計算的開銷是非常大的,鍊上每一個 EVM 的 Code 計算需要全球計算機都算一遍,才能得出結果,是以有人做了這麼一個計算的擴充,在鍊外做 Computation。

這個方式大緻有兩種

TEE( Trusted Execution Environment )

第一種是在可信的執行的環境中,把這個計算算出來,然後傳到鍊上去,再加上可信環境的一個證明。

這個證明不是計算結果的對和錯,而是證明這個計算是在安全的環境裡運作的。

可信的執行環境在工業界相對來說還是比較成熟,ARM 晶片是支援 TrustZone 方案的,我們用的蘋果和安卓手機的指紋,它的秘鑰資訊都是存在 TrustZone 裡面的。它的優缺點通過介紹其實也比較清楚了。

優點

  • 隐私性很強,因為所有東西都是在黑箱子裡面的。
  • 性能也非常的高,單個機器執行即可,因為我信任的不是這台機器,而是這個 Trust Zone。
  • 功能非常的靈活,不像 Plasma 比較單一,它可以做各種各樣的東西甚至是遠超過 EVM 的東西,因為 EVM 裡面做一些加密運算是很難的

缺點

  • 黑箱計算引入了未知的風險
  • 依賴于硬體限制了它的擴充性,因為不可能每個人都有一個符合硬體要求的裝置來運作這套系統。
  • 系統的安全性是依賴于廠商的,廠商是可以在 Trustware 裡面做任何的事情,這個也引入了風險.

是以這種依賴于安全執行環境的 Layer 2 方案一般是由聯盟鍊或者是企業内部的鍊來使用的。

Truebit

第二種叫 Trurbit,它解決的也是鍊外運算的問題,這個項目很有趣。這裡面有好幾個角色,包括使用者、Solver 和 Challenger。

Layer2 | 鍊下計算

第一個是計算需求的提出者(使用者),這個計算需求是用 Truebit 的 VM 來描述的,在實際操作的時候,Truebit 的 VM 是用 Rust 實作的

使用者可以選擇懸賞的方式找人來幫他做運算,運算的執行人叫做 Solver。Solver 把每一步的運算狀态都算成一個哈希折疊到默克爾樹裡面,在最後,Solver 把所有運算結果的默克爾樹的根哈希,以及運算的最終結果送出到區塊鍊上。

而 Challenger 需要自己算一遍生成結果,如果他發現算的結果和 Sovler 算的不一樣,他就能根據錯誤資訊找到哪一步或者是哪幾步錯了。Challenger 就能把這個狀态和狀态運作的指針上傳到區塊鍊上,挑戰這個 Solver。

因為 Truebit 在鍊上擁有指令集,而且 State 可以證明它在原來的默克爾樹裡面,于是鍊可以計算這個 State 加指令得到一個新的 State,通過這個鍊可以開始判斷,這個 State 是 Solver 生成的 State 還是 Challenger 生成的 State,誰對誰錯。

Truebit 隻需要鍊上的一步運算,就能夠證明所有運算是正确的還是錯誤的,它能把普通運算折疊成了最關鍵的計算,交給主鍊去運算,驗證。

延伸閱讀:

Layer2 | 區塊鍊發展新思潮

Layer2 | 狀态通道 State Channel 

Layer2 | Plasma 架構 

Layer2 | 鍊下計算 

Layer2 | 鍊間通信 ​​​​​​​

轉載于:https://my.oschina.net/u/3919161/blog/2992529