區塊鏈技術相關表包含了常見的區塊鏈術語(概念)及其解釋,及進一步閱讀參考文章,以加深理解。
方便大家閱讀博客或網絡上其他文章時做快速索引,比特幣相關術語參考比特幣篇
以太坊
一個基於區塊鏈的去中心化應用平台。閱讀以太坊開發入門指南了解更多
以太(Ether)
以太坊網絡的內部基礎的加密代幣。以太是用來支付交易和以太坊交易的計算費用。
智能合約
一套以數字形式定義的承諾(promises),包括合約參與方可以在上面執行這些承諾的協議。
以太坊虛擬機 EVM
是以太坊中智能合約的運行環境。
Solidity
是以太坊中用於開發智能合約的編程語言,目前開發智能合約用的最多的是Solidity。開發智能合約入門可參考智能合約開發環境搭建及Hello World合約。
Serpent
一門智能合約的編程語言,不再建議使用,建議轉換到Viper。
Viper
一門智能合約的編程語言,Vitalik最推崇的語言。取代Solidity的地位也是有可能的。
官方文檔
Transaction 交易
包含一系列價值的轉移,從一個地址轉到另一個。
消息
合約能夠向其他合約發送“消息”。消息是虛擬的,不能序列化,存在於以太坊執行環境中。可以被理解為函數調用。
以太坊客戶端
也稱錢包,提供賬戶管理、挖礦、轉賬、智能合約的部署和執行等等功能,以太坊節點利用以太坊客戶端接入到以太坊網絡。
現在以太坊客戶端主要有:Wallent/ist , Geth, Parity, Harmony
Geth
開發中使用最廣泛的客戶端。 了解geth命令用法
Gas
以太坊上用Gas機制來計費,Gas也可以認為是一個工作量單位,智能合約越復雜(計算步驟的數量和類型,占用的內存等),用來完成運行就需要越多Gas。
GHOST協議
Greedy Heaviest Observed Subtree, GHOST協議就是讓我們必須選擇一個在其上完成計算最多的路徑。一個方法確定路徑就是使用最近一個區塊(葉子區塊)的區塊號,區塊號代表着當前路徑上總的區塊數(不包含創世紀區塊)。區塊號越大,路徑就會越長,就說明越多的挖礦算力被消耗在此路徑上以達到葉子區塊。使用這種推理就可以允許我們贊同當前狀態的權威版本。
梅克爾帕特里夏樹(MPT:Merkle Patricia Tree)
一種數據結構,它會存儲每個帳戶的狀態(存儲鍵值對關系)。這個樹的建立是通過從每個節點開始,然后將節點分成多達16個組,然后散列每個組,然后對散列結果繼續散列,直到整個樹有一個最后的“根散列”。
Frontier(前沿)
以太坊(路線圖)的第一階段,在2015年7月30日發布。
Homestead(家園)
以太坊(路線圖)的第二階段,在2016年3月14日發布。
Metropolis(大都會)
以太坊(路線圖)的第三階段,引入四大特性:zk-Snarks(基於"零知識證明"),PoS(Proof of Stake,即權益證明)早期實施,智能合約跟靈活和穩定, 抽象賬戶。
大都會又拆分為兩個階段實施(兩個硬分叉):拜占庭(Byzantium)及君士坦丁堡(Constantinople)
拜占庭
拜占庭硬分叉在第437萬個區塊高度發生,時間是2017年10月16日,引入了zk-Snarks 及 抽象賬戶等。
君士坦丁堡
預計在2018年實施, 主要的特性就是平滑處理掉所有由於"拜占庭"所引發的問題,並引入 PoW 和 PoS 的混合鏈模式。
Serenity(寧靜)
以太坊(路線圖)的第四階段,
零知識證明
指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。
"零知識證明"實質上是一種涉及兩方或更多方的協議,即兩方或更多方完成一項任務所需采取的一系列步驟。證明者向驗證者證明並使其相信自己知道或擁有某一消息,但證明過程不能向驗證者泄漏任何關於被證明消息的信息。
PoS
作為驗證節點,首先你必須擁有一定數量的以太幣,根據以太幣的數量和時間會產生用於下注驗證區塊的權益。只有擁有權益的節點才能有效驗證區塊,當你驗證的區塊被打包進鏈,你將獲得和你權益成正比的區塊獎勵。如果你驗證惡意或錯誤的區塊,那么你所下注的權益將被扣除。
Casper 的共識算法
以太坊中PoS協議的實現, 剛開始每100個區塊將有一個采用PoS協議挖出
抽象賬戶
在的以太坊有兩類賬戶:即外部賬戶和合約賬戶,以太坊正在試圖模糊二者的界限,即你可以同時擁有合約賬戶和外部賬戶,這種做法本質上就是讓用戶按照合約賬戶的格式來定義外部賬戶。
難度炸彈
為了確保以太坊的礦工能加入到新鏈條中來,開發團隊引入了"難度炸彈"機制。它會使難度系數呈指數增加以至於讓挖礦變得幾乎不可能的。
以太坊硬分叉
硬分叉是對以太坊底層協議的改變,創建新的規則,提高整個系統。協議改變在某個特定區塊上被激活。所有的以太坊客戶端都需要升級,否則將停留在遵循舊規則的老鏈上。
ERC-20
代幣合約標准,一系列通過以太坊智能合約發布的代幣制定了代幣發放的通用規則。該標准是目前通過ICO發行代幣的基礎准則。
該標准能夠確保基於以太坊的代幣在整個生態系統中以一種可預測的方式進行,使去中心化應用程序和智能合約可以在整個平台上彼此協作,所有代幣都遵循一個固定的安全標准。
EIPs
Ethereum Improvement Proposals - 以太坊改進協議
Ommer
是一個區塊的父區塊與當前區塊父區塊的父區塊是相同的。
由於以太坊區塊生產時間(大概15秒左右)比比特幣(大概10分鍾左右)要快很多。更短的區塊生產時間的一個缺點就是:更多的競爭區塊會被礦工發現。
這些競爭區塊同樣也被稱為“孤區塊”(也就是被挖出來但是不會被添加到主鏈上的區塊)
Ommers的目的就是為了幫助獎勵礦工納入這些孤區塊,Ommer區塊會收到比全區塊少一點的獎勵。
預言機
通過向智能合約提供數據,它現實世界和區塊鏈之間的橋梁。
公有鏈
是任何節點都是向任何人開放的,每個人都可以參與到這個區塊鏈中參與計算,而且任何人都可以下載獲得完整區塊鏈數據(全部賬本)。
聯盟鏈
是指參與每個節點的權限都完全對等,大家在不需要完全互信的情況下就可以實現數據的可信交換,聯盟鏈的各個節點通常有與之對應的實體機構組織,通過授權后才能加入與退出網絡。通常是公司與公司、組織與組織之間達成的聯盟模式。
私有鏈
有些區塊鏈的應用場景下,並不希望這個系統任何人都可以參與,不對外公開。
適用於特定機構的內部數據管理與審計或開發測試等。
測試網絡
以太坊用來測試功能的網絡,比如拜占庭分叉之前先在測試網絡(Ropsten)上運行一段時間,穩定后再發布到公有鏈(正式網絡)。
以太坊測試網絡有:
- Olympic測試網絡 - 早期的一個測試網絡,已不再使用
- Ropsten測試網絡 - 使用Pow,和當前的公有鏈環境一致,2016/11發布。
- Kovan測試網絡 - 僅parity錢包支持,使用PoA共識
- Rinkeby測試網絡 - 僅parity錢包支持,使用PoA共識
不同網絡的特點可進一步查看這個問答