一份以太坊入门完全指南(非程序员免进)。
假如你在2016年年底買10000元的以太坊,在2018年年初,你將擁有近200萬(wàn)元。如果換成比特幣,這個(gè)數(shù)字僅僅是30萬(wàn)。比特幣這個(gè)詞在過去兩年成為比中彩票還熱門的暴富詞匯,但真正夸張的確是以太坊。
以太坊到底是什么?
這個(gè)問題回答起來,并沒有想象的那么簡(jiǎn)單。以太坊的誕生,很大程度上受到了比特幣的影響,我們先簡(jiǎn)單回顧一下比特幣本身的故事。
比特幣作為數(shù)字貨幣的先驅(qū)者,實(shí)現(xiàn)了一個(gè)去中心化、點(diǎn)對(duì)點(diǎn)的全球開放式支付網(wǎng)絡(luò)。去掉那些高大上的詞匯,簡(jiǎn)單說起來,比特幣網(wǎng)絡(luò)就是全球無(wú)數(shù)臺(tái)運(yùn)行比特幣客戶端程序的計(jì)算設(shè)備,通過國(guó)際互聯(lián)網(wǎng)進(jìn)行通信,形成的一個(gè) P2P 網(wǎng)絡(luò)。在這個(gè)網(wǎng)絡(luò)上,任何人都可以進(jìn)行點(diǎn)對(duì)點(diǎn)的轉(zhuǎn)賬操作。比特幣的一些顯著特點(diǎn)有:
-
無(wú)中心信任。任何節(jié)點(diǎn)均可加入和退出網(wǎng)絡(luò),理論上節(jié)點(diǎn)無(wú)需信任除自己外的其他節(jié)點(diǎn)。
-
極高的安全性。比特幣背后的區(qū)塊鏈技術(shù)中,加入了密碼學(xué)層面的安全性驗(yàn)證,可以在絕大部分情況下,保證賬戶的安全性,交易的正確性和不可篡改性。
-
匿名性。比特幣的所有交易數(shù)據(jù)是公開透明的,但是從純數(shù)據(jù)的角度看,交易數(shù)據(jù)無(wú)法和發(fā)起交易的個(gè)人產(chǎn)生實(shí)質(zhì)性的聯(lián)系,因此比特幣網(wǎng)絡(luò)上的交易有較高的匿名性。
為了實(shí)現(xiàn)上面提到的去中心化信任以及安全性等問題,比特幣引入了基于 PoW(Proof of Work)的驗(yàn)證機(jī)制,即大家經(jīng)常聽到的“挖礦”。關(guān)于 PoW 和“挖礦”具體介紹,不屬于本教程的核心內(nèi)容,有興趣的同學(xué)可以自行查閱相關(guān)資料。
這里我們只需要了解,通過 PoW 的機(jī)制,比特幣讓攻擊者很難通過攻擊比特幣網(wǎng)絡(luò)獲取收益,通過攻擊獲取的收益很大概率上會(huì)小于對(duì)網(wǎng)絡(luò)提供貢獻(xiàn)獲取的收益。比特幣擁有的這些相比傳統(tǒng)貨幣而言頗具顛覆性的特性,加上比特幣作者中本聰?shù)纳鐓^(qū)影響力,等等諸多原因結(jié)合在一起,使得比特幣成為了人類歷史上第一個(gè)被大規(guī)模使用的數(shù)字貨幣。
“區(qū)塊鏈”本質(zhì)上就是一個(gè)數(shù)據(jù)庫(kù)。在比特幣網(wǎng)絡(luò)中,所有交易產(chǎn)生的賬本數(shù)據(jù),以區(qū)塊鏈的形式記錄在網(wǎng)絡(luò)當(dāng)中的所有計(jì)算機(jī)的存儲(chǔ)當(dāng)中。目前(2018 年末)比特幣網(wǎng)絡(luò)中賬本的記賬數(shù)據(jù)量已經(jīng)達(dá)到上百 GB,并且還在持續(xù)增加。
比特幣的設(shè)計(jì)者中本聰作為一個(gè)程序員,在設(shè)計(jì)比特幣的時(shí)候很自然會(huì)想到比特幣交易的可編程性。事實(shí)上他也確實(shí)是這么做的。比特幣客戶端實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的基于堆棧的腳本解釋器,比特幣交易本身的校驗(yàn)就是通過運(yùn)行腳本來實(shí)現(xiàn)的。理論上通過寫腳本,是可以實(shí)現(xiàn)交易的編程性的。但是比特幣的腳本功能很局限。
首先比特幣腳本沒有高級(jí)語(yǔ)言可以用,相當(dāng)于只能使用匯編語(yǔ)言來編程,第二也是非常致命的一點(diǎn),為了比特幣本身的安全性,比特幣腳本被故意設(shè)計(jì)成了非圖靈完備的,這也就意味著可以通過編程實(shí)現(xiàn)的操作受到了非常大的限制。
圖靈完備(Turing-complete),是一個(gè)計(jì)算機(jī)科學(xué)上的概念,是對(duì)計(jì)算能力的一種描述。圖靈完備的具體內(nèi)容,感興趣的同學(xué)可以查閱有關(guān)資料。在這里我們只需要知道,比特幣的腳本由于不是圖靈完備的,缺乏很多編程語(yǔ)言中常見的功能,例如沒有循環(huán)語(yǔ)句。
比特幣誕生并穩(wěn)定運(yùn)行 5 年之后的 2014 年,以 Vitalik Buterin(江湖人稱“V 神”)為核心的團(tuán)隊(duì),創(chuàng)新性地提出了 Ethereum 的概念,中文翻譯“以太坊”。以太坊對(duì)比特幣的擴(kuò)展性這一環(huán)進(jìn)行了補(bǔ)充,建立了一個(gè)可編程的,圖靈完備的區(qū)塊鏈平臺(tái)。
以太坊平臺(tái)可以看做是一個(gè)全球范圍運(yùn)行的、永不停機(jī)的大型計(jì)算機(jī),允許開發(fā)者在其之上使用高級(jí)語(yǔ)言進(jìn)行編程,發(fā)布的應(yīng)用可以立即在全網(wǎng)使用,并且永遠(yuǎn)不會(huì)下線。
以太坊本身也是一系列協(xié)議(protocol)的總稱,其中包括 P2P 通信協(xié)議,鏈數(shù)據(jù)結(jié)構(gòu),地址格式等。只要實(shí)現(xiàn)了以太坊協(xié)議的程序,均可以加入以太坊網(wǎng)絡(luò),成為網(wǎng)絡(luò)中的節(jié)點(diǎn)。以太坊協(xié)議有各種語(yǔ)言的諸多實(shí)現(xiàn),例如 go-ethereum/Geth(Go 語(yǔ)言實(shí)現(xiàn)),Aleth(C++ 語(yǔ)言實(shí)現(xiàn)),Parity(Rust 語(yǔ)言實(shí)現(xiàn))等等,其中最為廣泛使用的是 Geth 和 Parity。
數(shù)字貨幣的春天過去了么?沒人知道。但區(qū)塊鏈的雪已經(jīng)逐漸開始融化了。今天跟大家分享的這個(gè)教程就是通過講解太坊平臺(tái)中的若干重要概念,為后面深入學(xué)習(xí)區(qū)塊鏈打下基礎(chǔ)。
主要知識(shí)點(diǎn):
-
以太坊平臺(tái)基礎(chǔ)知識(shí)
-
智能合約簡(jiǎn)介
具體講解教程涉及大段代碼,這里就不強(qiáng)行展示了。大家可以點(diǎn)我查看教程詳情&學(xué)習(xí)。
相關(guān)閱讀
8個(gè)爽滑的Windows小軟件,不好用你拿王思蔥砸死我
60人,42天,死磕機(jī)器學(xué)習(xí),結(jié)果如下。
武俠版編程語(yǔ)言…Java像張無(wú)忌還是令狐沖?
大量機(jī)器學(xué)習(xí)&深度學(xué)習(xí)資料
技術(shù)變現(xiàn),到底怎么變?
總結(jié)
以上是生活随笔為你收集整理的一份以太坊入门完全指南(非程序员免进)。的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9个用来爬取网络站点的 Python 库
- 下一篇: (史上最全)104个实用网络爬虫合集。