前不久邦蜜,踢球的時(shí)候把腳傷了依鸥,手術(shù)后綁著石膏在家呆了一個(gè)多月。這段時(shí)間公司老板體諒畦徘,在家辦公毕籽,活也不多,落得輕松自在井辆。有一次,看微信朋友圈的時(shí)候溶握,無意間看到朋友提及區(qū)塊鏈杯缺。之前也聽過,當(dāng)時(shí)沒提得起興趣去打聽打聽到底是個(gè)什么新鮮玩意睡榆。這下閑來了點(diǎn)興致萍肆。不打聽吧倒也罷了,一通了解下來胀屿,發(fā)現(xiàn)這東西現(xiàn)在火熱得是從東到西塘揣、從南到北。
至于說區(qū)塊鏈到底有多火宿崭,網(wǎng)上有很多的文章在說亲铡,區(qū)塊鏈?zhǔn)嵌嗝锤镄隆⒏锩缘募夹g(shù)葡兑,可以如何如何地提高現(xiàn)有系統(tǒng)奖蔓、業(yè)務(wù),可以應(yīng)用在社會(huì)應(yīng)用的各個(gè)方面讹堤,等等吆鹤。還說到,有多少多少的相關(guān)初創(chuàng)公司洲守,有多少多少的投資疑务,將產(chǎn)生多大的市場沾凄,等等。一直以來知允,我都沒有一個(gè)確切的標(biāo)準(zhǔn)來判斷一個(gè)新東西到底好不好撒蟀、火不火,反正看了這么多的文章廊镜,我感覺火牙肝。于是,我找了些技術(shù)資料嗤朴,想好好了解一下區(qū)塊鏈到底是什么配椭,說不定還可以和和稀泥。
從一開始雹姊,我就在想:區(qū)塊鏈?zhǔn)鞘裁矗?/p>
大多數(shù)的定義都說區(qū)塊鏈?zhǔn)欠植际劫~本股缸。我就好奇了,賬本那不是財(cái)務(wù)管的東西嗎吱雏,為什么說可以運(yùn)用到各行各業(yè)敦姻?另外,提到分布式歧杏,那就要問了镰惦,和集中式有什么區(qū)別?有什么不同目的犬绒?接著旺入,我得到了這樣的回答:分布式賬本的目的是為了去除第三方、中心化的單點(diǎn)控制凯力,解決第三方茵瘾、中心化的信任危機(jī),從技術(shù)層面使得整個(gè)系統(tǒng)更加相互信任咐鹤、更好地協(xié)作拗秘。區(qū)塊鏈呈現(xiàn)出來的基本特點(diǎn)就是:協(xié)作式防范非信任用戶,防止數(shù)據(jù)篡改祈惶。
其實(shí)雕旨,看到這樣的回答,我更迷惑了行瑞。什么是信任危機(jī)奸腺?現(xiàn)在的業(yè)務(wù)怎么篡改數(shù)據(jù)?技術(shù)上如何實(shí)現(xiàn)協(xié)作式(分布式)血久?突照。。氧吐。結(jié)合比特幣讹蘑,我能想到的末盔、可能的信任危機(jī)就是央行超發(fā)貨幣。其它的場景座慰,比如保險(xiǎn)公司作弊陨舱、銀行挪用資金、證券經(jīng)紀(jì)耍賴版仔,等等游盲,我都想象不出這其中的信用危機(jī)到底有多大,有多大的緊迫性需要區(qū)塊鏈來拯救蛮粮。
帶著這些困惑益缎,我進(jìn)一步了解:區(qū)塊鏈技術(shù)到底是什么樣的?
區(qū)塊鏈技術(shù)起源于中本聰?shù)谋忍貛牛˙itCoin)系統(tǒng)然想。主要包括:用戶管理(加密技術(shù))莺奔、共識(shí)機(jī)制(協(xié)作)、賬本管理(一致性存儲(chǔ))变泄、業(yè)務(wù)合約管理令哟。也有其它一些解構(gòu)方式,大同小異妨蛹。用戶管理主要是采用各種不同的加密技術(shù)砾跃、方案驗(yàn)證寓免、保護(hù)用戶身份哩掺,這個(gè)應(yīng)該和現(xiàn)在很多系統(tǒng)中的用戶管理類似设塔。共識(shí)機(jī)制是區(qū)塊鏈中最核心的模塊幅骄,是所有系統(tǒng)參與者共同協(xié)作完成任務(wù)的行為規(guī)則望艺,以保證分布式系統(tǒng)的正常運(yùn)行票腰。我個(gè)人理解堕油,區(qū)塊鏈中用戶管理的最主要目的是甄別用戶的可信任度甜滨,以此來搭配不同的共識(shí)機(jī)制乐严,實(shí)現(xiàn)不同的區(qū)塊鏈系統(tǒng),滿足不同的業(yè)務(wù)應(yīng)用衣摩。舉個(gè)例子昂验,比特幣系統(tǒng)或者以太坊(Ethereum)中,用戶可以隨意加入艾扮、離開既琴,不需要(也不必要)對(duì)用戶身份進(jìn)行嚴(yán)格管理,用戶的可信任度不高泡嘴,或者說不可信任甫恩。需要配合特別的共識(shí)機(jī)制,才能保證系統(tǒng)的可靠運(yùn)行酌予。業(yè)界把這類系統(tǒng)稱為公有區(qū)塊鏈磺箕。因此奖慌,在這些系統(tǒng)中,采用PoW這樣的經(jīng)濟(jì)博弈共識(shí)機(jī)制松靡。與之不同的例子简僧,就是聯(lián)盟鏈、私有鏈雕欺,如Hyperledger的Fabric岛马,系統(tǒng)中的用戶通過嚴(yán)格的加密認(rèn)證機(jī)制,確保具備一定的可信度屠列,配合Paxos啦逆、Raft、拜占庭等等共識(shí)機(jī)制脸哀,避免了PoW機(jī)制的資源浪費(fèi)蹦浦,同時(shí)提高了系統(tǒng)運(yùn)行效率(如:單位時(shí)間處理交易的數(shù)量)。在私有鏈中撞蜂,由于用戶可信度更高盲镶,甚至可以采用更激進(jìn)的共識(shí)機(jī)制。
賬本管理是如何管理系統(tǒng)中交易記錄(數(shù)據(jù))蝌诡。首先溉贿,通過共識(shí)機(jī)制生成區(qū)塊(Block),然后將交易數(shù)據(jù)存放的區(qū)塊中浦旱、發(fā)送給所有的系統(tǒng)用戶宇色。用戶對(duì)區(qū)塊進(jìn)行驗(yàn)證后,將區(qū)塊添加到以前區(qū)塊的尾部颁湖,形成本地區(qū)塊鏈(Block Chain)宣蠕。因此,每個(gè)系統(tǒng)用戶都保存一份完整的系統(tǒng)區(qū)塊鏈甥捺,并且所有用戶的區(qū)塊鏈內(nèi)容都一致抢蚀。通過Merkle Tree機(jī)制驗(yàn)證區(qū)塊鏈數(shù)據(jù)的有效性,防止篡改镰禾。我個(gè)人認(rèn)為皿曲,每個(gè)系統(tǒng)用戶保存一份完整的區(qū)塊鏈賬本,其實(shí)是對(duì)存儲(chǔ)資源的極大浪費(fèi)吴侦。同時(shí)屋休,區(qū)塊要傳輸給所有用戶,也是對(duì)網(wǎng)絡(luò)帶寬資源的極大浪費(fèi)备韧。聽說有SPV機(jī)制劫樟,后續(xù)會(huì)研究一下。
業(yè)務(wù)用戶可以通過業(yè)務(wù)合約管理自定義業(yè)務(wù)邏輯,并部署在區(qū)塊鏈系統(tǒng)上毅哗。底層的區(qū)塊鏈系統(tǒng)確保合約的正確執(zhí)行听怕,以及保證業(yè)務(wù)數(shù)據(jù)的真實(shí)可靠。
通過上面的技術(shù)了解虑绵,又迫使我使勁地想:區(qū)塊鏈到底是什么尿瞭?要解決什么問題?基于我目前有限的了解認(rèn)識(shí)翅睛,我想初淺地說說我個(gè)人認(rèn)識(shí)的區(qū)塊鏈的是與不是声搁。
區(qū)塊鏈到底是什么?
首先捕发,區(qū)塊鏈?zhǔn)且粋€(gè)可信任系統(tǒng)疏旨。區(qū)塊鏈的目的是建立信任,或者說防止作惡(包括失效)扎酷。加密認(rèn)證的用戶管理檐涝、分布式的共識(shí)機(jī)制、鏈模式的交易數(shù)據(jù)管理等等法挨,都是搭建該信任系統(tǒng)的具體技術(shù)手段谁榜。目的是為了提供一個(gè)可信任系統(tǒng)應(yīng)該具備的基本特征:用戶行為合法,用戶數(shù)據(jù)真實(shí)有效凡纳。換句話說窃植,如果所有用戶及其行為都是可信、合法的荐糜,也就沒有區(qū)塊鏈?zhǔn)裁词铝恕?/p>
其次巷怜,區(qū)塊鏈?zhǔn)且粋€(gè)可信任的業(yè)務(wù)平臺(tái)。這里就要說到區(qū)塊鏈中的智能合約暴氏。區(qū)塊鏈系統(tǒng)提供給業(yè)務(wù)用戶一個(gè)可信任的平臺(tái)延塑,用戶可以開發(fā)、定義答渔、部署自己的業(yè)務(wù)邏輯合約页畦。區(qū)塊鏈系統(tǒng)保證正確、真實(shí)研儒、有效地執(zhí)行該業(yè)務(wù)合約。因此独令,我個(gè)人更傾向于將智能合約從區(qū)塊鏈中分離出來端朵。
再次,從數(shù)據(jù)(data)生命周期看燃箭,數(shù)據(jù)經(jīng)歷:產(chǎn)生冲呢,存儲(chǔ),計(jì)算(被使用)招狸,再生產(chǎn)敬拓,再存儲(chǔ)邻薯,再計(jì)算...。當(dāng)前的大數(shù)據(jù)乘凸、人工智能是在利用數(shù)據(jù)進(jìn)行分析厕诡、挖掘,是數(shù)據(jù)計(jì)算营勤、被使用灵嫌。存儲(chǔ)系統(tǒng)用于存儲(chǔ)數(shù)據(jù),但并不解決(也不應(yīng)該解決)數(shù)據(jù)被篡改等應(yīng)用相關(guān)問題葛作。而數(shù)據(jù)的產(chǎn)生則處于一個(gè)無序的狀態(tài)寿羞,任何數(shù)據(jù)都可以被寫入系統(tǒng)并進(jìn)行存儲(chǔ)、計(jì)算赂蠢。寫入數(shù)據(jù)是否有效绪穆、合法不得而知、也無法保障虱岂。因此玖院,區(qū)塊鏈?zhǔn)窃谠噲D解決數(shù)據(jù)產(chǎn)生的合法性和存儲(chǔ)的真實(shí)有效。合法性是指數(shù)據(jù)的生成是經(jīng)過系統(tǒng)大多數(shù)認(rèn)可并同意的量瓜。這一點(diǎn)也許將來能反饋到數(shù)據(jù)計(jì)算的環(huán)節(jié)司恳,提高計(jì)算的有效性。
區(qū)塊鏈不是什么绍傲?
首先扔傅,區(qū)塊鏈不是一個(gè)分布式系統(tǒng)(或者分布式賬本啥的)。對(duì)比分布式和去中心化的說法烫饼,我更傾向后者猎塞。為什么這么說,大家可以仔細(xì)想想什么是分布式系統(tǒng)杠纵,有什么基本特征荠耽。粗淺通俗的說,分布式系統(tǒng)能夠?qū)⒁粋€(gè)任務(wù)分割成若干小任務(wù)比藻,協(xié)同铝量、并行地在系統(tǒng)中進(jìn)行調(diào)度執(zhí)行。所以银亲,任務(wù)分割慢叨、多任務(wù)并行是分布式系統(tǒng)的基本功能。分布式系統(tǒng)中的資源越多务蝠,其性能拍谐、容量會(huì)隨之增加。再看區(qū)塊鏈,雖然其共識(shí)算法是基于分布式協(xié)作轩拨,但是該系統(tǒng)并沒有提供分布式的基本功能践瓷。整個(gè)區(qū)塊鏈系統(tǒng)通過協(xié)調(diào)合作,目的是完成對(duì)單一區(qū)塊鏈(Block Chain)的合理亡蓉、可信晕翠、有效的操作控制。這更像是多進(jìn)程協(xié)作中的一種鎖機(jī)制寸宵。增加用戶資源崖面,并不能擴(kuò)展這個(gè)系統(tǒng)的性能容量。相比來說梯影,區(qū)塊鏈?zhǔn)侨ブ行幕到y(tǒng)的說法更合理些巫员,但是也有局限性。去中心化是區(qū)塊鏈目前的一種表像甲棍,目的是增加信任简识、防范單點(diǎn)失效現(xiàn)象發(fā)生。但是感猛,中心節(jié)點(diǎn)是否應(yīng)該去除七扰、能否存在于區(qū)塊鏈中,如何存在陪白,這些問題都還在爭論中颈走。隨著聯(lián)盟鏈、私有鏈的發(fā)展咱士,我想去中心化這個(gè)概念也會(huì)被挑戰(zhàn)立由。
通過上面的學(xué)習(xí)和認(rèn)識(shí),我在想序厉,區(qū)塊鏈可以應(yīng)用到哪些方面呢锐膜?
如果我們都同意說,區(qū)塊鏈?zhǔn)且粋€(gè)可信任系統(tǒng)弛房。順理成章道盏,區(qū)塊鏈最應(yīng)該被應(yīng)用到那些對(duì)信任高度依賴的業(yè)務(wù),如金融文捶、版權(quán)荷逞、征信等。按照這個(gè)邏輯粹排,那些并不依賴信用的行業(yè)颅围,根據(jù)業(yè)務(wù)需求應(yīng)該有更多的技術(shù)選擇。從另一個(gè)角度來說恨搓,區(qū)塊鏈的出現(xiàn)驅(qū)動(dòng)了更多行業(yè)進(jìn)行數(shù)字化、信息化升級(jí),從而提高效率斧抱、降低成本常拓。之后肯定會(huì)出現(xiàn)更多的技術(shù)供市場選擇。
從目前的區(qū)塊鏈技術(shù)來說辉浦,應(yīng)該分為兩大類弄抬。一類是代幣式區(qū)塊鏈,如比特幣宪郊、以太坊等等掂恕;另一類是非代幣式區(qū)塊鏈,如Fabric弛槐、小蟻懊亡、騰訊等等。兩者區(qū)別其實(shí)挺大了乎串,我相信發(fā)展方向和應(yīng)用場景也會(huì)有很大的不同店枣。騰訊剛發(fā)布了白皮書,表明了非代幣式區(qū)塊鏈的立場叹誉。我個(gè)人也比較看好這一類鸯两。等我進(jìn)一步學(xué)習(xí)后,再具體聊這一塊长豁。
先聊到這里吧钧唐,我也是剛開始學(xué)習(xí)沒多久,認(rèn)識(shí)理解上有局限匠襟,歡迎更多的討論钝侠、爭論。后面會(huì)深入學(xué)習(xí)區(qū)塊鏈的技術(shù)宅此,到時(shí)候再分享學(xué)習(xí)心得机错。