十年前,隨著比特幣的推出,區塊鏈在科技領域突如其來。它的首次引入致使許多企業領袖將區塊鏈和加密數字貨幣視為同義詞。事實上,區塊鏈的價值主張遠比加密數字貨幣豐富得多。區塊鏈技術到底是什麼?有何價值?又有哪些具體的應用?本文是騰訊雲區塊鏈專家李亮&王樂慶老師在「雲加社群沙龍online」的分享整理,將從區塊鏈的技術與價值入手,分享騰訊雲區塊鏈的應用與技術思路,以及至信鏈產品方案與應用場景。
一、區塊鏈技術與價值
1. 區塊鏈的前生
人類的技術可以大致分為兩大類:第一類是利用能量,第二類是對資訊進行進一步的處理。
第一類是利用能量。比如人類發明了火、發明了輪子、內燃機、原子彈,得以對能量進行進一步的處理,讓我們能夠支配的能量越來越大。另一類技術是我們對當前的資料和資訊進行管理,繼而提高協作能力,提高生產力。
舉個例子,我們發明的紙讓我們可以記錄資訊、儲存資訊;發明的通訊網路,可以對更大的資訊進行處理和互動;發明了網際網路,讓我們把資訊的運用做到了登峰造極。
再往前進一步,我們發明了區塊鏈技術,其實也是對資訊進行更進一步的一種處理。所以區塊鏈技術在我們人類的發展當中,屬於我們所說的第二類 —— 資訊處理技術。
很多人會問什麼是區塊鏈,這裡可以先舉一個比較輕鬆帶有調侃意味的例子。
瀋陽某小區有 32 位車主,為了防止外部的車輛進入小區佔領車位,他們用了 32 把鎖鎖住了這個門。有網友對此事調侃說:這不就是一個區塊鏈?
雖然是調侃,但這個故事和區塊鏈有著很相似的內涵。
第一點就是說我們用 32 把鎖把它串起來,我進出門的時候只需要我是一個分散式的狀態,不需要一個看門的大爺幫我開門。這就是一個去中心化的一種理念體現。
第二點就是進出門時的准入機制。其實我是拿了一把鑰匙,鑰匙可以理解為區塊鏈中很重要的私鑰的概念,我有一個私鑰就可以有許可權去獲取一些我的准入準出,這其實和整個區塊鏈的准入準出機制比較相似。
第三點,我們可以看到鎖,前後緊密相連,這和區塊鏈的鏈式結構很相似。區塊鏈,顧名思義就是很多區塊鏈在一起。
這個調侃的例子引出了很多區塊鏈的一些特性。區塊鏈這項技術很神奇,其不同於5G、AI等是生產力屬性的技術,可以很明確的提高某一方向的效率,如5G提高網路傳輸的速度,如AI在機器視覺識別方面提高了效率,區塊鏈屬於一種組織技術或者說制度技術,站在一個個體的角度上很難衡量其價值,而站在全域性的角度上就會發現其獨特價值。
如同市場經濟一般,站在一個個體的角度上很難說清楚其原理及價值,但是站在人類全域性看來,市場經濟這張無形的大手發揮了及其強大的價值。區塊鏈在監管初期空白或不足的階段被很多不法分子用於非法集資、詐騙等非法場景,在監管逐步完善後我們看到越來越多的大型科技公司開始在數字領域、實體領域落地應用,為使用者及企業創作價值,降低成本。
所以我們也能看到,區塊鏈是一項非常有爭議的技術。那麼區塊鏈究竟是怎麼樣誕生,然後怎麼樣成長為一個現在這種統一的有標準的一項技術?
我們可以看到區塊鏈不是一個新的技術,因為技術的進步都是站在巨人的肩膀上一一實現的,區塊鏈也不例外。
區塊鏈是由多項技術融合成的一個技術體系。比如說 1985 年,萊利斯•蘭伯等人提出拜占庭將軍問題,Neal Koblitz 等人首次將橢圓曲線應用於密碼學;1995 年尼克薩博提出了智慧合約的概念,後續發明了點對點的 P2P 技術工作量證明機制。
直到 2008 年,中本聰在密碼學的社群裡發表了《比特幣:一種點對點的電子現金系統》,這也才標誌著區塊鏈技術的誕生。
所以大家問區塊鏈什麼時候誕生,可以回答 2008 年,但因為 2009 年才正式上線,所以回答 2009 年也可以。
2. 區塊鏈關鍵技術體系
我們前面提到一點,區塊鏈是一個組合技術,那麼它究竟由哪些部分組成的?
我們可以把它抽象為 5 大部分。
首先是動態主網,也叫 P2P 網路。
我們知道區塊鏈是分散式的,它由一個個節點或一個個伺服器組成,那麼動態組網、P2P 網路就是多個節點之間如何互動、如何通訊。
往上是塊鏈資料結構。區塊鏈顧名思義,有塊有鏈,其實它是一種塊鏈資料結構組成的一個防篡改資料結構。
第三部分是共識機制。也就是多個節點都平等的參與,如何對統一的一個資訊賬本達成一種共識,維護這種時間順序一致性,就是靠共識機制實現的。
第四部分就是密碼學技術。比如區塊鏈的對稱加密非對稱加密等等。
第五部分是智慧合約。我們得以對一個資訊或者一段程式碼進行可信的執行,進行不可篡改的執行,是藉助智慧合約來實現的。
這 5 大部分組成了現在的區塊鏈技術。
3. 什麼是區塊鏈?
瞭解完技術背景後,我們需要對區塊鏈下一個定義 —— 什麼是區塊鏈?
我們一般會說區塊鏈是一種防篡改、可追溯、共享的分散式賬本技術(DLT)。那麼它的本質就是一種技術,防篡改、可追溯共享是它的重點特性。
我們可以看到防篡改其實是有一種多節點冗餘儲存以及密碼學加密,包括工作量證明機制來保證它的防篡改。
比如多節點冗餘儲存,我在節點 1 儲存了這個資訊,那麼每一個節點都會同樣儲存這個資訊。如果節點 1 修改了這個資訊,剩下的 5 個節點還是有這個資訊的。它們會發現你修改了這個資訊,判定你是惡意節點,會把你踢出網路或者判定你不誠信。靠這樣的方式實現防篡改。
可追溯,是因為這個賬本只允許寫入,不允許刪改,所以說每個資訊都是可追溯的,只要寫入了資訊就不可以改,都是在鏈上某個時間記憶體在的。
共享。前面也說到這種冗餘儲存,每個節點上都會有一份這個資料,所以說它的資料是實現多節點共享
我們可以看到一個比較基礎的現象,就是我們傳統的資訊記錄方式。最開始我們只用壁畫去記錄一些資訊,後期我們發明了紙、再到發明網際網路,我們所有的資訊記錄的方式都是中心化的,就是由一個人或者一個機構來維護一個賬本或者維護一套資訊。
到區塊鏈出現以後,我們會發現記錄賬本或者記錄資訊,是可以由多人蔘與進去的,這個其實是現在區塊鏈技術在記錄資訊方面一個很大的不同。
以前是一個人參與,現在由多個人參與互相之間的監督、共識,導致這個資料可以實現防篡改的特性。那麼區塊鏈的記賬方式和傳統的中心化資料庫的記賬方式會有什麼不同?我們來看一個對比。
以銀行轉賬為例。比如說我轉給李亮老師一筆錢,其實是我發起一個轉賬請求,銀行作為中心化賬本的維護者,他在賬本上修改相關的資料,然後李亮老師在查這個資料的時候就發現這個資料已經改過來了,那麼這就是一個“改”的狀態。
我們再看一下區塊鏈的轉賬是一個什麼邏輯。區塊鏈轉賬的步驟會分的比較多,比如說我還是轉賬給李亮老師,我會先在我的本地,比如在我的伺服器或者手機上新建一筆交易,那麼我要轉給亮老師多少錢,我會通過 P2P 網路把這筆交易發出去。釋出出去之後,網路中的一個個的區塊鏈節點會收到這筆資訊,然後會進行驗證。首先驗證我是不是我、我的簽名是否正確,另外就是我的餘額是否充足。
驗證一旦通過後,他們會把交易發到更多的節點上。我們以比特幣舉例,釋出到相應的節點之後,這些節點就開始“挖礦”,也就叫爭奪記賬的權利。這麼多節點究竟誰來記賬,這是要有一個挖礦機制來去爭奪權利的。
類似於說我們有一個隨機數的機制,可能隨機到 A 節點,也可能隨機到 B 節點。如果隨機到 A 節點,那麼 A 節點就會有記賬權。
那麼同時隨著 A 節點付出了挖礦的算力之後,也會得到一定的獎勵。A 節點會將轉“我轉給李亮老師 5 塊錢”這個資訊記錄到區塊裡頭,放到鏈上,那麼整個區塊前後緊密相連去做到防篡改。
因此我們可以看到這種轉賬機制就是由我一個個體發起,在很多人的參與下共同去完成了資訊的記錄。這一點和中心化資料庫的維護是不同的。
4. 如何防篡改?
防篡改是一個很重要的機制,我們大概可以講講區塊鏈是如何做到防篡改。其實一個大的技術原理是用了很多技術的組合。
實現防篡改有三條線。第一個是基於密碼學的塊鏈資料結構,將每個區塊前後緊密相連,修改其中一個區塊就要修改其後的全部區塊,增大了篡改難度。
另外一個就是 POW 這種算力的博弈,比特幣網路平均每10分鐘才能依靠算力產出一個區塊,修改一個區塊需要全網算力計算10分鐘,如果修改多個區塊難度更大。
第三個通過多方見證、冗餘儲存這樣的一系列的手段,你修改了一個節點的資料,其他節點還存有真實資料,除非你擁有超過全網一半以上的節點支援,篡改的資料才會被全網共識。
其實密碼學整體的一個設計邏輯或者說機理,就是實現需要付出的代價會大於你篡改之後獲得的收益。這種博弈在比特幣上的體現也是比較明顯的。
5. 區塊鏈的塊鏈結構
區塊鏈究竟什麼是區塊?是什麼鏈?這張圖就是一個比較好的解釋。
區塊鏈的英文叫 blockchain,就是一個個block(區塊),把它們chain(鏈)起來。
我們可以看到每個塊裡面有上一個區塊的雜湊值、本區塊的雜湊值和時間戳,這就是「區塊頭」的一個構造。
區塊的體或者叫區塊的body裡面,可以看到一筆一筆的交易,裡面就有我轉給李亮老師 5 塊錢的交易放在裡面。我們會把每一個區塊做一次雜湊,也就是本區塊的雜湊。如果我們是最早的一個區塊,如果下面又要產生一個區塊,那麼這個區塊裡就要包含我上一個區塊裡的雜湊,也就是我上一個區塊裡的唯一摘要包含在裡面。
還有就是依次緊密的相連。比如說要修改 block31,那麼後面的所有區塊的雜湊都會發生變動。整個比特幣網路你需要平均花 10 分鐘,全網才能算出一個區塊來,才能計算出一個隨機數。
改一個區塊就要改後面所有的區塊,那麼篡改的成本和難度是非常高的。整體大概通過這樣一個淵源去實現防篡改。區塊每一個前後相連,篡改一個就要篡改後面所有的。以比特幣為例,轉一次賬只要是 6 個區塊之後,基本是不存在篡改可能性的,就是這樣的一個邏輯。
6. 從資訊網際網路到價值網際網路
我們也來聊一下當前的資訊網際網路,和有了區塊鏈之後稱之為的價值網際網路,他們之間的區別會在哪裡?也再去思考,網際網路的偉大之處究竟在於哪裡?
思考之後會得出一個結論,就是網際網路的偉大之處在於資訊的傳播,網際網路實現了資訊傳播的零成本,這件事情催生了我們的整個網上的娛樂,我們的遊戲、我們的美團、我們的共享單車、我們的支付寶,全部都是基於資訊傳播零成本這一條邏輯下實現的,所以才有當前的這種網際網路的繁榮生態。
但資訊在網際網路上是以複製性的形式去傳播的,還有一點就是網際網路上的這種資訊是非常容易篡改的,裡面有一箇中心化的資料庫,只要有許可權的人都可以進行篡改,並且是改的操作,原始的資訊是不被保留的,包括資訊以複製的形式傳播非常容易被洩密,安全程度也比較低。
但當有了價值網際網路、有了區塊鏈之後,區塊鏈的防篡改就實現了一個資料在一個時間下的唯一性,以及不可複製性和不可篡改性。這對一個資料來說,資料安全程度是很高的。
區塊鏈的這種唯一性和不可篡改性,可以說實現了資產傳播的零成本。原來的網際網路我們用來承載資訊,區塊鏈我們可能是用來承載價值或者承載資產。
原來我們做的很繁榮的一點是,我們將網際網路傳播的資訊發展到了體制,催生了這麼大的這種資訊爆炸。那麼在未來,我們可以依託區塊鏈,將我們所有的價值、所有的資產去做數字化,數字資產也能進一步的去做數字化,到鏈上去更快的做資產的流轉。我們知道 GDP 就是一筆一筆的交易,如果我們資產流動的速度變快了,那麼也可以想象 GDP 會有多快。
假如說可以用區塊鏈這種方式實現價值的流轉,我們不需要一個月發一次工資,可能是一分鐘發一次。之前買一棟樓很複雜,那麼現在可以一千個人、一萬個人一起來買一棟樓,還可以把這棟樓拆分出去,那麼資產的流動會非常的快,也會帶來翻天覆地的變化,不管是GDP上或者是現實的民生方面。
(1)資訊網際網路
資訊傳播趨向零成本:網際網路本質是實現資訊傳播趨向零成本,例如銀行間轉賬、團購、共享單車、遊戲、諮詢、短視訊等等應用,都是實現了資訊傳播趨向零成本後催收出的新興應用。
資訊易複製、易篡改、易洩露:網際網路傳播、承載的資訊易被篡改、洩密和複製。
比如某作者在網路上發表一篇文章,文章本身很容易就被複制盜取,同時中心化資料庫承載的資料也管理員或黑客修改,因此一旦發生糾紛,我們很難使用一個普通電子資料作為證據在司法場景舉證,因為該資料的產生時間、歸屬人、資料本身的內容都是存在很大的不確定性,都有很低成本的篡改手段可以實現資料的修改。
(2)價值網際網路
價值傳播趨向零成本:資訊網際網路實現了資訊傳播趨向零成本,區塊鏈的一個偉大特質是可以實現價值傳播趨向零成本。
區塊鏈通過私鑰操作的機制,可以通過將“身份”與私鑰強繫結來確定鏈上資料的操作人,同時資料上鍊可以確定唯一性,並且不可篡改。
不僅如此,區塊鏈的特性價值傳播場景下能發揮更大作用,價值的傳播或者說資產的傳播強依賴唯一性、不可篡改性,因為資產不能像資料,可被複制,一個資產是傳送轉移後就是你多我少的,不能出現雙花情況,區塊鏈很好的滿足的資產傳播所需要的核心要求。
價值網際網路具備確定性:
第一,每一筆區塊鏈的操作都需要一個私鑰操作,這個私鑰緊密關聯“身份”,這個身份可以是個人身份也就是自然人身份,也可以是企業身份也叫法人身份。
第二,區塊鏈上寫入資訊的時間不是由一箇中心化伺服器決定的,而是由若干個全量參與區塊鏈網路的節點保障的,因此篡改一個伺服器的資訊沒有用。
第三,內容無法被篡改,從Who、When、What三個方面保障資訊的確定性。這樣的確定性是資訊網際網路所無法做到的。
價值網際網路將由政府部門參與並主導:
資訊網際網路的繁榮發展是由B端、C端共同驅動的,因為網際網路承載的是資訊、娛樂、資訊等。但區塊鏈若要大規模應用,我們認為政府需要成為主導力量,因為無論是區塊鏈上“身份”的合法性,鏈上資料的合法性,都由需要政府部門參與認可。
區塊鏈最大的應用場景是價值(資產)的低成本傳遞流轉,大額資產如房產、證券、土地等上鍊的數字化,“資產閘道器”級的部門都是政府部門,因此價值網際網路的繁榮需要由政府部門來牽頭主導。
當前很多資產的流轉傳播都需要很高的時間成本和金錢成本,如果完成社會主流資產的鏈上數字化後形成我們14億人口的一個價值傳播網路,我們整個經濟社會的交易成本將大幅降低,交易效率大幅提升,這將會極大的提升我國的經濟活力,創造釋放出強大的生產力。
7. 區塊鏈技術分類
區塊鏈的技術分類也比較常規,分成了公有鏈、聯盟鏈和私有鏈這幾大類,這也是業界比較公認的分類方式。
公有鏈相較於其他兩個最大的區別是,沒有準入準出機制,想來就來想走就走。比如說我們的比特幣採礦,你隨時可以下載它的整個客戶端去部署一個節點加入它或者離開它。因為他是沒有任何准入準出機制的。但也因為節點參與的數量眾多,所以就造成了他的效能低下。比如說比特幣的效能,可能就是 7-8 筆/ 秒。
聯盟鏈會有準入機制,它會是多個機構做一個場景,聯合起來有準入機制去做一個業務場景,就會使用聯盟鏈的形式。
私有鏈就是整個鏈上每一個節點都部署在自己的機房,作為一個私有鏈。目前這種應用場景比較有限。
8. 區塊鏈能做什麼?
區塊鏈最底層的特性是防篡改,這項技術是人類追尋了很多年才實現的一個邏輯。
古代我們可能就是發一封密信,皇帝要調兵遣將,用龍虎符這些對信件進行“加密”實現防篡改。一直到今天,我們仍然輸出了極大的成本去防篡改。
現在有了區塊鏈技術,我們發現有很多開源的區塊鏈技術讓防篡改這件事情變成了一個低門檻的事情,變得人人都可以接觸。這會對整體人類社會帶來很大改變。
比如很多資料就代表了信任,比如資產的流轉、信用的記錄、可信資料的交換等等。
二、騰訊雲區塊鏈簡介
下圖展示了騰訊雲區塊鏈產品全景圖:
騰訊雲區塊鏈是基於騰訊雲的雲基礎設施,向上層搭建了 BaaS平臺( blockchain as the service),方便開發者、方便使用者快速的搭建區塊鏈。
可支援的鏈有很多條,比如自主研發的區塊鏈底層平臺騰訊雲區塊鏈、還有很廣泛應用的 Hyperledger Fabric 底層鏈等,都支援在雲端快速低成本的起鏈。
1. 至信鏈產品方案與應用場景
對於區塊鏈存證產品,我們先來問一個問題:What?Why?How?
-
什麼是存證:存證是資訊儲存並證明;
-
為什麼存證:證明一個資訊、事件的存在性和真實性;
-
如何存證:公私鑰對,分散式時間戳,賬本抗篡改。
具體怎麼做存證,需要保證三個 W:Who、When、What。也就是誰在什麼時間做了什麼事情,需要用這三個維度在鏈上把它固化下來。
在數字化生活生產下,產生了很多司法存證的需求。這有兩大背景:
-
網際網路改變了我們的生活方式,糾紛要素普遍線上化
-
三大網際網路電子法院、微法院等電子訴訟平臺日益普及,案件線上審理逐步成為常態。
這也導致了三大痛點:
-
電子資料量大、易篡改、歸屬難證明、存證成本高等;
-
電子資料產生、取證、存證、出證、司法適用的全宣告週期環節,流程長、環節多、效率低下;
-
電子證據司法採信度極低。
所以在涉網案件激增的背景下,電子證據必將成為最主要的證據型別。
區塊鏈存證的基礎原理有兩個:雜湊演算法與區塊鏈存證原理。電子資訊經過雜湊演算法之後會產生一個唯一固定長度的雜湊值,就靠這個原理實現電子資料的一個初級存證。
2. 至信鏈 + 微法院:線上訴訟的完整形態
至信鏈的產品定位,就是希望做一條可信的資料通道,將B端、C端、G端的資料在產生時上鍊固化,可信的通往司法端。微法院是基於微信小程式平臺開發的一款法院全流程辦案小程式,系最高人民法院指定的聯合專案成果。以前可能需要在法院打官司,現在可以在手機上、小程式上打官司。
至信鏈+微法院,在未來就可以組成數字化的訴訟手段,數字化的存證到訴訟的閉環。
至信鏈於 2019 年 7 月 在北京釋出。區塊鏈的產品是沒有辦法一個公司來做的,單一公司做的就會變成一箇中心化的產品,所以騰訊聯合了北明軟體、中國網安等合作共建了至信鏈的生態服務平臺。
騰訊有一個內容生態叫企鵝號,每天產生20 萬篇的待確權文章,每日平均10W起侵權,但對外通過律師函進行維權時,存在證據效力不足的問題,訴訟成本高,流程長。如果採用至信鏈的方案,在發表文章時就上鍊做存證,並用至信鏈對侵權的內容進行上鍊存證,鏈上就有了相關的明確、可信證據,降低了維權的門檻。
此外還有金融領域的存證流程等,也和智慧財產權的存證方式類似。
三、至信鏈技術方案
1. 建鏈治鏈
做一個基於聯盟鏈場景的區塊鏈應用,有三種不同的方案。上圖中最左邊的方案為每個企業都把對應的組織節點建立在自己的資料中心。這種方案,對於企業的技術要求相對較高,每個企業都需要對區塊鏈底層有深刻的認識,同時對區塊鏈的運維有比較深刻的瞭解才可以實現。
中間的這種解決方案中,各參與的企業可以把自己的節點部署在雲上。目前很多雲廠商都會提供一站式的區塊鏈解決方案,差不多分鐘級就可以把區塊鏈的底層架構部署起來。企業不用關注底層鏈的部署運維等工作,企業只需要關注自身的業務邏輯如何轉為智慧合約的程式碼,這樣可以極大的降低企業從傳統業務到區塊鏈業務之間的門檻。
但隨著企業對區塊鏈瞭解的程度加深,可能會有把部分節點拉到自身資料中心的需求,也就是第三種方式。把部分節點拉到自身的資料中心,在雲上做一些基本的管控,這樣可以實現一種完美的結合。
對於不同的區塊鏈搭建模式,也意味著存在不同的管理模式。隨著業務的發展,區塊鏈底層組織會不停的擴大。如果所有的參與方組織節點全部部署在自己的資料中心的話,這時候邀請其他參與方加入這個區塊鏈網路相對比較麻煩。各個參與方需要線下互動一些資訊,最終完成簽名配置,或者各個參與方通過區塊鏈上的智慧合約來管理組織的加入和退出,以鏈治鏈。以上兩種方法都需要相關的參與企業對區塊鏈有比較深刻的瞭解。如果絕大多數的參與方都利用雲上提供的一些區塊鏈服務,比如全雲或者混合部署方式,那麼可以充分利用雲上提供的一些治理服務,包括業務層治理或者以鏈治鏈等,這樣可以極大地降低對於參與方企業的技術門檻要求。
所以在做區塊鏈的應用之前,首先需要考慮可能參與到底層鏈協作的各個企業,然後在依據各個企業的能力,選擇一個合適的底層鏈部署方式。
2. 鏈上資料
搭建好區塊鏈之後,就需要思考什麼樣的資料需要上鍊。區塊鏈的透明性確保,只要把資料上到區塊鏈之後,聯盟鏈中所有的參與方都可以看到相同的內容。那麼如何處理隱私資料成為一個問題。
如果隱私資料和業務無關,就建議隱私資料不要上鍊,就不會洩露。若部分隱私資料和業務強相關,也有幾種方案可以解決。
最基本的是加密上鍊,加密上鍊有幾種不同的方式:
-
HASH
-
加密對稱
-
同態加密
-
零知識證明
-
其他密碼學演算法
這幾種加密方式分別對應不同的使用場景。HASH這種隱私資料處理方式一般用於存證類場景,鏈上只需要保證使用者持有特定的資料的摘要資訊就可以。至信鏈就是採取HASH上鍊的方式來處理隱私資料,使用者不需要提供涉及隱私的資訊,只需要把隱私資訊對應的摘要提供到鏈上就可以。
在供應鏈金融場景中,一些票據流轉資訊,相對來說比較隱私,不能讓所有人都看到,但是需要讓特定的人可以看到。這個時候一般可以通過對稱加密把隱私資料進行加密,然後把相關的金鑰用非對稱的方式提供給授權的參與方。
在一些積分場景中,使用者的積分如果直接加密後,相對來說流轉起來就比較複雜,這個時候可以採用密碼學的同態加密,確保密文和明文操作等於明文和明文操作,這樣就可以很好的解決加密和可操作性之間的矛盾。
當然如果我們需要判斷特定的值是否在一定範圍內,比如銀行賬戶等,這個時候可以引入零知識證明等方法來解決問題。密碼學中還有很多其他演算法可以處理使用者的隱私,這個要具體看特定的業務場景來決定。
如果單純從區塊鏈應用的角度講,其實開發者不太需要考慮如何實現這些底層的加密方式。開發者可藉助第三方平臺已經提供的能力,去選擇合適的密碼學演算法來解決自己的隱私資料問題。
另外就是鏈上的一些敏感詞。這個也是客戶關心的問題。客戶會問,在鏈上的資料是不是一定是不可以修改的?
由區塊鏈的不可篡改的保證,對於已經存在在區塊鏈上的資料,是不可以修改的。這個其實和我們人生比較接近,我們每一個決定,一旦決定後,其實是無法在回到特定的時間節點進行修改的,我們只能在以後對已經存在的事情進行修正,這個就像在區塊鏈的末尾在追加新的區塊。所以,敏感詞一旦上鍊後,這些資料將永遠儲存在鏈上,無法修改。
由於資料不可以修改,所以做區塊鏈應用需要考慮敏感詞過濾,並且這些敏感詞在上鍊之前就需要過濾掉。明文敏感詞相對好處理;如果存在密文敏感詞,建議可以在聯盟鏈中引入中立監管角色,在上鍊之前,監管角色擁有密文對應的私鑰進行過濾。
如果沒有監管角色,也可以引入一些可信的安全計算硬體進行敏感詞的過濾。
第三個部分是資料膨脹問題。
隨著業務的發展,區塊鏈上儲存的資料越來越多,最終會導致資料膨脹問題。這個問題的解決可以分成幾個方面去考慮。
第一個是從區塊鏈資料本身去考慮。區塊鏈上的的資料有證書、簽名還有使用者本身的資料。首先不建議把資料量很大的資料上鍊,因為鏈上的資料相對來說比較寶貴,建議把較大的資料壓縮或者雜湊後再上鍊,減少區塊鏈的大小。另一方面是對區塊底層的結構進行壓縮。在不改變區塊本身安全的前提下,減輕相應節點的儲存壓力。
第二個是選用可以動態擴容的儲存,當節點儲存壓力存在的時候,可以通過動態擴容底層硬體的方式解決儲存瓶頸問題。
如果這些操作都嘗試後,我們還可以考慮下區塊鏈的歸檔。比如通過共識達成一個共識的歸檔點,這樣部分企業只需要儲存歸檔點後的區塊資料,這樣可以極大的減少鏈上儲存的壓力。
3. 鏈間互聯
我們的單個區塊鏈應用,一般儲存的是單維度的資料,往往是個資料孤島。如果需要從多維度展示一個實體的資料,這個需要通過跨鏈方案來實現。
跨鏈方案相對來說比較複雜,需要有一個跨鏈治理平臺來處理跨鏈相關的操作。跨鏈治理平臺包含跨鏈的身份管理、跨鏈的服務發現、跨鏈事務操作等。這些操作相對都較為複雜,也會涉及到不同區塊鏈的不同協議。
所以在開發區塊鏈應用前,需要考慮是否有跨鏈的需求。如果有跨鏈的需求,要提前考慮鏈間互聯的問題,確認相關的跨鏈方案。
4. 技術融合
最後是技術融合的問題,這也是很多企業關注的問題。很多企業會問,區塊鏈是否可以解決所有的問題,答案是否定的。
我個人認為區塊鏈更像是集團軍中的特種作戰部隊,主要是解決一些核心的問題。區塊鏈可以和物聯網、人工智慧、大資料、雲等進行融合,去解決業複雜的業務場景問題。
在廣義區塊鏈中,區塊鏈技術結合其他技術包括物聯網、人工智慧、大資料、雲等能力來打通鏈下的真實世界和鏈上的數字世界之間的界限, 讓鏈上的數字世界更真實的反應現實世界。
區塊鏈上每一個資料點,可以理解為現實世界中特定的時間點,結合區塊鏈不可篡改的特性,這些單獨的資料點合在一起,就可以理解為現實世界中連續的單維度時間點。通過跨鏈技術的整合,可以從單維度時間點變為多維度時間點。隨著時間的累積,多維度的連續時間點,就可以具有價值,就會形成最終的價值網際網路。
四、Q&A
Q:區塊鏈存證可以在哪些場景發揮作用?
A:第一個是司法存證,目前很多大量的糾紛是線上上發生的,產生的資料就是電子證據,把電子資料轉化為電子證據就需要進行存證。另外就是智慧財產權的存證,如果想證明一個原創作品的所屬權,就需要一個時間性的證明。第三點就是溯源。一個全流程的產品,如果想知道是在哪個地方生產、銷售,本質上也是藉助了資訊的存證。
哪些場景需要用到防篡改的特性,哪些場景就會用到存證。
Q:用什麼方式可以判定,誰可以繫結下一個區塊?
A:在公鏈裡可以有pow、pos等共識演算法,在聯盟鏈中一般是通過確定行的共識演算法,比如PBFT來決定下個區塊的內容。
Q:如果內容上鍊之後,發現存在違規違禁內容要如何處理?
A:建議所有的上鍊資料一定要在上鍊前做敏感詞過濾。同時,對於鏈上的資料,儘量都是加密處理過的。
Q:歸檔後的區塊鏈資料,轉移的簽名是否會受到影響?
A:歸檔是說達成全域性共識,全域性共識形成區塊,然後區塊構成一個歸檔點。部分參與方可以不儲存在歸檔點之前的資料,核心節點仍然儲存全量資料。
Q:鏈上是冗餘儲存,個人的終端裝置中如何儲存海量的資料?
A:在聯盟鏈的場景中,聯盟的參與方企業提供節點,儲存區塊資料。客戶端只需要調取節點服務,不需要儲存資料。
Q:如何保證資料存證前的可信度和真實性?
A:目前是沒有任何一個系統可以保證系統中的資料是 100% 真實的。上鍊前的資料是否被篡改是沒辦法作保證的,但可以逼近一個真實值。我們不接受傳過來一個東西就做存證,接受的是提供一個SDK、一個開發工具包整合到服務端和業務系統,去做API級別的對接。資料實時產生、實時上鍊,整個過程要求非人為接觸,所以能保證資料產生的時候上鍊,那麼這個資料就是證據。未來可能會在部署到存證SDK的客戶裡面加入一些檢測手段,進一步逼近真實性。
Q:區塊鏈在去中心化後,是否還存在中心化的資料庫?
A:是有的。區塊鏈上並不會承載所有的資料,只會承載一些核心資料。每個企業自身的資料不需要完全上鍊,中心化的資料庫仍然是存在的。
Q:如何提高區塊鏈生成的速度?
A:目前絕大部分企業使用的是聯盟鏈。聯盟鏈相對來說本身的共識演算法是比較確定性的,這些演算法的效能都比較高。感興趣的可以關注騰訊雲區塊鏈的公眾號,裡面會有一些技術方面的講解。
Q:同一個智慧財產權出現不同的聯盟鏈怎麼辦?多個聯盟鏈間的時間如何同步?
A:在區塊鏈當中沒有時間的概念, 每一個上鍊的資料都要有一個可信的時間戳和資料繫結。這個時間戳是國家授權中心、國家法律認定的。只要鏈上的資料都有可信的時間戳,那麼時間也就是可以比較的。
Q:目前已經存在電子存證,那麼區塊鏈存證是否還有必要性?
A:在區塊鏈誕生之前是有一些電子存證平臺的,他們的存證方式和技術原理,基本也是用到了數字簽名技術和非對稱性加密等技術。這類技術會有兩個問題,第一就是無法實現不可篡改,被篡改後無法找回原始的資料。而區塊鏈存證實現了防篡改,這是一個本質的進步和不同。
第二點就是時間戳。傳統的對某個資訊做一次雜湊、做一個簽名就會成為一個點,他無法對這個資訊或者點進行疊加,而是會關聯為另一個資訊,這些都是可信不可篡改的。以前的電子存證如果理解為搬運東西,是從a到b的手動搬運,而現在就是一個流水線系統的搬運。
傳統的電子存證是中心化的,靠單一的一個機構進行背書,所以中心化作惡的風險還是存在的。而區塊鏈保證了一個制衡和可信。
「雲加社群」公眾號回覆“線上沙龍”,即可獲取本場分享PPT~