老碼農眼中的區塊鏈
大家可能已經聽說過比特幣、萊特幣、以太幣等等,以及它們作為一種新貨幣在市場上的潛力。 有趣的是,很多投資比特幣的人也提到了區塊鏈之類的東西。 顯然,這項技術是比特幣等其他東西的"基礎"。 就好像比特幣的概念還不夠混亂似的,區塊鏈計算顯然也可以"應用"到其他行業? 這是如何運作的呢?
通過首先了解區塊鏈計算是什么,才能來開始使用區塊鏈的旅程。
從本質上講,區塊鏈是一個平臺,旨在為一群人提供一種手段,以便在不需要集中系統的數字分類賬上創建"交易",但同時仍然是安全和私密的,因為每個人都可以看到每個人計劃改變什么,并且同意將交易合法化。
現實生活的基礎: 維基百科或百度百科
如果這個概念還是有點難以理解的話,試著把 blockchain 想象成維基百科或谷歌文檔。
如果這個概念還是有點難以理解的話,試著把 區塊鏈想象成維基百科或百度百科。
使用區塊鏈,區塊鏈上的成員實際上可以寫入一個數字分類賬(鏈) ,同一個成員可以控制分類賬的更新和修改。 這與維基百科中的條目如何不完全來自"單一"出版商,因為沒有人真正"控制"所有可用的信息。
- 這是因為與"覆蓋"事務數據不同的是,分類賬中的每筆交易都被記錄下來。 類似地,在百度百科和 Wikipedia 上,每個頁面和文檔的更改都會被記錄到系統中讓每個人都能看到。
- 也許百度百科和維基百科與區塊鏈的唯一區別在于,百度百科和維基百科的用戶在訪問和修改頁面之前必須首先獲得管理員的許可。 而在區塊鏈中,每個人實際上都通過交易驗證獲得了這種"權威性"。
區塊鏈技術
也許區塊鏈如此吸引人,是因為它代表了一個全新的信息注冊和發布時代,從根本上消除了"集中"方便交易的必要性,這就是為什么像尤塔實驗室這樣的公司投資于比特幣的原因。 有趣的是,區塊鏈并不是真正的"床新",而是一個技術的組合,被證明是以各自的方式發揮作用。 當中本聰的比特幣被引入市場時,這個想法實際上具有潛力,它的原則也被應用到其他幾十種手段中,這就是為什么我們現在有比特幣的原因。 所涉及的技術包括:
- 區塊鏈內成員的 P2P 網絡: 缺乏一個集中的權力機構來"控制"區塊鏈,從根本上將區塊鏈置于其成員的控制之下。 這實際上是非常有用的,因為沒有一個人"擁有"區塊鏈和它下面的一切 當你的區塊鏈是一個與其他行業相關的程序時,讓整個團隊控制鏈條是確保透明度和安全性的好方法
- 區塊鏈編程本身,或者它工作的平臺: 當人們想要在區塊鏈中引入新的變化時,它實際上是在整個區塊鏈中引入一個新的交易。 這意味著,一旦批準,區塊鏈的所有成員將在他們自己的數字分類賬中看到這個"變化"。 這個塊環鏈的編程允許它是透明的,同時不能讓任何人操縱數據,因為需要"權限"來添加交易
- 用于驗證事務的私鑰加密技術: 在區塊鏈方面,交易實際上是經過驗證的,主要是因為信任。 當數字世界的各方必須建立關系時,數字信任現在已成為問題的一個組成部分,因為認證和授權被認為是阻礙區塊鏈效率的真正破壞者。 通過區塊鏈認證是由一個只有區塊鏈的用戶才能擁有的私鑰來表示,這使得他們能夠通過其真實性做廣泛的事情,例如廣播權交易或擁有足夠的數字貨幣。 使用穩定的加密系統,確保鏈條的成員在通過之前"批準"交易。
當涉及到區塊鏈"關系"時,重要的是要記住,鏈條中的成員實際上有兩個密鑰——一把私鑰和一把公鑰。 這些方法創建一個數字"簽名",因為它們的組合需要一定程度的認證努力,這反過來又在你的末端創建一個強大的所有權。 這些元素是如何相互作用的,使得區塊鏈發揮作用:
- 分布式網絡確保每個人都知道數字分類賬的情況。 "Validators"使用數學驗證來達成共識,即他們看到的是相同的交易請求,并且鏈條的成員貢獻處理能力來做到這一點。 這就像一組攝像機看到房間里發生了什么一樣。 當然,這也意味著網絡的大小是網絡安全的一部分。
- 比特幣迅速流行起來,因為一個龐大的網絡為比特幣的驗證提供了巨大的計算能力。 對于區塊鏈來說,當用戶A宣布對其私鑰進行更改并將其鎖定到用戶B的公鑰,并將在系統中傳播。
- 然后,區塊鏈使用一個特殊的協議開始驗證變化。 一個塊被廣播到網絡中,并由相關信息、時間戳和數字簽名組成。 對該塊的驗證是通過采礦來完成的,在這里人們提供他們的計算機處理能力來驗證交易。 然而,人們并不是完全免費的。 開采的獎勵那些實際上積極參與采礦過程的人。 通過這個過程,每個成員的系統都記錄了區塊鏈的歷史。
去中心化 與 分布式
去中心化經常被視為區塊鏈的全部存在理由,但它也是可能被定義為最糟糕的詞之一。去中心化和傳統的分布式計算有什么區別和聯系呢?如圖1所示:
圖1 中心化、去中心化和分布式
分布式手段并非所有交易的處理都在同一地點進行,而去中心化是指沒有一個實體控制所有的處理。
去中心化的三種類型
去中心化涉及三個獨立的方面:
- 架構的去中心化:一個系統是由多少物理計算機組成的? 這些計算機中有多少個可以容忍在任何一個時間內崩潰?
- 策略的去中心化:有多少個人或組織最終控制了系統由其組成的計算機?
- 邏輯上的去中心化:系統呈現和維護的接口和數據結構看起來更像是一個單一的整體對象,還是一個無定形的群? 一個簡單的啟發式的觀點是: 如果你把系統切成兩半,包括供應商和用戶,兩個部分都將繼續作為獨立的單位全面運作嗎?
區塊鏈在策略上是去中心化的(沒有人控制它們),而且在架構上的去中心化(沒有基礎設施中心點的故障) ,但它們在邏輯上是中心化的(有一個共同商定的狀態,系統的行為就像一臺電腦),如圖2所示:
圖2 去中心化的三種類型
架構的中心化往往導致策略中心化,但不一定。 在計算機系統中,如果有一個在線社區使用一個集中的論壇來提供便利,但是如果有一個廣泛認可的社會契約,即如果論壇的擁有者存在惡意行為,那么每個人都會轉移到另一個論壇(圍繞論壇的審查制度而形成的社區很可能在實踐中擁有這種財產)。邏輯中心化使得架構的去中心化更加困難,但并非不可能。在邏輯中心化的系統中,策略去中心化變得更加困難。
去中心化的三個原因
去中心化有哪些主要的優勢呢?主要有三個:
- 容錯
- 攻擊阻力
- 合謀抵制
容錯
去中心化的系統不太可能意外地失敗,因為它們依賴于許多不太可能失敗的獨立組件。
對于容錯而言,有多個相互競爭的實現是至關重要的。關于協議升級背后技術考慮的知識必須民主化,以便使更多的人能夠感到舒適地參與研究討論,并批評明顯不利的議定書變更。核心開發人員和研究人員應該受雇于多個公司或組織。采礦算法的設計應該盡量減少中心化的風險。
理想情況下,使用權益證明可以完全擺脫硬件中心化的風險(應該謹慎地對待由于證明利害關系而冒出的新風險)。需要注意的是,幼稚的容錯要求主要集中在架構去中心化上,但是一旦你開始思考社區的容錯性,那么策略的去中心化也是很重要的。
攻擊阻力
去中心化系統被攻擊、破壞或操縱的成本更高,因為它們缺乏敏感的中心點,難以用比周圍系統的經濟規模低得多的成本進行攻擊。
首先,由于計算機硬件易于檢測、調節或攻擊,它強烈支持證明利害關系而不是工作證明,因為計算機硬件易于檢測、調節或攻擊,而硬幣可以更容易地隱藏(證明利害關系也有很強的攻擊阻力,因為其他原因)。 其次,這是一個有利于擁有廣泛分布的開發團隊的觀點,包括地理分布。 第三,它意味著在設計協商一致議定書時,需要考慮經濟模式和容錯模型。
合謀抵制
去中心化制度的參與者很難串通起來,以犧牲其他參與者為代價,以有利于他們的方式行事,而公司和政府的領導人則一直以自己受益的方式串通起來,但卻一直傷害不太協調的公民、顧客、雇員和一般公眾。
串通是很難定義的; 也許唯一真正有效的方法是簡單地說,串通是"我們不喜歡的協調"。 在現實生活中,有很多情況下,即使每個人之間有完美的協調是理想的,但是一個子群體能夠協調而其他人卻不能,這是危險的。
就區塊鏈協議而言,協商一致意見的安全性背后的數學和經濟推理往往主要依賴于不協調的選擇模型,或者假設游戲由許多獨立做決定的小角色組成。 如果任何一個成員在工作證明系統中獲得超過三分之一的采礦能力,他們就可以通過自私的挖掘獲得巨額利潤。
許多社區,包括 Ethereum 的社區,常常因為擁有強大的社區精神和能夠迅速協調執行、發布和激活一個硬叉,以便在六天內解決協議中的拒絕服務問題。 但是,如何能夠促進和改善這種良好的協調,但同時又能防止"糟糕的協調",這種協調包括礦工通過反復協調51% 的攻擊來欺騙其他人?
回答這個問題有三種方法:
- 不要費心去減少不想要的協調; 相反,嘗試建立可以抵制它的協議。
- 試著找到一種快樂的媒介,使協議能夠進行足夠的協調來進化和前進,但是不足以使攻擊成為可能。
- 努力區分有益的協調和有害的協調,使前者更容易,后者更難。
區塊鏈應用
任何人都可能會覺得,如果真的依賴這種新技術來滿足他們的需求,可能會讓任何人感到奇怪。然而,在其業務流程中,它實際上可能對許多行業中采用區塊鏈方法非常有幫助。
“紙上得來終覺淺,絕知此事要躬行。” 這里列舉了兩個老碼農自己有實際感知的兩個區塊鏈應用。
面向社交的區塊鏈TTC
在社交⽹絡中,每個⽤戶作為社交⽹絡中的節點,聚集度較⾼,通過社交分享機制進⼊⻔檻低,具有快速擴散、快速聚集的特性,很容易形成⽹絡效應。社交⽹絡的特性和去中⼼化的理念⼀致性很⾼,是區塊鏈技術極佳的應⽤場景。
作為當今主流前沿技術,區塊鏈技術快速應⽤到⾦融、保險等領域,但⽬前還沒有被⼴⼤⽤戶認可的基于區塊鏈的社交⽹絡。社交⽹絡對于⽤戶的進⼊⻔檻較低,⽤戶可以在不需要特別注意的情況下體會到區塊鏈的價值,是最有機會讓區塊鏈技術被⼴泛應⽤的領域。
圖3 TTC區塊鏈的價值鏈
如圖3所示,這就是基于區塊鏈技術的社交⽹絡的未來場景。優質內容的創造者被平臺獎勵,⽤戶可以選擇觀看⼴告或參與第三⽅⼴告公司發起的活動,⼴告的獎勵將直接分給參與⽤戶。不同的社交DAPP(Decentralized APP)基于區塊鏈技術組成產品矩陣,為⽤戶提供多維度的產品體驗和價值。
TTC 協議
TTC協議是基于區塊鏈技術的社交⽹絡,旨在為全球⽤戶提供全新的社交體驗。TTC協議為TTC⽣態系統的成員建⽴標準貨幣體系和技術體系,以⽅便各個成員在良好有序運⾏的同時,能夠相互連接傳遞價值。TTC代幣是TTC協議中流通的貨幣,⽤來激勵TTC⽣態系統中的各⽅成員。
TTC協議總共包含如下⼏個層⾯:共識體系決定了TTC協議中的信息如何記錄和同步,其上的DAPP為參與的社交⽤戶提供社交服務,⽤戶通過在DAPP內作出貢獻獲得來⾃TReE(TTC獎勵引擎)的TTC獎勵,并通過跨鏈技術在不同DAPP之間同步和轉移TTC,這構成了TTC協議的價值體系。
作為基于區塊鏈的社交⽹絡協議,交易速度是最重要的考量因素之⼀。在TTC協議中,記錄在區塊鏈上的交易不僅局限于資產交易,也包括⾏為交易。在社交平臺⾥,每秒鐘的交易量可能達到上百次,因此吞吐量對于TTC協議是⾄關重要的。
共識機制是交易速度的核⼼,以⽐特幣為代表的PoW(Proof of Work)共識機制所能達到的交易速度有限,并且耗費⼤量算⼒。TTC協議采⽤多層BFT-DPoS作為共識機制模型。
DAPP鏈
基于社交⽹絡的平臺都有機會加⼊TTC⽣態系統,TTC⽣態系統中的社交平臺包括但不限于個⼈動態分享平臺、圖⽚及視頻分享平臺、直播平臺、社區論壇等等。
在TTC協議中,有⼀條TTC核⼼鏈和若⼲條DAPP鏈,每⼀個DAPP都有⼀條DAPP鏈。TTC核⼼鏈主要處理資產交易,DAPP鏈則處理DAPP的⾏為交易。資產和⾏為交易的分割,能提升TTC協議的性能,確保資產安全,⻓期來看能實現不同DAPP的獨⽴治理。TTC協議上 的交易記錄可以在TTC區塊瀏覽器上查到。
TTC協議采⽤跨鏈智能合約實現不同鏈之間的資產轉移。初期我們主要關注同構鏈之間的跨鏈交易,后期將逐步擴展跨鏈的兼容性,以實現異構鏈之間的跨鏈交易。
用戶、錢包與代幣
⽤戶通過TTC錢包管理他們的TTC資產。通過單點登錄(SSO),⽤戶可以使⽤⼀套賬戶系統管理所有DAPP獲得的資產,在TTC⽣態系統的不同社區之間互動。TTC錢包的主要功能如下: • 同步不同DAPP獲得的TTC資產 • 與其他⽤戶或交易所進⾏TTC資產轉移 • 進⾏超級節點投票,參與共識機制治理 TTC錢包是⽤戶同TTC協議之間交互的最簡潔有效的⽅式,構建起⽤戶和TTC⽣態系統之間的橋梁。
TTC代幣(TTC)是TTC協議的通⽤貨幣,⽤來激勵TTC⽣態系統中的各個成員。當前,TTC基于ERC-20代幣標準發⾏,⻓期將逐漸切換成TTC協議⾃⼰的獨⽴代幣。
TReE(TTC Reward Engine)是TTC協議中激勵為TTC⽣態系統作出貢獻的參與者的獎勵引擎,以天為單位發放給各參與⽅。在TTC協議中,有兩種類型的挖礦:共識挖礦和社交挖礦。作為針對社交⽹絡的區塊鏈協議,TTC協議將⼤部分獎勵分配給為平臺作出貢獻的社交挖礦者,即DAPP⽤戶。與傳統的挖礦機制不同,算⼒不再是⽤戶⽐拼的要素,真正為平臺作出貢獻的⽤戶得到了更多獎勵。
總體來說,創建優質內容、同優質內容互動以及維護社區環境的⽤戶將獲得獎勵。獎勵配置如圖4所示:
圖4 TTC中的激勵配置
TTC的生態系統
TTC⽣生態系統中有很多成員,包括超級節點和投票⽤用戶、DAPP開發者、DAPP應用的用戶、第三⽅方開發者、⼴廣告商等等。圖5展示了TTC生態系統的成員和價值鏈。
圖5 TTC區塊鏈的生態系統
關于TTC的具體技術實現,將來另行分析,具體參見:https://github.com/ttceco/gttc
一句話總結TTC
TTC協議是基于去中⼼心化和代幣激勵的新一代社交⽹網絡協議,通過生態系統為用戶提供了更有價值且全新的社交體驗。
DxChain
人工智能(AI)離不開大數據和機器學習,不幸的是,市場上沒有現成的解決方案提供去中心化的并行計算環境,來支持大數據分析和機器 學習。DxChain 通過將 Hadoop 整合到區塊鏈來填補這個空白。DxChain 是一個提供數據存儲,數據 交換,以及為系統中數據進行大數據計算的綜合平臺。
在功能上,整個系統被設計成一個平臺,在去中心化的數據存儲服務支持下,提供大數據分析和 機器學習相關的計算服務。數據庫查詢和商業智能的任務在不由任何商業公司擁有的數據之上執行, 但這些數據可以在 DxChain 中進行交易和存儲。這個平臺將連接個人電腦,以及專門設計的礦機,以促進數據計算更加容易,并降低成本。
DxChain 提供了兩個基本功能:計算和存儲。目前,只有大公司才有能力運行大數據分析任務, 因為這些公司不僅可以負擔昂貴的硬件,而且也擁有大部分消費者數據。例如,谷歌擁有谷歌地圖用 戶的導航數據。如果谷歌地圖用戶可以找到一種方法來銷售他們的導航數據,那么他們就會出于經濟 原因而這么做。用戶不會擔心他們的隱私,因為這些數據已經被谷歌看到和使用。如果第三方可以銷 售導航數據,再加上其他商業數據,那么廣告宣傳活動將更加準確和定制化。最重要的是,像谷歌, Facebook 這樣的大公司不能壟斷這些數據的使用。這將是去中心化的夢想。
DxChain的基礎架構
DxChain 的架構設計借鑒了 IPFS, Hadoop HDFS, GFS, FileCoin, IOTA, IoTeX, Plasma, TrueBit, morpheo和 Golem。根據經濟激勵的原則設計了整個系統,使礦工能夠最大限度地利用閑置的存儲資源,并以低成本和便利性促進去中心化的大數據計算。
圖6顯示了 DxChain 的高層次基礎架構。從圖中可以看出主鏈、存儲鏈和計算側鏈是如何協同工作的。
圖6 DxChain 的基礎設施示意
三鏈結構具有兩個獨特屬性:
- 主鏈結構和側鏈結構,
- 不可變主鏈和彈性側鏈。
屬性 1 根據功能對鏈進行拆分。屬性 2 解決區塊鏈的可伸縮性、吞吐量和延遲問題。主鏈負責維護交易,DxChain 的側鏈負責存儲和計算。這兩個側鏈功能是有時間限(time-bounded)的,因此區塊不需要無限期地存儲過期的數據。DxChain設計了一種鏈縮短算法,它可以刪除未使用的數據,節省寶貴的區塊空間。
DxChain 的區塊鏈架構
在 DxChain 網絡中,主鏈負責管理整體交易和兩個側鏈。數據側鏈(DSC)和計 算側鏈(CSC)通過 DxChain 智能合約與主鏈通信。此外,數據側鏈和計算側鏈可以通過三鏈合一的微服務相互操作,這些服務包括數據和消息,如圖7所示:
圖7 DxChain中的三鏈合一
主鏈和兩個側鏈執行不同的功能。盡管這些鏈是通過智能合約和微服務相互連接的,但從物理上來說,這些鏈仍然是獨立和隔離的。即使側鏈斷裂,主鏈也完全不受影響。側鏈的損害完全局限于自身。
主鏈使用兼容以太坊的數據結構,這種結構由哈希鏈接的區塊組成。區塊是相關元信息的集合,也包括交易、狀態和收據相對應的組合信息。這些區塊通過哈希指針連接。
兩個側鏈的設計是為了解決數據存儲和計算的效率問題。我們擴展了區塊結構,將更多的數據存 儲在區塊中,并減少了整鏈加載的頻率。每個側鏈都有自己的共識方法,計算側鏈(CSC)使用可證 明數據計算(Provable Data Computation,PDC)和驗證博弈(verification game),數據側鏈 (DSC)使用時空證明(Proof of Spacetime,PoSt)。
圖 8說明 DxChain 跨鏈通信協議,展示了跨全網交易的概況。 通過在主鏈、數據側鏈(DSC)和計算側鏈(CSC)之間跨整個系統的交易流,可以在高層次上審視通信協議。
圖8 DxChain的跨鏈通信
關于主鏈、數據側鏈、計算側鏈以及數據安全與隱私的具體實現,將來另行擇文分析。
DxChain 賦能的生態系統
DxChain 區塊鏈支持多種機器學習和數據挖掘算法、數據存儲、音樂/視頻流和許多其他應用程序。來自不同行業的開發人員可以用不同的方式使用 DxChain,構建自己的機器學習Dapp,實現自動數據樣本收集和人工智能模型:
- 定制的數據模型通過它的惡意軟件檢測Dapp定義數據收集格式,從而實現完全自動化的數據 收集。移動用戶可以定義智能合約參數,比如將哪些樣本數據發送到區塊鏈,以及用戶想要交 易的價格。每個設備自動收集的可疑樣本數據也將被發送到 DxChain 區塊鏈。
- DxChain 將數據塊保存在每個區塊鏈礦工的磁盤上,每個礦工共享自己的互聯網帶寬。這樣可 以極大地減少數據存儲和網絡流量成本。
- 去中心化的機器學習算法每日進行訓練,在鏈中訓練Trust-look的人工智能模型。這就像共 享經濟一樣,可以幾乎免費使用共享礦工未使用的 CPU 時間。
- 在區塊鏈中,不可變的加密數據保護用戶的數據存儲和服務,無需擔心數據泄露或隱私數據泄 露。
- 每個設備用戶利用DxChain的智能合約以信任的方式進行交易和交易數據。
DxChain 在物聯網(IoT) 上同樣有著廣泛的應用場景。DxChain 用戶可以直接在傳感器每天生成的數據集上運行機器學習和數據分析,并生成可操作的商業智能報告來指導他們業務的日常決策。圖9是一個智慧城市的示意:
圖9 DxChain的智慧城市示意
智慧城市的傳感器數據采集是通過啟用開發者的Dapp中相關的智能合約自動化實現的。智能合約基于周圍環境智能控制各種智慧城市傳感器的運行,如空調溫度動態控制,以節省電力。區塊鏈數據購買者可以利用設備數據來開發機器學習模型來診斷設備運行狀態,并預測設備故 障并通知供應商提前安排維修服務。區塊鏈開發人員可以開發機器學習模型,通過生成電力消耗報告和預測用電高峰時間優化電力 調度模型來幫助 PGE 等電力公司。
一句話總結DxChain
DxChain是一種可伸縮的、私有的、可擴展的、用于大數據和機器學習的區塊鏈。
參考資料:
- http://www.embedded-computing.com/iot/what-is-blockchain-computing
- https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274
- https://www.quora.com/Whats-the-difference-between-distributed-and-decentralized-in-Bitcoin-land
- https://www.ttc.eco
- https://dxchain.com/static/assets/docs/DxChain-白皮書中文版.pdf