這篇博客是摘錄“精通以太坊”系列的床牧。
博客里面的信息有可能不完備,不精確祭钉,請(qǐng)參照原文铃肯。
- 精通以太坊 摘錄+筆記(1) 你在這里
什么是以太坊平臺(tái)
- 以太坊平臺(tái) 使開發(fā)人員能夠 利用內(nèi)置的經(jīng)濟(jì)學(xué)方法 構(gòu)建強(qiáng)大的去中心化應(yīng)用程序。
- 在保證持續(xù)正常運(yùn)行時(shí)間的同時(shí)臂拓,還可以減少或消除審查機(jī)構(gòu)厚脉,第三方接口和對(duì)手方風(fēng)險(xiǎn)。
- 是一個(gè)開源的胶惰,全球的 去中心化計(jì)算架構(gòu)器仗,執(zhí)行 智能合約 的程序。它使用區(qū)塊鏈來從同步和存儲(chǔ)系統(tǒng)狀態(tài)童番,使用 ether加密貨幣 來計(jì)量和約束執(zhí)行資源成本精钮。
區(qū)塊鏈的組件
- 一個(gè)連接參與者,并傳播交易和包含已驗(yàn)證交易的區(qū)塊的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)剃斧,基于標(biāo)準(zhǔn)的“gossip“協(xié)議轨香。
- 實(shí)現(xiàn)的一系列共識(shí)規(guī)則,并且按照規(guī)則進(jìn)行交易幼东。
- 分布式數(shù)據(jù)庫臂容,區(qū)塊鏈,記錄所有狀態(tài)轉(zhuǎn)移的日志根蟹。
- 共識(shí)算法(例如脓杉,Proof-of-Work),通過強(qiáng)制參與者競(jìng)爭(zhēng)并使用共識(shí)規(guī)則約束他們简逮,來分散區(qū)塊鏈的控制權(quán)球散。
- 符合上述內(nèi)容的一個(gè)或多個(gè)開源軟件實(shí)現(xiàn)。
在比特幣中散庶,參考實(shí)現(xiàn)由 Bitcoin Core 開源項(xiàng)目開發(fā)蕉堰,并作為 bitcoind 客戶端實(shí)現(xiàn)。在以太坊中悲龟,沒有參考實(shí)現(xiàn)屋讶,而是 參考規(guī)范,對(duì)系統(tǒng)的數(shù)學(xué)描述须教。有許多客戶端根據(jù)參考規(guī)范建造皿渗。
從技術(shù)角度:
- Web 3
- Whisper
- Swarm
以太坊開發(fā)的四個(gè)階段
四個(gè)主要的發(fā)展階段代號(hào)為前沿(Frontier),家園(Homestead),大都會(huì)(Metropolis)和寧靜(Serenity)乐疆。中間的硬分叉代號(hào)為“冰河時(shí)代(Ice Age)”划乖,“DAO”,“蜜桔前哨(Tangerine Whistle)”诀拭,“假龍(Spurious Dragon)”,“拜占庭(Byzantium)”和“君士坦丁堡(Constantinople)”煤蚌。
每個(gè)階段都可能包含子版本耕挨,稱為“硬分叉”,它們以不向后兼容的方式改變功能尉桩。
我們目前位于Metropolis階段筒占,該階段計(jì)劃為兩個(gè)次級(jí)版本的硬分叉 (參見 [hard_fork]) ,代號(hào) Byzantium 和 Constantinople蜘犁。拜占庭于2017年10月生效翰苫,君士坦丁堡預(yù)計(jì)將在2018年中期。
P2P Network
以太坊在 以太坊主網(wǎng) 上運(yùn)行这橙,可以通過TCP端口30303訪問奏窑,運(yùn)行稱作 DΞVp2p 的協(xié)議。
以太坊和圖靈完整性
只要你開始閱讀關(guān)于以太坊的信息屈扎,你將立即聽到“圖靈完成”一詞埃唯。他們說,與比特幣不同鹰晨,以太坊是“圖靈完成”墨叛。這到底是什么意思呢?
以太坊在一個(gè)名為以太坊虛擬機(jī)的狀態(tài)機(jī)中執(zhí)行存儲(chǔ)程序模蜡,在內(nèi)存中讀寫數(shù)據(jù)的能力漠趁,使其成為一個(gè)圖靈完整系統(tǒng),因此是一臺(tái)通用圖靈機(jī)忍疾。對(duì)于有限的存儲(chǔ)闯传,以太坊可以計(jì)算任何圖靈機(jī)可以計(jì)算的算法。
以太坊如何限制智能合約使用的資源卤妒?
以太坊引入了稱為 燃?xì)?gas的計(jì)量機(jī)制丸边。隨著EVM執(zhí)行智能合約,它會(huì)仔細(xì)考慮每條指令(計(jì)算荚孵,數(shù)據(jù)訪問等)妹窖。每條指令都有一個(gè)以燃?xì)鉃閱挝坏念A(yù)定成本。當(dāng)交易觸發(fā)智能合約的執(zhí)行時(shí)收叶,它必須包含一定量的燃?xì)饨竞簦靡栽O(shè)定運(yùn)行智能合約可消耗的計(jì)算上限。如果計(jì)算所消耗的燃?xì)饬砍^交易中可用的天然氣量,則EVM將終止執(zhí)行蜓萄。Gas是以太坊用于允許圖靈完備計(jì)算的機(jī)制隅茎,同時(shí)限制任何程序可以使用的資源。
DApps
DApp至少由以下部分組成:
- 區(qū)塊鏈上的智能合約
- 一個(gè)Web前端用戶界面
另外嫉沽,許多DApp還包括其他去中心化組件辟犀,例如:
- 去中心化(P2P)存儲(chǔ)協(xié)議和平臺(tái)。
- 去中心化(P2P)消息傳遞協(xié)議和平臺(tái)绸硕。
你可能會(huì)看到DApps拼寫為 DApps. D 字符是拉丁字符堂竟,稱為“ETH”,暗指以太坊玻佩。"ETH", 要顯示此字符出嘹,請(qǐng)?jiān)贖TML中使用十進(jìn)制實(shí)體 #208,并使用Unicode字符 0xCE(UTF-8)或 0x00D0(UTF-16)咬崔。
相關(guān)鏈接
HiBlock區(qū)塊鏈技術(shù)布道 GitHub
DΞVp2p 網(wǎng)絡(luò)協(xié)議
以太坊黃皮書
精通以太坊 github
A Prehistory of the Ethereum Protocol