9 月 10 日,由萬向區塊鏈實驗室主辦的 2018 上海區塊鏈國際周-技術開放日,在上海外灘 W 酒店拉開帷幕。現場座無虛席,吸引了超過 500 名區塊鏈專家學者、行業精英參與技術分享討論。

PlatON 首席架構師李升林受邀出席技術開放日活動,做了《可擴展 Trustless 計算:從共識到可驗證計算》的主題演講,和與會嘉賓分享了 PlatON 上 Trustless 計算的實現策略。

PlatON 首席架構師李升林出席上海區塊鏈國際周 分享可擴展 Trustless 計算

以下內容整理自 PlatON 首席架構師李升林演講速記:

計算架構從最早期的桌面計算到大型機、小型機、雲平臺,都需要中心化的可信第三方,這些計算架構本質上把中心化的計算規模、計算資源不斷地擴大化。

這兩年各種數據泄露門的事件說明中心化的第三方不是那麼可信,區塊鏈給我們展現了另外一種新的計算架構——去中心化 Trustless 計算架構。去中心化給大家足夠多的想象力,也有人把它稱作爲全球計算機、去中心化雲平臺、去中心化雲操作系統。

區塊鏈不僅僅是點對點的支付系統,更是一種去中心化 Trustless 計算架構,無需可信第三方實現了 Trustless。區塊鏈 2.0 引入新的智能合約是實現了 Trustless 的通用計算,但本質上區塊鏈是效率和 Trustless 的權衡。效率越高可信度越低,效率越低可信度越高,PoW 就是典型的例子。

區塊鏈大家談論比較多的是可擴展的三元悖論:去中心化、安全性、可擴展性難以全部實現最優化。另外,區塊鏈仍面臨着兩大困境。

一是驗證者的兩難困境。區塊鏈普遍使用重複智能合約來驗證區塊,這就造成一個問題:大量的驗證者花費大量的資源來驗證交易,這對簡單的支付或者智能合約來講無可厚非,但對於複雜的合約需要耗費大量的計算資源,這裏會引發一些問題。有些礦工爲了積攢算力搶下一個區塊獎勵,會接受無效的交易,可能不進行正規的交易驗證流程,從而破壞網絡的完整性。

二是安全和隱私兩難困境。區塊鏈上數據都是公開透明的,一方面保證了交易的安全性,但隱私問題也阻礙了分佈式應用的發展。

因此,可擴展性、隱私性是最被關注和亟待解決的兩大核心問題。

對於可擴展性來講有 Layer2、Layer1 的解決方案,這裏不多說。Trustless 計算簡單來說就是:在不可信的計算環境產生信任,即:計算請求方把數據、計算邏輯交給第三方計算,但是第三方不是那麼可信,需要通過有效的驗證方式來驗證計算的正確性、有效性、安全性。

PlatON 基於可驗證計算算法(VC)、安全多方計算(MPC)、同態加密(HE)實現 Trustless 計算,這是一種鏈下計算的方式,可以認爲是 Layer2。PlatON 是基於 VC 非交互的計算方案。鏈下計算業界還有其他幾種實現方案:1、TEE 可信硬件,但英特爾 SGX 已經證明被破解了。2、非交互式的驗證方式,如 Truebit,而非交互驗證機制也意味着更長的確定性時延。

PlatON 着重於提供底層的基礎設施,給所有去中心化系統提供 Trustless 計算網絡,PlatON 基於 VC、ZKP、MPC、HE 等純密碼算法來實現可驗證的計算。

整個計算基於電路,電路包含了兩類:1. 算術電路;2. 布爾電路。電路的優勢是:比較容易驗證,可以同時把計算單位拆的更細,有效地利用各方的計算資源來做到並行計算。

我們未來也會發布基於 FPGA 或者 ASIC 的專用硬件來進一步加速電路計算。

PlatON 上層會提供一個基礎鏈,作爲基礎設施的激勵層,包括一條主鏈,並以 sharding 方式擴展多個應用鏈。PlatON 的架構不僅僅可以給區塊鏈使用,在分佈式 AI、科學計算等領域都可以有效利用。

計算方案基於三個密碼算法來實現,最上層是可驗證計算(VC),委託方會把自己的輸入「X」和邏輯函數「F」交給第三方計算方計算,計算方算完以後會返回證明「π」,通過「π」可以迅速驗證“Y”的正確性。隱私性是通過安全多方計算跟同態來保證多方數據以及單方數據的隱私安全。

傳統的區塊鏈像 EVM 裏的計算任務或交易需要在全網節點裏串行執行,不管是礦工還是驗證節點都需要重複執行,造成了大量的資源浪費,這是區塊鏈效率不高的原因之一。在 PlatON 上每個任務只需要執行一次,其他節點無需重複計算就可以快速驗證。

隱私方面我們實現了 MPC 算法,以及 MPC 整體框架,MPC 框架裏提供了 IDE、編譯器和基於電路的 VM。VM 內置 MPC 的 OT/GC 算法,是基於 JIT 的解釋器,之後也會有專用計算硬件來加速 MPC 計算。目前,MPC 已經在企業級進行了應用。

PlatON 網絡的實現和其他區塊鏈不太一樣,PlatON 也是 P2P 網絡,但是 RAELOAD(RFC 6960) 協議的完整實現,並在 RELOAD 基礎協議上擴展了服務發現協議。

衆所周知,分佈式系統裏最主要的是服務的註冊發現,但這是中心化的,PlatON 網絡上無需中心就可以做到服務的自動發現。ReDiR 是基於 DHT (分佈式 Hash 表)的樹狀結構。

PlatON 是把計算和共識解耦。區塊鏈不適合做複雜計算,更適合用來做存證、驗證,計算應該在鏈下 Layer 2 來進行。PlatON 智能合約分兩部分,一部分是 IO 邏輯,可以存取分佈式賬本、鏈上的數據;另一部分是計算邏輯,計算邏輯會編譯成電路在鏈下計算。

PlatON 智能合約的流程,執行時會把計算邏輯分發給計算網絡中的計算節點處理。計算任務會拆分成多個子任務,並行地分給多個計算節點計算,計算時需要返回證明用於驗證計算是正確的。最終會通過一個計算通道合約來進行計算驗證,以及對算力清結算。從某種意義上來講 PlatON 也是算力的交易市場。

PlatON 會兼容 EVM、WASM,也會基於 LLVM 實現基於電路的 VM,這個 VM 會內置 VC 算法、MPC 算法。智能合約不需要全網所有節點都執行。PlatON 智能合約支持 JAVA、C++等高級編程語言。

今天我的分享就到這兒,謝謝大家!

來源鏈接:mp.weixin.qq.com