在上文中,咱們爲你們介紹了「鏈下」技術中的狀態通道、Plasma。接下來咱們會爲你們介紹鏈外計算的兩種方案。安全
以太坊聲稱要作計算機,EOS 要作全球操做系統,但不管是作計算機仍是作操做系統都得正視計算這個問題,鏈上計算的開銷是很是大的,鏈上每個 EVM 的 Code 計算須要全球計算機都算一遍,才能得出結果,因此有人作了這麼一個計算的擴展,在鏈外作 Computation。
這個方式大體有兩種
框架
第一種是在可信的執行的環境中,把這個計算算出來,而後傳到鏈上去,再加上可信環境的一個證實。
這個證實不是計算結果的對和錯,而是證實這個計算是在安全的環境裏運行的。
可信的執行環境在工業界相對來講仍是比較成熟,ARM 芯片是支持 TrustZone 方案的,咱們用的蘋果和安卓手機的指紋,它的祕鑰信息都是存在 TrustZone 裏面的。它的優缺點經過介紹其實也比較清楚了。
優勢
post
缺點
性能
因此這種依賴於安全執行環境的 Layer 2 方案通常是由聯盟鏈或者是企業內部的鏈來使用的。
區塊鏈
第二種叫 Trurbit,它解決的也是鏈外運算的問題,這個項目頗有趣。這裏面有好幾個角色,包括用戶、Solver 和 Challenger。
加密
第一個是計算需求的提出者(用戶),這個計算需求是用 Truebit 的 VM 來描述的,在實際操做的時候,Truebit 的 VM 是用 Rust 實現的
操作系統
用戶能夠選擇懸賞的方式找人來幫他作運算,運算的執行人叫作 Solver。Solver 把每一步的運算狀態都算成一個哈希摺疊到默克爾樹裏面,在最後,Solver 把全部運算結果的默克爾樹的根哈希,以及運算的最終結果提交到區塊鏈上。
而 Challenger 須要本身算一遍生成結果,若是他發現算的結果和 Sovler 算的不同,他就能根據錯誤信息找到哪一步或者是哪幾步錯了。Challenger 就能把這個狀態和狀態運行的指針上傳到區塊鏈上,挑戰這個 Solver。
由於 Truebit 在鏈上擁有指令集,並且 State 能夠證實它在原來的默克爾樹裏面,因而鏈能夠計算這個 State 加指令獲得一個新的 State,經過這個鏈能夠開始判斷,這個 State 是 Solver 生成的 State 仍是 Challenger 生成的 State,誰對誰錯。
Truebit 只須要鏈上的一步運算,就可以證實全部運算是正確的仍是錯誤的,它能把普通運算摺疊成了最關鍵的計算,交給主鏈去運算,驗證。指針
延伸閱讀:
cdn