以太坊尤柏淳4星評價
2020-10-30 14:02:02
有人稱:區(qū)塊鏈(Blockchain)技術(shù)也許是繼蒸汽機(jī)、電力、信息和互聯(lián)網(wǎng)技術(shù)之后,能與大數(shù)據(jù)、移動互聯(lián)網(wǎng)、云計算等新技術(shù)共同推動經(jīng)濟(jì)金融轉(zhuǎn)型升級、最有潛力觸發(fā)第五輪顛覆式產(chǎn)業(yè)革命浪潮的核心技術(shù)。從上述描述可見,近幾年,區(qū)塊鏈一定會是大熱門,不管你是不是支持這一觀點(diǎn),如果你還不知道什么是區(qū)塊鏈,那你就out了!
什么是區(qū)塊鏈
區(qū)塊鏈有兩個主要部分:區(qū)塊和鏈。這不是廢話嗎?但大道至簡,它的本質(zhì)就是一串鏈子把區(qū)塊串起來,然后數(shù)據(jù)被劃分成連續(xù)的多個區(qū)塊的形式,在電腦里儲存。
舉個例子你就明白了,下圖中方框代表國家,每個方框里每個國家的一些城市名字。
除此之外,每個方框里面還有一個稱作哈希值(hash)的部分,哈希值是由一系列字符組成(比如“1hi515AHA5H”),它的值由每個方框的里面信息決定。
由于技術(shù)上哈希值的產(chǎn)生比較復(fù)雜,簡便起見我們用城市名首字母來代替正軌的哈希值比如USA的那個方塊里面有New York,LosAngeles和 Chicago三個城市,那么哈希值就是“NYLAC”,每個連續(xù)的區(qū)塊鏈都包含上一個區(qū)塊的哈希值,暫把它們稱作“前哈希值”(Prev Hash)。
這就有點(diǎn)像 C 語言的指針,把區(qū)塊連接起來。如果有人想篡改 USA 這個區(qū)塊,比如加入一個城市 Boston,那么這個區(qū)塊的新哈希值就會變成“NYLACB”,但是下一個區(qū)塊India中存儲的“前哈希值”仍然是“NYLAC”,這樣就沒法匹配,這個鏈就此斷了。
所以你知道了吧,哈希值的引入就是為了防止有人篡改任何一個區(qū)塊。
那么你也許又會問了,那我把下一個區(qū)塊的“前哈希值”也一并改了不就行了!Too young,too naive!
區(qū)塊鏈的數(shù)據(jù)并不是只存在于一臺電腦上的,他的數(shù)據(jù)是在存在于所有接入?yún)^(qū)塊鏈網(wǎng)絡(luò)的電腦上的,每個電腦上的數(shù)據(jù)都是一樣的,因?yàn)槊慨?dāng)你加入?yún)^(qū)塊鏈網(wǎng)絡(luò),你的電腦就會下載所有區(qū)塊,如果某人篡改了他的版本,網(wǎng)絡(luò)就會判斷是否可信,它的策略是相信大多數(shù)人的版本。
還有一點(diǎn)需要說明,在區(qū)塊鏈網(wǎng)絡(luò)里面,除了數(shù)據(jù),所有電腦上運(yùn)行的程序都是一樣的,所有電腦一起執(zhí)行這套程序。這一點(diǎn)和我們?nèi)粘I钪兴姷拇蠖鄶?shù)應(yīng)用的機(jī)制不同,比如微博,所有的數(shù)據(jù)和處理程序都是集中在微博的服務(wù)器上,而手機(jī) APP、PC 應(yīng)用、網(wǎng)頁等終端的主要功能僅僅是用于與處理服務(wù)器進(jìn)行交互。
但在區(qū)塊鏈網(wǎng)絡(luò)里面,是去中心化的,它依靠所有接入?yún)^(qū)塊鏈網(wǎng)絡(luò)的用戶的計算機(jī)共同執(zhí)行它的程序。這意味著只有區(qū)塊鏈網(wǎng)絡(luò)中的每臺電腦都關(guān)機(jī)了,它才會停止運(yùn)行。
公共區(qū)塊鏈
那這些能防范篡改的區(qū)塊有什么用?比如大名鼎鼎的比特幣。
比特幣是一種電子貨幣,它具有一套自己的支付系統(tǒng),它的防篡改區(qū)塊功能就是人們能放心進(jìn)行所有交易的核心。就像前面說的,需要大家貢獻(xiàn)出自己的電腦去執(zhí)行比特幣的程序,作為回報,他們會得到比特幣,這些人的電腦被戲稱為“礦工(miner)”。
以太坊(Ethereum,一個開源的有智能合約功能的公共區(qū)塊鏈平臺)負(fù)責(zé)處理繁重的工作,被廣泛應(yīng)用于電子貨幣系統(tǒng)的搭建,比如我們之前提到的委內(nèi)瑞拉石油幣(Petro),畢竟從零開始開發(fā)一個區(qū)塊鏈并建立自己的社區(qū)將是非常困難的,尤其是人們必須貢獻(xiàn)他們的電腦。
區(qū)塊鏈的應(yīng)用場景不僅僅是支付系統(tǒng)或加密貨幣,它可以是任何東西,比如社交網(wǎng)絡(luò)或者像 BitTiger 這樣的學(xué)習(xí)平臺等等。
私有區(qū)塊鏈
比特幣、以太坊等都是公共區(qū)塊鏈的例子,任何人都可以參與其中。如果我們想要創(chuàng)建一個私有的區(qū)塊鏈網(wǎng)絡(luò)呢?它能解決一些生活中更具體的問題。
例 1:房租收不回
房客已經(jīng)5個月沒有付房租了,當(dāng)房東催房租的時候房客總是打保票說稍后就會付,房東很無助,走法律途徑,律師太貴了,而且會花費(fèi)大量時間和精力去打官司,房東是個善良的人,做不出換鑰匙趕人的事情,唯一能做的就是說服房客付錢。
例 2:商場遇老賴
老王是一個商人,他經(jīng)常和不同的零售商合作,幾個月前他和一個零售商簽了一份合同,后來那個零售商拒絕支付費(fèi)用,并且利用法律漏洞要老王減少需要支付的錢。這種情況以前也遇到過,他選擇打官司,但是在官司里耗費(fèi)的時間和金錢是他的利潤大打折扣。
遇人不淑的事情我們經(jīng)常見,但是我們有解決的方法嗎?
房東和房客之間的關(guān)系是通過合同來聯(lián)結(jié)的,既然紙質(zhì)合同不保險,那不妨試試一份電子智能合同。偽代碼如下:
If today’s date is 1st and rent is not paid then
Transfer ¥1000 from tenant’s account to owner’s account
那問題來了,代碼部署在哪里呢?它應(yīng)該部署在有關(guān)各方的電腦上。房東和房客的銀行成為私有區(qū)塊鏈網(wǎng)絡(luò)的一部分,雙方將簽署一份電子智能合同,然后它被部署在網(wǎng)絡(luò)上,而且雙方的銀行都有副本。每個月1號0點(diǎn)將商定的金額從房客的賬戶轉(zhuǎn)到房東的賬戶。
老王的處理辦法同上。
由于私有區(qū)塊鏈網(wǎng)絡(luò)僅限于參與交易的各方,所以例1跟例2都是私有區(qū)塊鏈的網(wǎng)絡(luò),相互是看不到對方的交易的。所以私有區(qū)塊鏈能既保障了各自的隱私,又保障了資金的安全。
這樣一來,關(guān)于所謂“神鬼莫測”的區(qū)塊鏈你是否已經(jīng)懂了呢?
小玩~久久電4星評價
2020-10-16 14:03:10
區(qū)塊鏈,是“比特幣”的核心技術(shù)之一。
比特幣的發(fā)明初衷,是為打破以銀行為中心的傳統(tǒng)貨幣體系,開創(chuàng)一種“去中心化的”新型貨幣體系 。
那銀行是怎么運(yùn)作的呢?
比如A付100人民幣給B,銀行就在A的賬戶上,標(biāo)一個:“付了100人民幣給B,余額還剩1900人民幣”,在B的賬戶上,標(biāo)一個:“收到A的100人民幣,余額增至600人民幣”,就可以了。
簡單講,貨幣交易的過程,就是一個記賬的過程。
之所以通過銀行,是因?yàn)樗麢?quán)威、可信,不會透過作弊,擅自給誰標(biāo)個:“收到馬云1個億,余額增至1個億零3毛?!?/p>
但是,銀行的記賬之所以能不出錯,也是借助了一些外力的。比如,你透過網(wǎng)銀付款,銀行怎么確信就是你付的呢?還是借助了密碼、驗(yàn)證碼等計算機(jī)、互聯(lián)網(wǎng)方面的技術(shù)。
既然如此,為什么不一步到位,干脆用更厲害的計算機(jī)、互聯(lián)網(wǎng)方面的技術(shù),一舉取銀行而代之呢?
沒錯,中本聰就是這么想的!
中本聰來了個“群狼戰(zhàn)術(shù)”,試圖集全球互聯(lián)網(wǎng)上成千上萬臺計算機(jī)的力量,與擁有專門人力、物力配置的銀行,拼上一拼。
群狼合力,如何統(tǒng)一協(xié)調(diào),成了最大問題。成立一個專門的機(jī)構(gòu),統(tǒng)一管理?那就違反了“去中心化”的初衷,等于又走了銀行的老路。
于是,★“區(qū)塊鏈”★技術(shù),便應(yīng)運(yùn)而生了:
計算機(jī)“群狼”中的某一臺,收到A發(fā)來“付100塊錢給B”的請求后,他需要先確認(rèn)兩個問題,然后才能決定是否執(zhí)行請求,幫A記這個賬。
①這個請求,是否真是由A發(fā)出來的。這個簡單,計算機(jī)領(lǐng)域已經(jīng)有一種叫做“數(shù)字簽名”的技術(shù),只要A能提供某個只有他自己才知道的“私鑰”,計算機(jī)就能夠確定——這個請求確實(shí)是A發(fā)出來的。
②A的請求,跟目前整個記賬系統(tǒng)上的所有既存信息,是否矛盾。比如,系統(tǒng)上顯示A的余額只有99塊,A卻請求支付100塊,這肯定不行。
問題②怎么解決,相對麻煩一點(diǎn)。因?yàn)槊颗_計算機(jī),都屬于整個系統(tǒng)的一部分,一旦出現(xiàn)矛盾,誰都認(rèn)為自己是“目前整個記賬系統(tǒng)上的所有既存信息”之一,要求別人“不許和我矛盾!”那究竟以誰為準(zhǔn)?
比如,A在余額還有100塊錢時,請求支付100塊錢,去買什么什么。緊接著,他卻又請求再支付100塊錢,還要再買另外什么什么。由于存在網(wǎng)絡(luò)延遲之類的問題,計算機(jī)們難以確定,這兩條請求,究竟哪條在前。但反正,在后的那條,肯定是無效的。因?yàn)榍懊婕热灰呀?jīng)付了100,余額已經(jīng)用光了,哪還能執(zhí)行在后那條“再支付100”的請求?
“區(qū)塊鏈”技術(shù)怎么解決這個問題呢?簡單粗暴:做題定勝負(fù)——
先把兩條請求都記錄在案,但不要忙于確認(rèn)。
系統(tǒng)出一些公費(fèi),雇甲、乙兩人來對賭——分別押注那兩條自相矛盾的請求。然后讓兩人分別運(yùn)用自己計算機(jī)的算力,比賽做題。誰計算機(jī)算力強(qiáng),而且運(yùn)氣好(解題成敗具有一定的隨機(jī)性),先把題解出來了,這筆公費(fèi)就歸他了。同時,他押注的那條請求,也就被系統(tǒng)“確認(rèn)”了,另外一條請求呢,就相應(yīng)地“作廢”了。這就是所謂“挖礦”。
如果甲、乙兩人旗鼓相當(dāng),不分高下,怎么辦?那就再雇丙、丁兩人,接著比。丙跟在甲后面,丁跟在乙后面。如果丙贏了,丙和他前面的甲,就都贏了。就那最終“確認(rèn)”的,就是當(dāng)初甲押注的那條請求。如果丁贏了,丁和他前面的乙,就都贏了。就那最終“確認(rèn)”的,就是當(dāng)初乙押注的那條請求。
如果丙、丁又打平了呢?那就再雇戊、己,重復(fù)上述過程??偛豢赡?,永遠(yuǎn)都打平吧。
剛才舉的是簡化的例子,現(xiàn)實(shí)中,那些記賬請求,往往是幾條并在一塊,一起處理的。所以,可以把這些并在一塊的記賬信息,叫做一個個“區(qū)塊”。而新請求的記賬信息,總是不能違逆前面既存的記賬信息,只能通過礦工們的“做題比賽”,押注“確認(rèn)”過后,跟在既存信息的后邊。
這樣一來,許多的信息“區(qū)塊”,按“被確認(rèn)”的先后順序,連接在一起,不就成了“區(qū)塊——鏈”。
從本質(zhì)上講,“區(qū)塊鏈”就是:一種透過精心設(shè)計的計算機(jī)互聯(lián)網(wǎng)協(xié)作機(jī)制,確保新登記信息與整個系統(tǒng)龐大的既存信息之間,不發(fā)生矛盾,進(jìn)而使整個系統(tǒng)保持驚人的“整體一致性”,的一種信息技術(shù)。
比特幣世界的“計算機(jī)群狼”們,要保證步伐一致,全靠“區(qū)塊鏈”這根鎖鏈,死死拴著啊。