天天看點

概念大熱的區塊鍊,有這些值得關注的特性什麼是區塊鍊的不變性?區塊鍊的不變性怎樣實作?不變性的應用

概念大熱的區塊鍊,有這些值得關注的特性什麼是區塊鍊的不變性?區塊鍊的不變性怎樣實作?不變性的應用

前段時間,日本第三大鋼鐵巨頭——神戶鋼鐵被曝出篡改鋁制品性能資料;A股上市公司财務報表造假事件近年來也頻頻被曝光……

人們常說,真實而未篡改的資料是誠信的基礎,通常,大多數人會依賴于政府機關的立法和輿論曝光,通過提高對造假的懲罰來杜絕惡意篡改,但好的法律需要好的“警察”,如果不能及時發現篡改行為,就不能完全避免風險和損失。

如果有一種技術手段,既能提高資料篡改的難度和代價,又能讓其他人快速而廉價的檢驗是否發生了篡改行為,造假盛行這一狀況就會有很大的改觀。

2017年,比特币的瘋狂上漲引發關注,除了傳說中的耗時耗電,比特币究竟為人類做了哪些貢獻呢?很重要的一點就是比特币建構了一個高度可信的賬本,完全杜絕了賬本的篡改行為。

這是因為比特币采用了區塊鍊技術作為底層支撐,使得區塊鍊在沒有行政監管的條件下,還能保證貨币交易資料寫入賬本之後不會被篡改。對此,區塊鍊領域的業内人士将其稱之為“不變性”。

那麼,這種不變性究竟該如何了解?它又是怎樣實作的?它和普通群眾究竟有什麼關系?本文嘗試對這些問題進行解答。

什麼是區塊鍊的不變性?

通常,不變性的具體含義是指某一事物不會随着時間而改變。

以比特币為例,交易資料是在不停擴充的,是以在區塊鍊的範疇内,不變性是指一旦交易被寫入到賬本以後,任何人都無法改變它。通過區塊鍊,資料的提供者可以證明其提供的資料沒有被更改過,而資料的接收者可以明确其接收的資料沒有被篡改。

值得注意的是,這種不變性是面向所有人的,區塊鍊維護的賬本和銀行的賬目并不一樣。對于銀行賬目,作為一個普通使用者,你隻能讀取你本人的賬本,卻無法對曆史資料進行更改,但是,其他一些更高權限的人,比如銀行内部的系統管理者就具備完全的修改資料能力。而區塊鍊技術則保證了任何人,包括系統管理者,都無法對曆史記錄進行修改。

不過,區塊鍊技術的不變性并非絕對的。

舉一個簡單的例子,你寫了一條資訊準備發送,在發送之前,你可以随意修改它,這是沒有人知道的。如果你已經發送給一位朋友,這條資訊對你來說就有一定的不變性,你想改變它,你可以請你的這位朋友删除原來的短信,然後你重新發送,這樣其他人就不會知道你修改了這條短信。

那麼,如果你群發給了很多人呢?對你來說這種不變性就很強了,因為你要說服每一位短信接收人去删除原始短信,理論上,這是可以實作的,但是現實很殘酷,群發的數量越大,資料改變的難度就越大。

區塊鍊也基于同樣的原理。對于資料篡改者來說,篡改資料并不難,困難的地方在于怎麼不讓别人發現這種篡改,隻要能讓别人快速的驗證資料被篡改過了,那就說明這次篡改行為是失敗的。這就變相地提高了修改某一事物的難度。

綜合起來,區塊鍊的不變性包含了兩個方面的内涵:一是給攻擊者制造難關,二是友善使用者對篡改的檢測,但是,具體過程是怎麼實作的呢?

區塊鍊的不變性怎樣實作?

在金融領域,賬本記錄了資産和現金等資源的交易情況,是十分重要的财務記錄。我們每個人在銀行都有相應的流水記錄,而每一條記錄之間的順序通常是按時間進行排序和編号的。這種流水式的賬本對于有權限的人來說,篡改起來是非常容易的,比如,他們把幾條記錄裡的内容稍做修改,不仔細檢視内容很難看出來。

下圖就展示了一個例子:有人把第4頁的一行内容進行了修改,你可能很難看出前後的差別,因為賬本的變化不夠顯著(參見下圖)。很顯然,這種普通的賬本篡改起來非常簡單,而檢查是否篡改卻十分困難。

概念大熱的區塊鍊,有這些值得關注的特性什麼是區塊鍊的不變性?區塊鍊的不變性怎樣實作?不變性的應用

根據這一原理,使用者的任何篡改都能反映到頁碼的變化上。為了更便于檢測,我們希望即便隻是對内容進行了極小修改,頁碼都能面目全非。這樣做的一個好處是篡改者很難掌握頁碼的變化。

那麼,如果有一種賬本,他把每一頁的内容和頁碼進行關聯,不管對第4頁的内容進行了何種修改,頁碼都會發生突變,比如篡改後第4頁的頁碼變成了40,這樣的話,篡改行為就能很快被檢測出來。這就是區塊鍊防篡改的第一個主要原理:将頁面内容和順序編号進行關聯。

但這樣也給真實的記賬過程帶來一個問題——由于頁碼的不可控制,記賬時很難生成連續的頁碼,那麼,賬本的順序該怎樣維護呢?區塊鍊中,在新加入一頁賬本的時候,就把上一頁賬本的頁碼寫到目前頁的開頭,這樣就能對所有賬本頁進行排序了,典型的一個區塊鍊就可以表示成下圖的形狀:

概念大熱的區塊鍊,有這些值得關注的特性什麼是區塊鍊的不變性?區塊鍊的不變性怎樣實作?不變性的應用

一個有效賬本的第一個規則是:必須保證前後兩頁的頁碼一緻性。一旦出現頁面連結不上,說明賬目有假。

概念大熱的區塊鍊,有這些值得關注的特性什麼是區塊鍊的不變性?區塊鍊的不變性怎樣實作?不變性的應用

有了這樣一個賬本之後,怎麼樣才能得到一個有效的篡改賬本呢?

比如,修改第200頁上的某一筆交易,很顯然,第200頁的頁碼也發生了變化,那麼,為了保持整個區塊鍊的一緻性,你必須修改第201頁頭部記錄的頁碼,由于第201頁也變了,那麼必須修改第202頁頭部的頁碼。

也就是說,必須把第200頁之後的所有賬本都修改了。乍聽上去,篡改資料隻是增加了一些繁瑣度,是以我們需要第二條規則。

一個有效賬本的第二條有效性規則是:每一個頁碼都必須小于一個固定數值。符合第二條規則是極為困難的,這是由于區塊鍊從内容到頁碼的映射過程有很強的不可預測性,篡改者隻有不停地進行随機測試,這個計算量非常大,如果運氣不好,上億次的嘗試才能改好一頁。

概念大熱的區塊鍊,有這些值得關注的特性什麼是區塊鍊的不變性?區塊鍊的不變性怎樣實作?不變性的應用

如果一個攻擊者的運氣極佳,能生成一個有效的篡改賬本,但區塊鍊還為他準備了第二條預防方法:在許多台機器上備份統一的賬本。對比不同機器上的賬本也不用那麼複雜,隻要對比一下最新頁的頁碼就可以了,如果發現你和其他多數人不一樣,就知道你進行了篡改,也就是說,你花費了很大的力氣僞造了一本賬,别人隻要花不到一秒鐘,就能知道你做假了。

概念大熱的區塊鍊,有這些值得關注的特性什麼是區塊鍊的不變性?區塊鍊的不變性怎樣實作?不變性的應用

唯一的一種實作篡改的可能性是:你掌握很大的計算資源,并串通大量攻擊者同時改寫了網絡上的大部分賬本,但這種可能性微不足道,技術本身足以保證區塊鍊賬本資料的不變性。

不變性的應用

利用區塊鍊的不變性,我們可以解決很多實際問題。除了保證資料不被篡改已經在金融支付行業成功應用以外,還有哪些業務場景有可能會借助區塊鍊的不變性特點呢?

首先是在教育認證行業。學曆證書、技能證書等材料直接反映了一個人的能力和教育經曆,而用人機關會對招聘人員的能力具有一定程度的要求。如此,有一些求職者會僞造學曆證書作為踏入職場的敲門磚,而在目前,學曆證書的僞造似乎成了一門産業,僞造的紙質證書足以以假亂真。那麼,可否考慮用區塊鍊技術來防止證書被僞造或篡改呢?

近年來,麻省理工學院使用比特币區塊鍊進行了認證測試,并開發了相應的證書系統用于學術、專業和勞動認證。2015年10月,該系統為參加30周年慶的校友頒發了證書。

此外,墨爾本大學也宣布發起區塊鍊認證和稽核計劃,允許通過一種隐私、安全且持久的方式驗證學生的證書。

由于區塊鍊證書的不可僞造性,一方面,可以更有效率的讓用人機關進行學曆審查,也能為優秀的人才創造一個公平的競争環境。

其次是在醫療行業。近年來,醫療糾紛頻頻發生,其中有不少是由于病曆或處方等報告上出現的錯誤資訊和疏漏導緻的。那麼,如何防範此類事件的發生呢?将病人的所有醫療記錄用區塊鍊進行存儲和保護不失為一種有效途徑。

目前,基于區塊鍊的醫療應用已逐漸成形,阿聯酋最大的電信公司之一Du已經與大型私人醫療服務提供商NMC Healthcare建立合作關系,開始使用區塊鍊技術來存儲電子健康記錄。如此,可以確定資料完整性和零錯誤,同時加強醫療服務提供者和患者之間的信任。

另一個重要的問題是假藥的生産。根據世界衛生組織的統計,假藥占據醫藥市場的10%,開發中國家的資料則接近30%,這對患者的健康和安全造成了威脅。

目前,包括因特爾、IBM等一些研究機構共同發起了反藥品僞造項目,在這個項目裡,每一個廠家生産的藥品都會附帶相應的生産時間記錄,甚至包括藥物的整個供應流程和主要成分,并在區塊鍊上儲存起來,這樣就可以随時檢測藥品的生産時間和地點,進而有效對抗市面上的假藥,對保護患者生命健康具有十分重要的意義。

最後,需要指出的是,在區塊鍊不斷火爆的今天,多數人隻把它當做又一場全民概念在炒作。然而,當今天的我們需要随時給自己的手機充電時,卻忘記了1831年10月28日夜晚被嘲笑的法拉第——電磁學之父;當今天的我們習慣了淘寶購物時,卻忘記了十多年前“網購等于欺詐”的各種言論,更忘記了網際網路發起之初受到的質疑。

電和網際網路在産生之時,人們常說“虛幻”二字,我們有燃油和報紙就夠了。現在的你或許嘲笑當時之人多麼的愚昧可悲,殊不知自己也是時代的替代品。

區塊鍊誕生至今,“缥缈虛幻”的評價從未間斷,比特币更是非議重重,但是不管遭受了多少黑客的攻擊,它建構的誠信大廈卻從未被破壞過。或許,未來的一天,“上鍊”也會像“上網”一樣随處可見,那時的你,會怎麼看待今日的你呢?

原文釋出時間為:2018-01-12

本文作者:蘇甯金融研究院

本文來源:

钛媒體

,如需轉載請聯系原作者。

繼續閱讀