一文透徹了解比特幣網(wǎng)絡(luò)背后的運(yùn)行邏輯

萬向區(qū)塊鏈
當(dāng)有人向比特幣區(qū)塊鏈公布一筆交易記錄時(shí),如何確定這筆交易確實(shí)是由比特幣的所有者發(fā)起的而不是騙子在意圖造假呢?這就要用到計(jì)算機(jī)加密技術(shù)。

很多人認(rèn)識(shí)區(qū)塊鏈的入門通道、區(qū)塊鏈應(yīng)用鼻祖——比特幣網(wǎng)絡(luò),相信很多小伙伴對(duì)它都不陌生。但你真的了解比特幣網(wǎng)絡(luò)背后的工作原理嗎?比特幣系統(tǒng)不屬于任何一個(gè)人或任何一家公司/組織,也沒有員工、老板和股東來維持它的運(yùn)轉(zhuǎn)。換言之,比特幣系統(tǒng)不受任何人的控制。那全世界這么多的節(jié)點(diǎn)和參與者憑什么信任它呢?又如何避免比特幣被非法復(fù)制呢?

本次萬向區(qū)塊鏈小課堂將系統(tǒng)性地介紹比特幣的工作原理,以及比特幣的底層技術(shù)——區(qū)塊鏈在數(shù)字貨幣以外的商業(yè)應(yīng)用潛力,保證“說人話”、言簡(jiǎn)意賅、通俗易懂,誠邀大家細(xì)品~

缺少銀行這類管理中心的交易系統(tǒng)通常會(huì)面臨以下3大挑戰(zhàn):

· 資產(chǎn)確權(quán)

· 防止交易信息造假

· 確定交易記錄的可靠性和權(quán)威性

然而比特幣在沒有金融機(jī)構(gòu)這樣的第三方管理中介下,卻能應(yīng)對(duì)這三大挑戰(zhàn)??炊忍貛湃绾螒?yīng)對(duì)這3大挑戰(zhàn),自然就能理解比特幣的工作原理了。下面我們就來詳細(xì)看看比特幣是如何攻克這3大難關(guān)的。

挑戰(zhàn)一:資產(chǎn)確權(quán)

當(dāng)有人向比特幣區(qū)塊鏈公布一筆交易記錄時(shí),如何確定這筆交易確實(shí)是由比特幣的所有者發(fā)起的而不是騙子在意圖造假呢?這就要用到計(jì)算機(jī)加密技術(shù)。

非對(duì)稱加密

比特幣采用的是非對(duì)稱加密技術(shù),需要用到一對(duì)密鑰。經(jīng)過其中一個(gè)密鑰加密的數(shù)據(jù)可以用另一個(gè)密鑰解密。使用過程中,公開一個(gè)密鑰,即公鑰,另一個(gè)非公開的密鑰就對(duì)應(yīng)地成為私鑰(公鑰類似互聯(lián)網(wǎng)里的賬號(hào),私鑰類似登陸密碼)。

如何用這對(duì)密鑰來發(fā)送信息呢?假設(shè)《銀河護(hù)衛(wèi)隊(duì)》里的星爵想給格魯特發(fā)送一條消息說:“哈嘍,格魯特”,但又要確保超級(jí)大反派滅霸不能讀取這條消息,該怎么辦呢?我們可以讓格魯特創(chuàng)建一對(duì)密鑰,把公鑰交給星爵,自己保管私鑰。星爵可以用公鑰加密信息,經(jīng)過加密的信息看上去就像在胡言亂語,只有格魯特用私鑰解密之后才能知道星爵到底說了什么。

數(shù)字簽名

比特幣還會(huì)反向運(yùn)用這對(duì)密鑰來驗(yàn)證數(shù)據(jù)創(chuàng)建者的身份,即把密鑰看作用戶的數(shù)字簽名。我們還是請(qǐng)銀河護(hù)衛(wèi)隊(duì)來幫演繹這個(gè)情景。假設(shè)格魯特想向星爵發(fā)送一條消息說“我是格魯特”,但星爵如何確定這條信息真的來自格魯特,而不是其他人冒充格魯特發(fā)的呢?格魯特可以用私鑰加密這條信息,星爵收到信息后用對(duì)應(yīng)的公鑰解密信息,就可以讀取“我是格魯特”這條信息了。而且由于公私密鑰的對(duì)應(yīng)關(guān)系存在唯一性,星爵用公鑰成功解密信息就能證明信息確實(shí)是由私鑰持有者格魯特發(fā)出的,否則星爵是不可能解開這條信息的。

如果有人一個(gè)月前進(jìn)行了一筆比特幣交易,現(xiàn)在又反悔了,想悄悄撤回交易,比特幣這一去中心化系統(tǒng)里又缺少權(quán)威的管理者,怎么才能讓這種信息造假的陰謀無法得逞呢?這就要用到哈希算法。

哈希算法

哈希算法可以用于驗(yàn)證數(shù)據(jù)的真實(shí)完整性。任何信息可以通過哈希函數(shù)運(yùn)算得到一個(gè)哈希值,但是原始信息發(fā)生絲毫改變都會(huì)讓得到的哈希值變得完全不一樣。

假設(shè)星爵想將“12345”這串?dāng)?shù)字傳給格魯特,又擔(dān)心被滅霸中途截獲,篡改信息。他可以算出這串?dāng)?shù)字哈希值:FE100DDA6D28B2280B34FC228ADAB42E,然后將這串?dāng)?shù)字和他的哈希值同時(shí)傳給格魯特。格魯特在得到這串?dāng)?shù)字后同樣進(jìn)行哈希運(yùn)算,看看得到的哈希值跟星爵告訴他的是否一致。如果一致,說明格魯特和星爵擁有的原數(shù)字是一樣的,這串?dāng)?shù)字在傳輸過程中沒有遭到篡改或發(fā)生損壞。如果滅霸悄悄干預(yù)了數(shù)字傳輸過程,把原數(shù)字串改成了“12346”,再把錯(cuò)誤數(shù)字傳給格魯特,格魯特算出的哈希值就會(huì)是:1761420899A8F0B731A2EE56A6F71567,與星爵給他的截然不同,自然就會(huì)發(fā)現(xiàn)數(shù)據(jù)被篡改了。

區(qū)塊鏈環(huán)環(huán)相扣

比特幣中,固定時(shí)間段內(nèi)的交易會(huì)被打包成一個(gè)區(qū)塊。每個(gè)區(qū)塊里都儲(chǔ)存著前一個(gè)區(qū)塊的哈希值。這些區(qū)塊通過哈希值前后相連,形成鏈條狀結(jié)構(gòu),也就是常說的區(qū)塊鏈。

下圖中3個(gè)區(qū)塊記錄了交易1到交易9的信息。

如果刪除掉第一個(gè)區(qū)塊中的交易3,那第2個(gè)區(qū)塊中的哈希值就會(huì)發(fā)生變化,證明第1個(gè)區(qū)塊中的交易信息被篡改了。

那可不可以嘗試修改第2個(gè)區(qū)塊,讓它儲(chǔ)存的哈希值呼應(yīng)被篡改后的第1個(gè)區(qū)塊中的信息呢?這也行不通。因?yàn)樾薷牡?個(gè)區(qū)塊中的信息后,第3個(gè)區(qū)塊中的哈希值又無法與第2個(gè)區(qū)塊的信息對(duì)應(yīng)了,讓人一眼就能知道第2個(gè)區(qū)塊被篡改了。

由此可見,區(qū)塊鏈上的信息是不可篡改的。隨便改動(dòng)一個(gè)區(qū)塊中的信息,就會(huì)使其與后一個(gè)區(qū)塊中的哈希值產(chǎn)生矛盾。只有逐個(gè)修改之后每個(gè)區(qū)塊中的信息才能掩護(hù)最初這個(gè)信息篡改動(dòng)作,這樣一來原區(qū)塊鏈的信息就會(huì)被徹底改變,相當(dāng)于產(chǎn)生了一條新鏈。

挑戰(zhàn)三:確定交易記錄的可靠性和權(quán)威性

假設(shè)真有人篡改了每個(gè)區(qū)塊中的信息,創(chuàng)建了一條新鏈,我們應(yīng)該選擇相信新鏈還是舊鏈呢?如何才能確定兩者的可靠性和權(quán)威性呢?

工作量證明(Proof of Work)

這就要用到工作量證明。電腦會(huì)將前面講過的哈希值轉(zhuǎn)換成一串由“0”和“1”構(gòu)成的數(shù)字:

0010111011110100000001000001101010010010001011101111100001001010

我們可以規(guī)定只有哈希值以0開頭的區(qū)塊才能上鏈,這樣就有50%的概率得到一個(gè)符合要求的區(qū)塊。

0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

同理,我們?nèi)粢?guī)定只有哈希值以“00”開頭的區(qū)塊才能上鏈,概率就是25%。

00XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

如規(guī)定哈希值必須以32個(gè)“0”開頭的區(qū)塊才能上鏈,那概率大概就只有40億分之一了。

00000000000000000000000000000000XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

比特幣區(qū)塊鏈也設(shè)置了這樣的規(guī)定。但是鏈上每個(gè)區(qū)塊的哈希值都是恒定不變的,如何確保在輸入固定信息的情況下能得到一個(gè)符合規(guī)定的哈希值呢?這就需要在每個(gè)區(qū)塊中隨機(jī)加入任意一個(gè)數(shù)值,也稱為“隨機(jī)數(shù)”(nonce)。

進(jìn)行哈希運(yùn)算的時(shí)候要將隨機(jī)數(shù)與區(qū)塊中的數(shù)據(jù)相結(jié)合。比特幣區(qū)塊鏈中遍布全世界的計(jì)算機(jī)要從大量的隨機(jī)數(shù)中找到那個(gè)與現(xiàn)有區(qū)塊結(jié)合后能算出以特定數(shù)量“0”開頭的哈希值的隨機(jī)數(shù),才能讓這個(gè)區(qū)塊上鏈。這個(gè)尋找隨機(jī)數(shù)的過程就是工作量證明。

這個(gè)過程會(huì)消耗大量算力,完成時(shí)間也難以估量。在比特幣區(qū)塊鏈中,平均10分鐘會(huì)產(chǎn)生一個(gè)新區(qū)塊。但由于該區(qū)塊鏈中的整體算力水平一直在不斷提高,為了增加找到隨機(jī)數(shù)的難度,比特幣區(qū)塊鏈也在不斷增加規(guī)定哈希值開頭部分 “0”的個(gè)數(shù)。

最長(zhǎng)鏈原則

工作量證明這一規(guī)則有效限制了新區(qū)塊產(chǎn)生的速率,那區(qū)塊數(shù)量越多、長(zhǎng)度越長(zhǎng)的鏈存在的時(shí)間也就越久。因此,個(gè)人是不可能制造比官方比特幣區(qū)塊鏈更長(zhǎng)的鏈的,除非這個(gè)人擁有的算力超過該系統(tǒng)中其他所有人算力的總和。

基于以上原因,當(dāng)系統(tǒng)中出現(xiàn)多條鏈時(shí),比特幣用戶只認(rèn)可區(qū)塊數(shù)量最多,存在時(shí)間最長(zhǎng)的這條鏈,并相信這條鏈上的信息是權(quán)威可靠的。

區(qū)塊鏈潛在的應(yīng)用場(chǎng)景

除了比特幣,區(qū)塊鏈還有哪些應(yīng)用前景?

我們?cè)谏衔闹袕?方面簡(jiǎn)要解釋了比特幣區(qū)塊鏈的工作原理:

· 用數(shù)字簽名確權(quán)比特幣

· 用哈希驗(yàn)證鏈上交易的真實(shí)完整性

· 用工作量證明避免虛假區(qū)塊上鏈

由此可見,比特幣就是一個(gè)人人都可以信任的去中心化賬本。但是這個(gè)賬本除了記錄貨幣交易信息之外,還可以記錄其他多種信息,讓其他機(jī)構(gòu)也能實(shí)現(xiàn)去中心化的信息分享。目前已在以下領(lǐng)域獲得應(yīng)用。

防止產(chǎn)品造假:生產(chǎn)商可以給每件產(chǎn)品貼上二維碼,并把二維碼編號(hào)記錄到區(qū)塊鏈中,該區(qū)塊鏈就可以記錄產(chǎn)品的流通信息,幫助消費(fèi)者追蹤產(chǎn)品是否來自可靠的生產(chǎn)商,是否是真品。目前藥品生產(chǎn)行業(yè)造假情況日益嚴(yán)峻,危及病人健康,亟需這樣的區(qū)塊鏈解決方案。

防止物流信息造假:許多供應(yīng)鏈龐大復(fù)雜的公司同樣面臨信息造假的困擾。他們可以通過打造私有鏈來追蹤供應(yīng)商的物流信息。私有鏈所有者有權(quán)決定區(qū)塊鏈的參與方,供應(yīng)鏈中的中心企業(yè)可以在私有鏈中給各個(gè)供應(yīng)商設(shè)置不同權(quán)限。對(duì)于貨物從小型供應(yīng)商流轉(zhuǎn)到中型供應(yīng)商再流轉(zhuǎn)到大型供應(yīng)商最終進(jìn)入生產(chǎn)商手中的多層級(jí)供應(yīng)鏈來說,區(qū)塊鏈有助于優(yōu)化整個(gè)流程的管理。在這種多層級(jí)供應(yīng)鏈中,小型供應(yīng)商端稍有差錯(cuò)就會(huì)給生產(chǎn)商造成損失,但區(qū)塊鏈技術(shù)可以使整個(gè)流程中的信息變得公開透明,方便所有參與方及時(shí)發(fā)現(xiàn)問題解決問題。萬向區(qū)塊鏈的供應(yīng)鏈金融服務(wù)平臺(tái)就是一個(gè)典型的應(yīng)用案例。

促進(jìn)協(xié)同合作:汽車保險(xiǎn)理賠通常需要多家保險(xiǎn)公司共享數(shù)據(jù)、協(xié)作解決。運(yùn)用區(qū)塊鏈管理相關(guān)信息和數(shù)據(jù)可以讓這些保險(xiǎn)公司放心地信任鏈上數(shù)據(jù)和信息的真實(shí)性,不需要再耗費(fèi)人力檢查驗(yàn)證數(shù)據(jù)和信息,從而為保險(xiǎn)公司降低人力成本,同時(shí)提高理賠辦理效率,提升車主滿意度。

區(qū)塊鏈商業(yè)挑戰(zhàn)和機(jī)遇

近年來,區(qū)塊鏈的概念被炒得很熱,其中有很多夸大的成分。對(duì)于企業(yè)來說最關(guān)鍵的是要考慮是否有能力用好區(qū)塊鏈。

另外,誰來為投資區(qū)塊鏈買單也是一個(gè)問題。企業(yè)肯定會(huì)有這樣的顧慮:憑什么要我花錢來打造一個(gè)區(qū)塊鏈,方便行業(yè)里其他公司合作共贏?花錢的是我,結(jié)果好處卻被大家瓜分了。這就體現(xiàn)了私有鏈和聯(lián)盟鏈的優(yōu)勢(shì),花錢打造私有鏈或聯(lián)盟鏈的一方有權(quán)管理這個(gè)區(qū)塊鏈,確保自身收益最大化。

盡管困難重重,但區(qū)塊鏈蘊(yùn)含的商業(yè)價(jià)值還是十分可觀的。區(qū)塊鏈的特性就是讓互不信任甚至互為競(jìng)爭(zhēng)對(duì)手的人或是企業(yè)能夠放心地交換信息。所以要找到商業(yè)中信息交換不暢引發(fā)的問題,對(duì)癥下藥,運(yùn)用區(qū)塊鏈加以解決,就能讓參與方各取所需,實(shí)現(xiàn)多方利益的最大化。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論