從零認識區(qū)塊鏈(中):區(qū)塊鏈技術(shù)解密

3 評論 21600 瀏覽 131 收藏 10 分鐘

上一篇《從零認識比特幣(上):從比特幣談起》,我詳細介紹了比特幣的起源、原理、交易、存儲等,這一篇,我來講解下比特幣的底層技術(shù)——區(qū)塊鏈,同時介紹比特幣的局限與改進。

我們經(jīng)??吹礁鞔竺襟w爭相報道,區(qū)塊鏈具有去中心化、不可篡改、不可偽造的特點,為什么具有這些特點呢?看完這篇文章,你就明白。

什么是區(qū)塊鏈

名稱的由來

前面我們說過,比特幣的底層實現(xiàn)是區(qū)塊鏈技術(shù)。那區(qū)塊鏈這個詞怎么來的呢?早期比特幣剛出現(xiàn)的時候,人們用首字母大小寫來區(qū)分比特幣和實現(xiàn)比特幣的技術(shù),把比特幣叫做Bitcoin,把實現(xiàn)比特幣的技術(shù)叫bitcoin,可見當時人們對實現(xiàn)比特幣的技術(shù)還是很關(guān)注的。到后來,比特幣越來越火,輿論十分火熱,為了能把比特幣和實現(xiàn)比特幣的技術(shù)區(qū)分開,根據(jù)比特幣的技術(shù)特性,于是用“區(qū)塊鏈”來代指比特幣實現(xiàn)的技術(shù)。

區(qū)塊鏈的定義

區(qū)塊鏈并不特指某一個技術(shù),而是多種技術(shù)的集合,比如時間戳、工作量證明機制、非對稱加密、UTXO等。中本聰也是通過這些技術(shù)的集大成,從而創(chuàng)造了比特幣區(qū)塊鏈。

區(qū)塊鏈的技術(shù)特性

開篇說到區(qū)塊鏈具有去中心化、不可篡改、不可偽造的特點,下面我們按照區(qū)塊鏈的這些特性來了解下區(qū)塊鏈的技術(shù)。

去中心化

區(qū)塊鏈的去中心化特性是由非對稱加密技術(shù)、分布式存儲來體現(xiàn)的。

非對稱加密技術(shù)

簡單來講就是加密和解密的時候使用不同密鑰的加密算法。

舉個栗子:

A要向B發(fā)送消息,A和B都要產(chǎn)生一對用于加密和解密的公鑰和私鑰。私鑰,好比一把私有的鑰匙,只有鑰匙的擁有者才能打開,是用來加密的。公鑰,好比一把公開的鑰匙,可以告訴給需要的人,是用來解密用的。在這個過程中,A的私鑰保密,A的公鑰告訴B;B的私鑰保密,B的公鑰可以告訴A。A要給B發(fā)送時,A用B的公鑰加密信息。B收到這個消息后,B用B的私鑰解密A的消息。其他所有收到這個信息的人都無法解密,因為只有B才擁有這把私鑰。

在上一篇文章中,我們介紹的比特幣的轉(zhuǎn)賬,填寫的對方比特幣地址,就是公鑰,轉(zhuǎn)賬時附上的簽名,相當于你的私鑰。

可能你會疑問,非對稱加密怎么就體現(xiàn)了區(qū)塊鏈的去中心化呢?

我認為中心化機構(gòu)的存在是為了能保證交易的進行,而在比特幣網(wǎng)絡(luò)里,礦工只要驗證公鑰和私鑰就證明該筆交易是正確的,也就保證了交易的進行,這樣即使沒有中心化的機構(gòu)來參與,交易也可以安全地進行,所以非對稱加密也就體現(xiàn)了去中心化。

不可篡改

區(qū)塊鏈的工作量證明機制、最長鏈機制保證了區(qū)塊鏈上任一節(jié)點都是不可篡改的,也就保證了交易的不可篡改性。

工作量證明

簡單來說就是一份證明,用來確認你做過一定量的工作。比如你拿到了大學(xué)的畢業(yè)證,就能夠客觀證明你進行過大學(xué)四年級的學(xué)習(xí),具備一個大學(xué)生的學(xué)習(xí)能力。在比特幣網(wǎng)絡(luò)里,工作量證明直接體現(xiàn)就是算力的大小,你算力越大,那你獲得該區(qū)塊的記賬權(quán)概率越大,那么你記出來的賬本就是通過一定量的計算才算出來的,該賬本就能被其他礦工認可。

最長鏈機制

區(qū)塊鏈要求所有節(jié)點遵守一個公式,就是所有保存到本地的區(qū)塊鏈,都必須是被本地節(jié)點驗證通過的最長鏈。由于區(qū)塊鏈的每個區(qū)塊必須引用它的上一個區(qū)塊,所以最長鏈是最難推翻的。如果有人想要篡改該節(jié)點區(qū)塊,必須擁有非常大的算力,至少超過50%,否則基本上沒有篡改的可能。

不可偽造

這個得益于比特幣的UTXO結(jié)構(gòu),英文全稱Unspent Transaction Output,也就是未花費的交易輸出。這種特性使得比特幣世界里的每一筆轉(zhuǎn)賬,都能追溯到上一筆交易,也就保證了交易的真實性。

舉個栗子:

假設(shè)我要給你20元錢,其中2張5元紙幣,1張10元紙幣。而我的這2張5元,來自水果店老板給我的找零,這1張10元來自士多店給我的找零,拿到這三張鈔票之后,我還沒花出去,才能給你。這就叫未花費的交易輸出。水果店老板的這2張5元鈔票,又來自其他人,士多店的1張10元鈔票,也可能來自于其他人。這樣的鈔票,可以順藤摸瓜一直追溯到發(fā)行的那一刻,由此驗證這三張鈔票都是真的。

好了,比特幣的實現(xiàn)技術(shù)就介紹完了,你了解有多少呢?最后我來介紹下比特幣的不足。

比特幣的不足

腳本語言太復(fù)雜,開發(fā)難度大

比特幣的腳本語言是基于堆棧的形式的編譯語言,對開發(fā)者來說使用這種語言開發(fā)難度較大,難以上手。

生態(tài)系統(tǒng)基礎(chǔ)差,缺乏足夠的參與者

比特幣生態(tài)沒有完善的開發(fā)工具,也沒有豐富的文檔和教程。這不同于當今主流的Android開發(fā)環(huán)境,全球有大量的開發(fā)者、運營商、芯片廠商等活躍在整個生態(tài)中,并且有谷歌等巨頭企業(yè)推進?;谶@點跟上一點,比特幣區(qū)塊鏈就很難吸引開發(fā)者,更別說形成良好的開發(fā)生態(tài)了。

腳本語言不符合圖靈完備標準

圖靈完備是指一切可計算的問題都能計算,比特幣區(qū)塊鏈上的狀態(tài)表示都是針對比特幣這款應(yīng)用的,只能記錄交易,而對于復(fù)雜的環(huán)境,用比特幣區(qū)塊鏈上的語言無法表示。

比特幣的改進

萊特幣的誕生

上一篇文章我們說過比特幣的原理,10分鐘出一次賬單,也就是你的交易至少要等10分鐘才交易完成。在2011年10月,一位叫Charlie Lee的亞裔美國人,他認為比特幣這種確認太慢,十分鐘才能確認一次,不能滿足現(xiàn)在的支付需求,于是通過改造算法,發(fā)明了萊特幣(Litecoin)。關(guān)于萊特幣的一些特性,這里不詳細展開了,大家有興趣可以去了解下。

以太坊

2013年末,一位僅19歲的俄羅斯少年Vitalik Buterin發(fā)表了以太坊白皮書《以太坊:下一代智能合約和去中心化應(yīng)用平臺》,從此,一個現(xiàn)像級、對開發(fā)者友好的區(qū)塊鏈平臺誕生了。它通過其豐富的編程語言和完善的開發(fā)工具,解決了比特幣對開發(fā)者不友好的問題。對于用戶端,它可以讓任何人都能輕松的在以太坊上建立新的協(xié)議和智能合約,真是開發(fā)者的福利呀。

關(guān)于以太坊的詳細介紹,我下篇文章會說到,歡迎大家關(guān)注喲。

好了,這篇分享就到這,我們主要講解了區(qū)塊鏈的技術(shù)原理、比特幣的不足與改進等。在下篇文章中,我會詳細跟大家分享下區(qū)塊鏈分類及應(yīng)用領(lǐng)域,敬請期待喲。

相關(guān)閱讀

從零認識比特幣(上):從比特幣談起

從零認識區(qū)塊鏈(下):區(qū)塊鏈的應(yīng)用

 

本文由 @?lison 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 沒明白公鑰和私鑰的關(guān)系

    回復(fù)
  2. 公鑰和私鑰的加密解密寫反了吧?

    來自北京 回復(fù)