自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

區(qū)塊鏈 | 詳解以太坊的工作原理

區(qū)塊鏈 其他數(shù)據(jù)庫(kù)
不管你們知不知道以太坊Ethereum blockchain是什么,但是你們大概都聽(tīng)說(shuō)過(guò)以太坊。最近在新聞里出現(xiàn)過(guò)很多次,包括一些專(zhuān)業(yè)雜志的封面,但是如果你們對(duì)以太坊到底是什么沒(méi)有一個(gè)基本的了解的話,看這些文章就會(huì)感覺(jué)跟看天書(shū)一樣。 所以,什么是以太坊?本質(zhì)上,就是一個(gè)保存數(shù)字交易永久記錄的公共數(shù)據(jù)庫(kù)。

[[231281]]

簡(jiǎn)介

不管你們知不知道以太坊Ethereum blockchain是什么,但是你們大概都聽(tīng)說(shuō)過(guò)以太坊。最近在新聞里出現(xiàn)過(guò)很多次,包括一些專(zhuān)業(yè)雜志的封面,但是如果你們對(duì)以太坊到底是什么沒(méi)有一個(gè)基本的了解的話,看這些文章就會(huì)感覺(jué)跟看天書(shū)一樣。 所以,什么是以太坊?本質(zhì)上,就是一個(gè)保存數(shù)字交易***記錄的公共數(shù)據(jù)庫(kù)。重要的是,這個(gè)數(shù)據(jù)庫(kù)不需要任何中央權(quán)威機(jī)構(gòu)來(lái)維持和保護(hù)它。相反的它以一個(gè)“無(wú)信任”的交易系統(tǒng)來(lái)運(yùn)行——一個(gè)個(gè)體在不需要信任任何第三方或?qū)Ψ降那闆r下進(jìn)行點(diǎn)對(duì)點(diǎn)交易的架構(gòu)。

依然感到很困惑?這就是這篇文章存在的理由。我的目標(biāo)是在技術(shù)層面來(lái)解釋以太坊的工作原理,但是不會(huì)出現(xiàn)很復(fù)雜的數(shù)學(xué)問(wèn)題或看起來(lái)很可怕的公式。即使你不是一個(gè)程序員,我希望你看完之后最起碼對(duì)技術(shù)有個(gè)更好的認(rèn)識(shí)。如果有些部分技術(shù)性太強(qiáng)不好理解,這是非常正常的,真的沒(méi)有必要完全理解每一個(gè)小細(xì)節(jié)。我建議只要宏觀的理解一下事物就行了。

這篇文章中的很多議點(diǎn)都是以太坊黃皮書(shū)中討論過(guò)的概念的細(xì)分。我添加了我自己的解釋和圖表使理解以太坊更加簡(jiǎn)單一點(diǎn)。那些足夠勇敢的人可以挑戰(zhàn)一下技術(shù),去閱讀一下以太坊的黃皮書(shū)。

好了, 讓我們開(kāi)始吧!

 

區(qū)塊鏈定義

區(qū)塊鏈就是一個(gè)具有共享狀態(tài)的密碼性安全交易的單機(jī)cryptographically secure transactional singleton machine with shared-state。這有點(diǎn)長(zhǎng),是吧?讓我們將它分開(kāi)來(lái)看:

  • 密碼性安全Cryptographically secure”是指用一個(gè)很難被解開(kāi)的復(fù)雜數(shù)學(xué)機(jī)制算法來(lái)保證數(shù)字貨幣生產(chǎn)的安全性。將它想象成類(lèi)似于防火墻的這種。它們使得欺騙系統(tǒng)近乎是一個(gè)不可能的事情(比如:構(gòu)造一筆假的交易,消除一筆交易等等)。
  • 交易的單機(jī)Transactional singleton machine”是指只有一個(gè)權(quán)威的機(jī)器實(shí)例為系統(tǒng)中產(chǎn)生的交易負(fù)責(zé)任。換句話說(shuō),只有一個(gè)全球真相是大家所相信的。
  • 具有共享狀態(tài)With shared-state”是指在這臺(tái)機(jī)器上存儲(chǔ)的狀態(tài)是共享的,對(duì)每個(gè)人都是開(kāi)放的。

以太坊實(shí)現(xiàn)了區(qū)塊鏈的這個(gè)范例。

 

以太坊模型說(shuō)明

以太坊的本質(zhì)就是一個(gè)基于交易的狀態(tài)機(jī)transaction-based state machine。在計(jì)算機(jī)科學(xué)中,狀態(tài)機(jī) 是指可以讀取一系列的輸入,然后根據(jù)這些輸入,會(huì)轉(zhuǎn)換成一個(gè)新的狀態(tài)出來(lái)的東西。

 

根據(jù)以太坊的狀態(tài)機(jī),我們從創(chuàng)世紀(jì)狀態(tài)genesis state開(kāi)始。這差不多類(lèi)似于一片空白的石板,在網(wǎng)絡(luò)中還沒(méi)有任何交易的產(chǎn)生狀態(tài)。當(dāng)交易被執(zhí)行后,這個(gè)創(chuàng)世紀(jì)狀態(tài)就會(huì)轉(zhuǎn)變成最終狀態(tài)。在任何時(shí)刻,這個(gè)最終狀態(tài)都代表著以太坊當(dāng)前的狀態(tài)。

 

以太坊的狀態(tài)有百萬(wàn)個(gè)交易。這些交易都被“組團(tuán)”到一個(gè)區(qū)塊中。一個(gè)區(qū)塊包含了一系列的交易,每個(gè)區(qū)塊都與它的前一個(gè)區(qū)塊鏈接起來(lái)。

 

為了讓一個(gè)狀態(tài)轉(zhuǎn)換成下一個(gè)狀態(tài),交易必須是有效的。為了讓一個(gè)交易被認(rèn)為是有效的,它必須要經(jīng)過(guò)一個(gè)驗(yàn)證過(guò)程,此過(guò)程也就是挖礦。挖礦就是一組節(jié)點(diǎn)(即電腦)用它們的計(jì)算資源來(lái)創(chuàng)建一個(gè)包含有效交易的區(qū)塊出來(lái)。

任何在網(wǎng)絡(luò)上宣稱(chēng)自己是礦工的節(jié)點(diǎn)都可以嘗試創(chuàng)建和驗(yàn)證區(qū)塊。世界各地的很多礦工都在同一時(shí)間創(chuàng)建和驗(yàn)證區(qū)塊。每個(gè)礦工在提交一個(gè)區(qū)塊到區(qū)塊鏈上的時(shí)候都會(huì)提供一個(gè)數(shù)學(xué)機(jī)制的“證明”,這個(gè)證明就像一個(gè)保證:如果這個(gè)證明存在,那么這個(gè)區(qū)塊一定是有效的。

為了讓一個(gè)區(qū)塊添加到主鏈上,一個(gè)礦工必須要比其他礦工更快的提供出這個(gè)“證明”。通過(guò)礦工提供的一個(gè)數(shù)學(xué)機(jī)制的“證明”來(lái)證實(shí)每個(gè)區(qū)塊的過(guò)程稱(chēng)之為工作量證明proof of work

證實(shí)了一個(gè)新區(qū)塊的礦工都會(huì)被獎(jiǎng)勵(lì)一定價(jià)值的獎(jiǎng)賞。獎(jiǎng)賞是什么?以太坊使用一種內(nèi)在數(shù)字代幣——以太幣Ether作為獎(jiǎng)賞。每次礦工證明了一個(gè)新區(qū)塊,那么就會(huì)產(chǎn)生一個(gè)新的以太幣并被獎(jiǎng)勵(lì)給礦工。

你也許會(huì)在想:什么能確保每個(gè)人都只在區(qū)塊的同一條鏈上呢?我們?cè)趺茨艽_定不會(huì)存在一部分礦工創(chuàng)建一個(gè)他們自己的鏈呢?

前面,我們定義了區(qū)塊鏈就是一個(gè)具有共享狀態(tài)的交易單機(jī)。使用這個(gè)定義,我們可以知道正確的當(dāng)前狀態(tài)是一個(gè)全球真相,所有人都必須要接受它。擁有多個(gè)狀態(tài)(或多個(gè)鏈)會(huì)摧毀這個(gè)系統(tǒng),因?yàn)樗谀膫€(gè)是正確狀態(tài)的問(wèn)題上不可能得到統(tǒng)一結(jié)果。如果鏈分叉了,你有可能在一條鏈上擁有 10 個(gè)幣,一條鏈上擁有 20 個(gè)幣,另一條鏈上擁有 40 個(gè)幣。在這種場(chǎng)景下,是沒(méi)有辦法確定哪個(gè)鏈才是最”有效的“。

不論什么時(shí)候只要多個(gè)路徑產(chǎn)生了,一個(gè)”分叉“就會(huì)出現(xiàn)。我們通常都想避免分叉,因?yàn)樗鼈儠?huì)破壞系統(tǒng),強(qiáng)制人們?nèi)ミx擇哪條鏈?zhǔn)撬麄兿嘈诺逆湣?/p>

 

為了確定哪個(gè)路徑才是最有效的以及防止多條鏈的產(chǎn)生,以太坊使用了一個(gè)叫做GHOST 協(xié)議GHOST protocol的數(shù)學(xué)機(jī)制。

GHOST = Greedy Heaviest Observed Subtree

簡(jiǎn)單來(lái)說(shuō),GHOST 協(xié)議就是讓我們必須選擇一個(gè)在其上完成計(jì)算最多的路徑。一個(gè)方法確定路徑就是使用最近一個(gè)區(qū)塊(葉子區(qū)塊)的區(qū)塊號(hào),區(qū)塊號(hào)代表著當(dāng)前路徑上總的區(qū)塊數(shù)(不包含創(chuàng)世紀(jì)區(qū)塊)。區(qū)塊號(hào)越大,路徑就會(huì)越長(zhǎng),就說(shuō)明越多的挖礦算力被消耗在此路徑上以達(dá)到葉子區(qū)塊。使用這種推理就可以允許我們贊同當(dāng)前狀態(tài)的權(quán)威版本。

現(xiàn)在你大概對(duì)區(qū)塊鏈?zhǔn)鞘裁从袀€(gè)理性的認(rèn)識(shí),讓我們?cè)谠偕钊氲亓私庖幌乱蕴幌到y(tǒng)主要組成部分:

  • 賬戶accounts
  • 狀態(tài)state
  • 損耗和費(fèi)用gas and fees
  • 交易transactions
  • 區(qū)塊blocks
  • 交易執(zhí)行transaction execution
  • 挖礦mining
  • 工作量證明proof of work

在開(kāi)始之前需要注意的是:每當(dāng)我說(shuō)某某的哈希, 我指的都是 KECCAK-256 哈希,以太坊就是使用這個(gè)哈希算法。 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2022-10-18 08:00:00

2018-08-23 10:33:03

區(qū)塊鏈比特幣數(shù)字貨幣

2022-09-16 10:33:35

區(qū)塊鏈以太幣

2022-03-10 14:14:12

比特幣以太坊去中心化

2018-03-27 09:52:30

區(qū)塊鏈數(shù)字貨幣比特幣

2019-09-19 14:50:15

區(qū)塊鏈運(yùn)行原理

2022-03-16 14:05:04

區(qū)塊鏈人工智能物聯(lián)網(wǎng)

2018-05-14 18:20:47

2023-07-11 10:58:37

2022-09-05 14:18:55

比特幣以太坊區(qū)塊鏈

2023-08-23 09:00:00

區(qū)塊鏈以太坊

2018-06-14 10:32:25

2021-12-08 13:57:29

以太坊加密貨幣比特幣

2022-10-17 09:15:37

2022-05-30 15:17:59

區(qū)塊鏈穩(wěn)定幣以太坊

2021-03-08 21:44:33

以太坊區(qū)塊鏈比特幣

2018-08-22 17:32:45

2021-05-02 22:19:46

以太坊比特幣加密貨幣

2021-05-13 16:13:21

區(qū)塊鏈以太坊NFT

2018-02-24 14:09:01

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)