標籤:

2018 Blockchain 技術觀察

2018 Blockchain 技術觀察

來自專欄 UNICHAIN技術研究院88 人贊了文章

作者: 傅理

(本文只對技術做相關探討,不作為投資建議。)

我們觀察到,從2017年中到2018年初的整個市場熱點在於--擴容,比較突出的有幾類:

  1. Zilliqa,NUS的項目,通過sharding方式水平擴容,包含了在單鏈環境中(如Bitcoin)非主鏈導致的無效交易(競爭性共識只有主鏈交易才有效,合作性共識可以包含更多交易), TPS在某個區間近似可以做到線性提升。
  2. DPoS模式項目,通過投票選舉可信節點的方式來輪流記賬,其他節點只需要follow up,市場熱度高,技術爭議性大。爭議主要集中在幾個方面 a) DDoS風險,過於明確的目標,可以精準打擊;b) 高TPS可能導致的verifiers dillemma,可簡單理解為沒有節點願意去驗證其他miner打包的交易,由於花時間去驗證大量區塊交易,會影響接下來本應出塊的機會丟失,損失挖礦收益;缺乏對驗證的合理激勵,會逐漸導致網路失效。細節可以參考truebit團隊的 702.pdf: eprint.iacr.org/2015/70 ; c) stake在初期就已經很集中,voting流於形式(馬太效應)。
  3. 其他 sidechain類項目如:pchain,cosmos,scalability層面和sharding哲學思路近似(divide and conquer),但可能更側重於多鏈的整合和異構體系接入,跨鏈生態建設。跨鏈過程中的交易最終確認,比如側鏈發生臨時分叉,側鏈出塊時間不一致,主鏈如何保證交易準確peg到不可逆轉的交易,賬號系統不統一,是跨鏈難於解決的問題。

除了以上這類onchain scalability的項目外,另一個熱點是offchain scalability, 例如17年Q4的raiden項目,在去年11月坎昆的ethereum devcon非常出彩的演示了機器人結合offchain payment的使用場景。 通過onchain密碼學的構造(HTLC),配合offchain的獨立通道,可以實現經常性賬戶的高頻交易,以及定期的onchain結算,比如按日結算(daily settlement),這類技術都源自於lightning的HTLC。這類基於HTLC技術存在一些缺陷,如需要資金先鎖定在合約;同時也很難提供一個有效的網路,或者說持久的狀態通道,去支持隨時隨地的交易(參考: trustnodes.com/2018/03/)。所以例如今年celer這類重點解決交易流動性的項目就出現了,可以簡單類比為,去年有了HTTP(lightning),今年得需要IP/BGP(celer)這樣的網路層協議去支撐massive adoption。

另一個今年offchain比較出色的項目是 liquidity.network/,不用鎖定資金到鏈上即可完成offchain payment,在網路層面也有簡化,相關paper : eprint.iacr.org/2017/82 。offchain這個主題後續會做一些單獨分析,這裡不展開。

橫向對比來看,這類offchain的p2p protocol,本質上應該需要一個支撐網路來輔助協議運行,二層支付網路是一個網路,而不僅僅是一個密碼學構造的通道。

DEX offchain協議類似,也需要一個中繼網路去支撐交易流動性,例如based on 0x protocol的一些交易促成relayer節點。

Privacy-Preserving Computation

今年(2018)在區塊鏈應用方面的另一個技術趨勢是privacy-preserving computation,相比於競爭極其激烈的底層鏈,隱私計算這塊目前尚處於藍海。

現實世界存在問題是,大量的數據孤島,以及大量需要數據的AI公司,有數據公司的需要演算法和算力,有演算法的需要數據和算力,但數據擁有者的不願意泄漏數據,比如經濟運行數據,醫療健康數據,個人定位跟蹤記錄(跑步,行車)數據,這類敏感數據。 甚至不願意把數據交給第三方專業數據分析機構,怕敏感數據泄漏,或者出於其他商業目的行為,包括數據轉賣給競爭對手等不正當行為。這樣導致了大量的數據被塵封,數據發揮不了價值,但如果存在一個trustless的計算環境,不受任何主體控制的自治系統,結合token economy的激勵,可以衍生出一個巨大的自組織的數據+計算市場(Data marketplace + AI + privacy preserving computation)

雖然去中心化的computation outsourcing不是一個新的概念,比如17年的golem, 1protocol這類項目;在trustless的前提下,首先有兩類應用場景要解決:

  1. 去中心化共享計算能力,公開演算法的公開數據分析
  2. 去中心化共享計算能力,公開演算法的敏感數據分析

這兩類問題單獨來看,第一類問題首先需要解決的是貢獻計算能力的miner,必須證明真的完成了運算(verifiable computation),而不能因為省電省錢,0成本的提供一個假的計算結果,專業礦工有強烈的incentive去做假。

計算驗證(verification)是核心問題,而這個問題根本難度在於,如果 驗算成本=計算成本,這樣分散式的計算就失去了意義,不如直接在本地計算。一個自然的思路是用一些已經知道既定結果的隨機測試數據去挑戰(known-result challenge),一旦發現提供假計算,提交證據後,經濟上會對miner進行懲罰,更高級的方式可以把計算驗證抽樣交給的validator角色(通過一定的激勵,都可以是validator),通過validator投票完成,但同時保證validator的隨機性,例如採用VRF(Verifiable random function)的validator池;關於如何驗證的這塊技術細節可以參考:

  1. Truebit的驗證遊戲設計 。 註:Idea 1. Offer rewards for checking computations. Idea 2. Offer rewards for finding bugs. Idea 3. Offer a bug bounty and provide expectation that bugs will exist., paper: people.cs.uchicago.edu/

2. 弱計算設備如何驗證強計算設備: cs.tau.ac.il/~canetti/C

計算還有另一個問題,因為miner本身的計算挖礦有成本,一個同時運行了大量計算任務的miners,為了節約挖礦成本,使用內存非常有限或者用硬碟虛擬內存,在單台伺服器開多個虛擬機,在QoS上也是有嚴重問題的,尤其是latency敏感的計算應用,是需要一個機制能做計算資源證明的,如同IPFS的存儲能力證明(Proof-of-Storage),以保證:

  1. miner是通用計算設備(CPU),因為ASIC設備的計算能力只能滿足某些特定計算,而非通用計算,導致全網算力實際是波動的。
  2. colluded mining: miner沒有超賣內存,CPU,比如礦工共享並壓榨伺服器挖礦(存儲同樣也存在colluded mining 問題,比如需要避免兩個IPFS礦工共用一個存儲設備挖礦。)。
  3. 消除大量針對算力做假的攻擊形式。

Proof of computing resources可以參考:

  1. Proof of computing resources comes from asiacrypt 2017 hal.inria.fr/hal-016500
  2. Ron Rivest and Adi Shamir (RS in RSA) in 1990s citeseerx.ist.psu.edu/v

以上問題解決後,敏感數據計算過程中privacy-preserving的方法(想像一下做電影,音樂轉碼,經濟運行數據分析,醫療健康數據模型訓練和健康預測,股票分析,這類敏感數據必須防止miner竊取數據);目前有幾種途徑去完成: 1. homomophic 2. enclave 3. mpc

要保證數據不被竊取,要麼是在一個完全受控的可信環境,通過review其演算法,保證在整個流程中不盜取數據,這類項目大多通過Intel SGX技術實現(代表項目covalent),Intel可以佐證(remote attestation)其執行環境,確保在運行中不可被任何外部機制訪問到,否則執行環境自毀現場。使用這種技術,可以通過和enclave環境協商一個簡單的session key(DH),並用這個臨時key加密數據,唯一能解密的即這個可信enclave。從intel派生的信任,傳遞到enclave,並通過這個key繼續往下派生信任,從而完成計算(這裡不展開講),核心是要正確設置信任派生的整個閉環 ;enclave優勢是項目容易落地,但缺點就是必須要依賴intel的佐證,對一些堅定的去中心化信仰者而言,可能是不夠去中心化的異教徒。

另一類(代表項目Perlin, perlin.net/),擺脫了intel對硬體執行環境的背書,通過同態加密進行隱私保護運算,簡單來說就是我用的同態演算法對加密後的數據(ciphertext)進行計算的結果,可以通過另一個只有我自己才有的私有函數變換回明文(plaintext),而其計算效果同明文計算。這是完全的trustless的平台,不依賴任何第三方佐證就可實現演算法自證。雖然其計算效率會低於同類的enclave方式,但同態加密演算法本身可以通過GPU優化計算,性能在提升,未來能達到近似enclave的計算性能是可以期待的。

mpc也是完全trustless的,代表項目是enigma,但目前團隊在實現mpc有些困難,初期會先delivery enclave方式的技術,再轉向mpc.

privacy計算相關資料:

1. homomophic: theregister.co.uk/2018/

2. enclave: software.intel.com/en-u

3 mpc: dl.acm.org/citation.cfm?)

2018對新公鏈的觀察

可以看到新的公鏈項目慢慢開始走出DPoS;高TPS(> 10k)下存在的一個核心問題是,驗證能力不對等,在bitcoin, ethereum的設計中,大部分全節點,不需要花多少成本,都有足夠能力去驗證所有的transaction,ethereum的nonce是包含worldstate的,進而包含合約內部的所有數據 (i.stack.imgur.com/afWDt), 一個參與網路的節點在驗證區塊的同時,也順帶執行了所有合約(common good),一個普通的全節點賬本,做2K左右的TPS交易驗證是足夠的(平均每個交易1million cpu cycle的複雜度)。

但在高TPS下,算力不夠的普通節點已經沒有參與感了,如果一個普通節點要驗證交易,可能會永遠滯後於主網(等於被剔除),nervos提供了一個思路,引入非對稱模式,即如果合約的驗證時間可以低於執行時間,那麼整個網路的交易變成了一個純粹的去中心化驗算平台,其實這類案例可以在computer science領域找到很多,比如要執行一個數獨遊戲的求解,可能需要很長時間,但要驗證求解結果,只需要很簡單的幾個步驟即可判定。(註:可以參考下NP問題, en.wikipedia.org/wiki/N),但這類判定問題沒有一般解,只有特定解(停機問題)。

DAG

另外新公鏈的的思路是DAG,相關項目參考:

  1. Scaling Nakamoto Consensus to Thousands of Transactions per Second arxiv.org/pdf/1805.0387

2. Avalanche: ipfs.io/ipfs/QmUy4jh5mG

3. Fantom: fantom.foundation/

這裡Elaborate一下現有單鏈結構的核心問題:

  1. 在單鏈結構的競爭性共識(PoW)上,大部分沒有競爭成功加入到Longest chain的交易是對整個網路的TPS沒有作出貢獻的,這是TPS低的第一個原因。
  2. 在單鏈結構的競爭性共識(PoW)上,如果縮短出塊時間,或者提高區塊大小,都會因為網路的延遲,產生大量臨時性分叉,同時,由於分叉本質即PoW算力分散,也大大降低了主鏈的安全度,導致double-spending更加容易。

所以DAG的核心點,是創造一個新的共識機制,把非longest chain的區塊和交易也引入進來;而且在數學能保證,全網在經歷幾個區塊後,交易到達一個理論上的不可撤銷點。讓全網交易TPS做到幾個K的級別。

2018 DAPP方面的觀察

傳統互聯網開始積極擁抱區塊鏈,比如內容分發網路,用戶生成內容,借貸,IoT,遊戲,甚至做硬體的公司,比如Mesh通信網路,晶元加密,認證等。從目前的觀察來說,轉向完全decentralized token economy有很大困難,大部分存在onchain和offchain的對接信任問題,比如鏈下遊戲邏輯和鏈上遊戲資產的分離,存在邏輯執行的證明問題,也回到了上面的verifier』s dilemma。 對錢包,安全方面的DAPP依然是機構追捧的熱點,畢竟是除了中心化交易所外的最重要流量入口,會成為去中心化交易所的入口,難點依然是token economy的設計。很多業務類型可能僅限於2B,無法脫離security token的性質。此外, 一些季節性因素的項目,例如世界盃的預測項目短期也爆了較多。但從整體來說,在基礎設施不夠健壯,同時還缺乏合理驗證線下數據的情況下,這類DAPP本質是公司信用背書+區塊鏈解決部分透明性和資產流動性,對各個行業接入區塊鏈的探索,需要進一步保持觀察。


推薦閱讀:

代號47:出擊
乾貨|7張價值連城的豐田精益管理流程圖
FCS遊戲生態圈。
學會這幾招,黑客再也不能入侵你了,五九盾完美定製最強防禦
Hit Game和Next Hit Game對公司價值的意義

TAG:遊戲從業者 |