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

3 評(píng)論 21677 瀏覽 132 收藏 10 分鐘

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

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

什么是區(qū)塊鏈

名稱的由來(lái)

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

區(qū)塊鏈的定義

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

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

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

去中心化

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

非對(duì)稱加密技術(shù)

簡(jiǎn)單來(lái)講就是加密和解密的時(shí)候使用不同密鑰的加密算法。

舉個(gè)栗子:

A要向B發(fā)送消息,A和B都要產(chǎn)生一對(duì)用于加密和解密的公鑰和私鑰。私鑰,好比一把私有的鑰匙,只有鑰匙的擁有者才能打開,是用來(lái)加密的。公鑰,好比一把公開的鑰匙,可以告訴給需要的人,是用來(lái)解密用的。在這個(gè)過(guò)程中,A的私鑰保密,A的公鑰告訴B;B的私鑰保密,B的公鑰可以告訴A。A要給B發(fā)送時(shí),A用B的公鑰加密信息。B收到這個(gè)消息后,B用B的私鑰解密A的消息。其他所有收到這個(gè)信息的人都無(wú)法解密,因?yàn)橹挥蠦才擁有這把私鑰。

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

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

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

不可篡改

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

工作量證明

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

最長(zhǎng)鏈機(jī)制

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

不可偽造

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

舉個(gè)栗子:

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

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

比特幣的不足

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

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

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

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

腳本語(yǔ)言不符合圖靈完備標(biāo)準(zhǔn)

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

比特幣的改進(jìn)

萊特幣的誕生

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

以太坊

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

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

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

相關(guān)閱讀

從零認(rèn)識(shí)比特幣(上):從比特幣談起

從零認(rèn)識(shí)區(qū)塊鏈(下):區(qū)塊鏈的應(yīng)用

 

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

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

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

    來(lái)自北京 回復(fù)