從本質上看區塊鏈
一個用來建立信任感的技術
由於近期承接了許多加密貨幣的相關系統開發案,這一系列的文章,將順著我的學習歷程,分享一些觀點或彙整各種文獻後的知識整理人類發明了金錢時,在硬幣上刻上國王的印記,象徵著某種權力以確保貨幣的價值,於是國王嚴懲那些製造偽幣的人,因為他們褻瀆了至高無上的神賜予國王的權力。時至今日,人們也發展出各種更高明的防偽技術與嚴格的法律懲處,來約束人們的貪婪。
金錢是互信的系統
四千年前,我們還使用貝殼做交易,蘇美人更進一步把大麥當成交易的單位來記帳,中國人使用金銀元寶,歷經四千年的時光才發展出統一的貨幣制度和匯率系統。
“不管是貝殼或是美元,它們的價值都只存在於我們共同的想像中。
金錢正是有史以來最普遍、最有效的互信系統”Ref:《人類大歷史》 by Yuval Noah Harari
加密貨幣要如何建立起絕對的信任?
要成為通用的貨幣,信任很重要。正因為我們絕對相信美元的價值、絕對相信人民幣的價值、絕對相信台幣的價值,因此我們願意使用他們做交易,這些貨幣藉由法律、監管機關、銀行等構成複雜的系統,透過這種複雜的系統維持信任,才能把供需量化成為一種可以轉移的價值。
加密貨幣建立絕對信任的兩個關鍵技術:加密演算法( encryption algorithm)與區塊鏈(blockchain)
加密貨幣藉由加密演算法與區塊鏈建立了一個絕對信任系統
加密演算法
在談論加密技術如何防止竄改資料之前,我們先談談如何確保資料不會被竊用?首先,我們需要一個很厲害的加密方法f,能夠把資料(data)轉換成加密後的字碼 — 密文y,如果用數學式來表示的話,就是f(data)=y。
如果你的加密方法是這樣:
f(2)=4
f(3)=8
f(4)=16
只要收集到足夠的data和y,就可以猜得出來你的加密方法是y=2^data。所以數學家發明了非常複雜的f(data),讓我們既使收集了很多data和y,也無法逆推data和y之間的關係。
加密技術的一個典型的應用是帳戶密碼加密 — — 會員系統需要保存使用者密碼,以做為下次使用者登入用,但直接保存明文密碼的話,只要資料庫被竊用,或者工程師偷偷查看資料庫,就可以知道使用者的密碼了,再拿這些密碼去登入Google帳戶、Facebook帳戶或銀行帳戶,有很大的機會成功取得使用者的其他個資,所以實際上資料庫中保存的都不是使用者原本輸入的密碼,而是經過加密方法加密後的密文,例如:
f(0921833333)=adf23rvdfb#2r2fsdf
就算資料庫被駭或者工程師查看資料庫,都沒辦法藉由密文 — adf23rvdfb#2r2fsdf逆推本來的明文密碼 — 0921833333
所以唯一驗證密碼正確的方法就是輸入相同的明文密碼,並且將經過加密方法f 加密後得到的密文,與資料庫中的密文 — adf23rvdfb#2r2fsdf互相比對,若相符就表示驗證成功。這使得保存的資料具備不可逆性(無法逆推本來的明文)
通常我們稱這種加密方法為雜湊函數(hash function),而加密後的密文稱為雜湊值(hash code)。雜湊函數通常具有資料壓縮的特性,能夠把資料量降低,同時降低了傳輸或儲存資料的成本。
區塊鏈
一種儲存資料的結構,可以存放任何資料,具有把資料複製成好幾份並存放在每個區塊(blcok)中的特性。
每個區塊加入新的資料時,都會與上一個區塊內的資料一起放入雜湊函數中加密,因此區塊會彼此串接,形成了一個鏈(chain)的結構。
換句話說,由於每個區塊儲存的雜湊值都是利用前一個區塊的資料內容透過雜湊函數計算出來的,我們任意串改某個區塊內的資料,都會導致雜湊值不一樣,而雜湊值又是不可逆的,便使得整個區塊鏈的內容幾乎不可能竄改。區塊鏈不可篡改的特性是基於雜湊函數加密演算法實現的,而這樣的特性讓基於區塊鏈的加密貨幣有一定程度的信任度。
共識機制用來解決去中心化衍生的問題
有了區塊鏈和加密技術後,我們再將這些區塊保存在遍佈全世界的電腦中,形成一種分散式、去中心化的節點網路,沒有人可以獨佔整個區塊鏈,以提升公信力。
去中心化確實有它的優點,但也因此衍生出了一些問題,例如這麼多個節點共同維護一個龐大的資料內容,哪個節點寫入的數據是能被接受的?如何運作?怎麼確認節點上產生的區塊是合法的?
為了解決這些共識問題,因此需要很多建立共識的機制,像是工作量證明機制(Proof of Work, PoW)就是用來確保產生出來的區塊是合法的。除此之外還有權益證明(Proof of Stake, PoS)、股份授權證明(DPoS),這些機制主要是做為集體決策的規範,也是目前最具挑戰的部分。
區塊鏈大幅降低了信任的成本
區塊鏈用加密技術壓縮了資料內容,並串成了一個具有因果關係的鏈,這樣的鏈是信任感的累積,每個區塊的建立,都是基於過去無數個區塊生成的,一個短短的雜湊值可以代表數以萬計的交易資料的正確性,就好像歷經4千年建立而成的貨幣系統,越多人使用它,它就越值得信任。
因為去中心化、不可篡改、不可逆的特性,因此不需要三方單位的監管,就能建立雙方的信任基礎。
比特幣也因為這樣的特性,在短短十年內爆炸性的成長。
總結
金錢制度有兩大普世通用的原理:
1.萬物可換:錢就像是鍊金術,可以讓你把土地轉為手下的忠誠 (領主與騎士的僱傭關係)
、把健康轉為正義(醫生拿看病人看病的錢聘任律師)、把性轉為救贖(妓女向天主教會買贖罪券)2.萬眾相信:有了金錢作為媒介,任何兩個人都能合作進行各種計畫Ref:《人類大歷史》 by Yuval Noah Harari
不管是對銀行、對某個人,對某個產品,從前得花很多時間建立彼此的信任感,我們無法在一開始就相信某個陌生的人事物,但區塊鏈讓我們不需要藉由銀行、法律的約束、監管機關的介入,就能創造強大的信任感。
因為它的公開、透明、可回溯性,可用來解決資訊不對稱的問題,因此用來發展物料追蹤、產品歷程等應用會是一個新的可能。而基於區塊鏈的智能合約,也可能會是解決窮徒困境的商業策略合作上的新工具。
因為區塊鏈大幅降低信任的成本,因此適合用來作為價值轉移的媒介
有趣的是,區塊鏈從技術的角度來看,只是一個儲存效率相當低的資料庫,並且使用了一個已經相當普遍的加密演算法。
真正創新的是中本聰的思維 — — 一個不需要三方介入的價值轉移系統需要什麼東西?更低成本的信任建構機制。
中本聰恰巧發明了一個極具發展潛力的新技術 — — 區塊鏈。
我是James,一位自由接案工作者對於軟體開發與接案工作充滿熱忱,截至2018年,不知不覺已經累積11年的時間在這個領域打轉,擁有6年的接案經驗。 寫作是我一個新的嘗試,初衷是希望能讓這個環境變得更好,從三個面向出發:1.個人:強化團隊成員的生產力與技術力,提供技術觀點與教學、工作方法等硬實力。
2.組織:培養良好的團隊合作態度與企業文化、分享合作與溝通技巧。
3.社會:讓客戶、發包單位知道如何有效處理系統外包,把資源花在刀口上,並透過接案經驗分享促進良好的合作。FB粉絲頁:艾菲肯先生——您最佳的技術夥伴
個人刊物 :艾菲肯先生的咖啡時間
工作室網站:Efacani.com