我并不明白為什么人們會(huì)覺(jué)得要理解區(qū)塊鏈會(huì)有點(diǎn)難,而我也想知道為什么自己并沒(méi)有。那是在 2013 年,我第一次聽(tīng)說(shuō)有比特幣這個(gè)東西(是的,知道的太晚啦)。我窮得連一個(gè)都買不起,看到這兒你也許已經(jīng)對(duì)此文無(wú)愛(ài)了。后來(lái),我想要去了解一下它所依賴的底層技術(shù),也就區(qū)塊鏈。 不過(guò)因?yàn)樘α耍赃t遲沒(méi)有開(kāi)始(那就并不存在什么 開(kāi)始不開(kāi)始了)。
那么這個(gè) “區(qū)塊鏈”到底是什么呢?
其實(shí)是兩個(gè)東西:一個(gè)是區(qū)塊一個(gè)是鏈。說(shuō)玄虛一點(diǎn),就是一鏈子的區(qū)塊。因?yàn)樗谴嬖谟谟?jì)算機(jī)中的東西,所以我們可以厘定它的一個(gè)物理形態(tài)是啥樣子的,就是數(shù)字信息被分成一個(gè)一個(gè)區(qū)塊然后把這些區(qū)塊鏈接起來(lái)。舉個(gè)例子,下圖中的方塊,每一個(gè)都表示一個(gè)國(guó)家,而且每一個(gè)都包含了對(duì)應(yīng)國(guó)家的城市名稱。
等等,其實(shí)還有更多東西來(lái)著。這里的每一個(gè)方塊都一個(gè)叫做哈希的東西。一個(gè)哈希就是一串字符 (比如“1hi515AHA5H” )。哈希是根據(jù)方塊里面所包含的信息來(lái)得到的。 U.S.A 的方塊擁有 New York, Los Angeles, 還有 Chicago 這幾個(gè)城市,所以它的哈希就是像 “NYLAC” 的東西了(技術(shù)上其實(shí)遠(yuǎn)非如此,但你理會(huì)精要就行了)。
每一個(gè)接續(xù)的方塊都會(huì)包含前一個(gè)方塊的哈希,所以這個(gè)就是(強(qiáng)制性的)將它們綁到一起的紐帶。如果有人擅自篡改了第一個(gè)方塊,加入了城市Boston,那么新的哈希就會(huì)是 “NYLACB”,然而后面接續(xù)的 India 這個(gè)方塊已經(jīng)存著的哈希還是 “NYLAC”,這種不匹配就會(huì)把鏈條打斷。所以哈希的目的就是確保沒(méi)有人可以篡改區(qū)塊。
那如果有人修改了一個(gè)方塊的內(nèi)容,然后把后面的接續(xù)方塊的哈希也一并更新會(huì)如何呢?這也是有可能的,不過(guò)有一件事情我還沒(méi)有告訴你。區(qū)塊鏈的數(shù)據(jù)并不只是存在于僅僅一臺(tái)計(jì)算機(jī)里面。一臺(tái)計(jì)算機(jī)里面的區(qū)塊鏈數(shù)據(jù)并不能騙到人,因?yàn)樗鼤?huì)被復(fù)制到網(wǎng)絡(luò)中每一個(gè)用戶的計(jì)算機(jī)里面去。如果你加入了一個(gè)區(qū)塊鏈網(wǎng)絡(luò),那么你的計(jì)算機(jī)就會(huì)去下載這些區(qū)塊數(shù)據(jù),如果有人篡改了他擁有的版本,整個(gè)網(wǎng)絡(luò)也會(huì)考慮占多數(shù)的人的計(jì)算機(jī)上所擁有的版本才是正確的。
還有一件事,在一個(gè)區(qū)塊鏈網(wǎng)絡(luò)中,不僅是數(shù)據(jù),就連整個(gè)系統(tǒng)的程序都被復(fù)制到了所有的電腦中。大多數(shù)互聯(lián)網(wǎng)應(yīng)用都是集中話的,比如 Facebook,她的數(shù)據(jù)和程序都被放在了她的服務(wù)器上,你的計(jì)算機(jī)會(huì)從 Facebook 的服務(wù)器上獲取到你一個(gè)人需要知道的信息。但在區(qū)塊鏈的世界理,就沒(méi)有存在于中心的東西,它依賴的是用戶的計(jì)算機(jī)來(lái)容納自己的程序。是的,這就意味著,如果整個(gè)區(qū)塊鏈網(wǎng)絡(luò)中的每一臺(tái)電腦都關(guān)機(jī)了,那么這個(gè)區(qū)塊鏈系統(tǒng)就死翹翹了。
公共區(qū)塊鏈
這是不是就意味著區(qū)塊鏈系統(tǒng)其實(shí)就是由一群心懷善意自愿讓他們的計(jì)算機(jī)保持運(yùn)行的人來(lái)組成的呢? 還有這些防篡改的區(qū)塊是用來(lái)干嘛的呢?
區(qū)塊鏈網(wǎng)絡(luò)的功效不勝枚舉。比特幣是一種數(shù)據(jù)貨幣和一個(gè)支付系統(tǒng)。它所有的防篡改區(qū)塊中所保存的就是全部交易的分類賬。那些貢獻(xiàn)了他們自己的計(jì)算機(jī)的人被稱為礦工。系統(tǒng)會(huì)給他們提供比特幣作為獎(jiǎng)勵(lì)。
Ethereum 有意向附加功能。它可以承載你的代碼,從頭開(kāi)始發(fā)展出一個(gè)區(qū)塊鏈系統(tǒng),而要構(gòu)建一個(gè)屬于你自己的系統(tǒng)也許會(huì)非常地困難(記住這得看有人為你犧牲他們的計(jì)算機(jī)運(yùn)行能力才行哦)。Ethereum 就維護(hù)著這些耗損巨大的運(yùn)算能力,而你則需要為這些計(jì)算消耗買單。
區(qū)塊鏈應(yīng)用并不非得是支付系統(tǒng)或者加密貨幣。它可以任何東西,像是一個(gè)社交網(wǎng)絡(luò),一個(gè)像LiveEdu這樣的學(xué)習(xí)平臺(tái),等等。
私有區(qū)塊鏈
Bitcoin, Ethereum 等等這些都是公共區(qū)塊鏈的例子,任何人都可以成為其中的一分子。那如果我們想要有一個(gè)私有的區(qū)塊鏈網(wǎng)絡(luò)該如何呢?有些人想要一個(gè)私有的區(qū)塊鏈?zhǔn)窍敫陕锬兀磕蔷蛠?lái)瞧瞧下面的故事吧。
Mark 和 Sara
Mark 已經(jīng)五個(gè)月沒(méi)交房租了,當(dāng) Sara 找他要的時(shí)候,他就說(shuō)晚點(diǎn)會(huì)給她。她付不起律師費(fèi),而法院強(qiáng)制執(zhí)行訴訟就需要8個(gè)月甚至一年,所以唯一的選擇就是去說(shuō)服Mark。
Joe 的生意
Joe 是一個(gè)商人,他經(jīng)常要跟不同的公司做生意。幾個(gè)月之前他和一家零售商簽了一份合同,盡管合同條款都已經(jīng)履約了,可零售商確拒絕付款。這幫人利用法律制度中的漏洞來(lái)游說(shuō) Joe,想以此達(dá)到少付錢(qián)的目的。Joe 在這以前就是有這方面經(jīng)驗(yàn)的,在某些情況下,他會(huì)找法院求助,但這樣做所耗費(fèi)的時(shí)間和金錢(qián)卻要損失他自己的利潤(rùn)。
我們?cè)撊绾螏椭?Sara 和 Joe 呢?
我們是不是能在其它地方解決這個(gè)問(wèn)題呢? 在 Sara 遇到的這種情況中,我們需要讓 Mark 按月支付房租,這其實(shí)就是一個(gè)基于時(shí)間的觸發(fā)機(jī)制。你的日歷程序使用這樣的觸發(fā)器來(lái)給你提供預(yù)設(shè)事件的通知。
在 Joe 遇到的場(chǎng)景中,一旦合約中的條款都滿足了,當(dāng)事人就得付款,這其實(shí)就是一個(gè)基于條件的觸發(fā)機(jī)制。你想想上次從 Amazon 買電子書(shū)的時(shí)候,是不是得先確認(rèn)付款了,Amazon 才會(huì)把電子書(shū)發(fā)給你?
重點(diǎn)是,計(jì)算機(jī)程序會(huì)始終如一的執(zhí)行諸如此類的指令。當(dāng)你點(diǎn)擊著這篇文章,向下滾動(dòng),諸如這類的操作,它也會(huì)照著執(zhí)行不誤。為了能幫助到 Sara ,我們需要將合同的條款轉(zhuǎn)變成代碼。
Sara 和 Mark 之間所訂立的智能合同的偽代碼
Iftoday’sdateis30thandrentisnotpaidthen
Transfer$500fromMark’saccounttoSara’saccount
可是我們?cè)谀膬翰渴疬@些代碼呢? 它就應(yīng)該被部署到所有參與者的計(jì)算機(jī)上。Sara 的還有Mark 的銀行都會(huì)是這一個(gè)私有區(qū)塊鏈網(wǎng)絡(luò)的一部分。Joe 和 Sara 會(huì)簽署一份編碼的協(xié)議(也就是智能合同),然后這份協(xié)議會(huì)被分發(fā)到網(wǎng)絡(luò)中去,Mark 的和 Sara 的銀行都會(huì)有一份拷貝。在每個(gè)月的 30 號(hào),當(dāng)時(shí)鐘跳動(dòng)到 12 點(diǎn)整,協(xié)議好的金額就會(huì)從 Mark 的賬戶轉(zhuǎn)移到 Sara 的賬戶上去。Joe 也開(kāi)始使用智能合同來(lái)強(qiáng)制讓他的客戶支付協(xié)議好的貨款。
Sara 高興了,因?yàn)樗僖膊挥萌┬?Mark 會(huì)不會(huì)如約付房租了。Joe 也高興,因?yàn)樗膊挥谜曳ㄔ阂f(shuō)法了,省下這些精力,他可以繼續(xù)發(fā)展自己的生意了。
私有區(qū)塊鏈只限于業(yè)務(wù)中涉及到的相關(guān)各方,因此 Joe 不會(huì)是 Sara 和 Mark 所屬區(qū)塊鏈網(wǎng)絡(luò)的一部分。
前行之路
現(xiàn)在你對(duì)此已經(jīng)有點(diǎn)概念了,也許應(yīng)該嘗試一下edX 上的課程(免費(fèi)的哦),它會(huì)教你怎么在區(qū)塊鏈上構(gòu)建應(yīng)用。
-
區(qū)塊鏈
+關(guān)注
關(guān)注
112文章
15565瀏覽量
107690
原文標(biāo)題:區(qū)塊鏈初學(xué)者指南
文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
通俗易懂的PID教程
通俗易懂系列整合—電源基礎(chǔ)知識(shí)講解
通俗易懂之電子稱開(kāi)發(fā)導(dǎo)航篇
用最基礎(chǔ)的繼電器通俗易懂地講解門(mén)電路
區(qū)塊鏈最通俗易懂的闡述

通俗易懂的講解FFT的讓你快速了解FFT

評(píng)論