以太坊智能合約_第1頁(yè)
以太坊智能合約_第2頁(yè)
以太坊智能合約_第3頁(yè)
以太坊智能合約_第4頁(yè)
以太坊智能合約_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

這一節(jié)課,我們將學(xué)習(xí)第二類區(qū)塊鏈項(xiàng)目一一智能合約平臺(tái),它的代表項(xiàng)目是「以太坊」。由于以太坊的知識(shí)很豐富,所以我們把它拆成了上、下兩部分來學(xué)習(xí)通過這節(jié)課的學(xué)習(xí),你將了解到以太坊的起源、版本規(guī)劃以及和以太坊相關(guān)的基本概念。2013年由俄羅斯天才開發(fā)者維塔利克?布特林(VitalikButerin)發(fā)布白皮書至今,以太坊在智能合約領(lǐng)域里面一直處于非常領(lǐng)先地位,到目前為止,它也是全球最知名、應(yīng)用最廣泛的區(qū)塊鏈智能合約底層平臺(tái)。我們之前學(xué)習(xí)過,比特幣的協(xié)議雖然做出了巨大創(chuàng)新,但是也有很多不足。比如比特幣區(qū)塊鏈因?yàn)槿鄙賵D靈完備,還記得什么是圖靈完備嗎?是指一切可計(jì)算的問題都能計(jì)算,這樣的虛擬機(jī)或者編程語言就叫圖靈完備的。比特幣不能支持所有種類的計(jì)算,無法為賬戶的取款額度提供精細(xì)的控制,缺少更豐富的狀態(tài)記錄,導(dǎo)致比特幣區(qū)塊鏈系統(tǒng)的擴(kuò)展性比較差,不能廣泛應(yīng)用在除比特幣以外的其他應(yīng)用上,所以它就更無法支持復(fù)雜的智能合約。所以以太坊建立了一個(gè)可編程的、圖靈完備的區(qū)塊鏈。在這個(gè)區(qū)塊鏈之上,你可以通過簡(jiǎn)單的程序?qū)崿F(xiàn)各類數(shù)字資產(chǎn)的生產(chǎn),也可以通過編寫程序?qū)σ蕴簧狭魍ǖ膮^(qū)塊鏈資產(chǎn)的狀態(tài)進(jìn)行精確地控制,比如這個(gè)資產(chǎn)是待支付還是被鎖定還是有額度限制、這個(gè)賬戶是黑名單還是白名單、以太坊和其他數(shù)字資產(chǎn)的自動(dòng)兌換等等。同時(shí),以太坊是一個(gè)可以編程、圖靈完備的區(qū)塊鏈網(wǎng)絡(luò)基礎(chǔ),在這個(gè)基礎(chǔ)上,我們能夠?qū)崿F(xiàn)更多的非區(qū)塊鏈資產(chǎn)的功能產(chǎn)品。比如說我用以太坊建立智能合約,應(yīng)用在個(gè)人日常經(jīng)濟(jì)生活和企業(yè)經(jīng)濟(jì)活動(dòng)中,這樣的運(yùn)用也是可以被實(shí)現(xiàn)的。以太坊是建立在區(qū)塊鏈和區(qū)塊鏈資產(chǎn)的概念之上的一個(gè)全新開放的區(qū)塊鏈平臺(tái)。它允許任何人在平臺(tái)上通過使用區(qū)塊鏈技術(shù)建立和運(yùn)行去中心化的應(yīng)用。簡(jiǎn)單地說,以太坊技術(shù)就是區(qū)塊鏈技術(shù)加上智能合約。以太坊在創(chuàng)立之初就規(guī)劃了比較詳盡的發(fā)展路徑和迭代版本,以太坊一共規(guī)劃了四個(gè)迭代版本:第一個(gè)版本Frontier(前沿),第二個(gè)版本Homestead(家園),第三個(gè)版本Metropolis(大都會(huì)),第四個(gè)版本Serenity(寧?kù)o)。那么,我們就來細(xì)數(shù)一下以太坊的大事記吧:2013年末,創(chuàng)始人維塔利克?布特林發(fā)布了最初版的白皮書,啟動(dòng)了這個(gè)項(xiàng)目。2014年7月,以太坊進(jìn)行第一批以太幣的預(yù)售。通過為期42天的預(yù)售,以太坊團(tuán)隊(duì)募集了3萬多個(gè)比特幣,預(yù)售了6000萬個(gè)以太幣。2014年10月,以太坊將區(qū)塊的出塊時(shí)間從60秒縮減到了12秒,目前是基本穩(wěn)定在15秒。2015年7月30日,以太坊的第一個(gè)版本Frontire(前沿)發(fā)布,這也是以太坊的最初版本,只有命令行界面,沒有圖形界面,主要適用于開發(fā)者。2016年3月14日?qǐng)A周率節(jié),以太坊發(fā)布了第二個(gè)版本HomeStead(家園)的版本,這也是目前正在運(yùn)行的版本,易用性上得到了極大改善,有了圖形界面,從此以后普通用戶也可以體驗(yàn)以太坊的功能和開發(fā)了。2016年7月,以太坊進(jìn)行硬分叉,分為以太坊ETH和以太坊經(jīng)典ETC。這個(gè)后面我們會(huì)詳說。近期,以太坊想要發(fā)布第三個(gè)版本大都會(huì),在第三個(gè)版本Metropolis(大都會(huì))里,以太坊創(chuàng)始團(tuán)隊(duì)將會(huì)發(fā)布一個(gè)為非技術(shù)用戶設(shè)計(jì)的瀏覽器,它的名字叫Mist瀏覽器。你可以把它想象成Chrome谷歌瀏覽器,在使用上非常便捷,還有強(qiáng)大完善的應(yīng)用商店。Mist瀏覽器也將包含去中心化應(yīng)用商店、基礎(chǔ)性應(yīng)用,如果這樣的瀏覽器能夠被發(fā)布,將會(huì)十分有利于廣大的互聯(lián)網(wǎng)用戶的參與并體驗(yàn)去中心化應(yīng)用。根據(jù)目前以太坊團(tuán)隊(duì)公布的進(jìn)度,第三個(gè)版本有望在2017年年底發(fā)布出來。最后一個(gè)階段Serenity(寧?kù)o)的發(fā)布時(shí)間還沒有確定。在前三個(gè)階段,以太坊的共識(shí)機(jī)制采用工作量證明(PoW)共識(shí)機(jī)制,在第四階段會(huì)切換到混合的共識(shí)機(jī)制?;旌瞎沧R(shí)機(jī)制是將比特幣式的工作量證明PoW和布特林創(chuàng)建的權(quán)益證明機(jī)制Casper結(jié)合起來,使得礦工和持幣者的權(quán)利和利益得到平衡。說完版本迭代,我再列出來一些以太坊所涉及的名詞,這樣可以幫助你理解以太坊整個(gè)體系。第一個(gè)名詞是以太幣。以太坊系統(tǒng)中的代幣,簡(jiǎn)稱ETH。以太幣(Ether)是以太坊內(nèi)部的主要燃料,為在這個(gè)體系上運(yùn)行各種數(shù)字資產(chǎn)交易提供主要的流動(dòng)性,同時(shí)也是用于智能合約費(fèi)用的的支付。它是以太坊內(nèi)置的區(qū)塊鏈資產(chǎn),用來支付智能合約運(yùn)行的。這個(gè)概念理解相對(duì)簡(jiǎn)單,我們之前學(xué)習(xí)了HashCash和工作量證明,不知道大家是否還記得。我們了解了,為了不讓網(wǎng)絡(luò)被垃圾郵件充斥,因此要求發(fā)送郵件的計(jì)算機(jī)要進(jìn)行一些工作量計(jì)算。這樣對(duì)于發(fā)送大量垃圾郵件的計(jì)算機(jī)就是一個(gè)巨大的負(fù)擔(dān)。同樣的道理,在以太坊網(wǎng)絡(luò)上要進(jìn)行智能合約的建立和運(yùn)行,也需要一個(gè)小小的門檻,這個(gè)門檻對(duì)于認(rèn)真想做開發(fā)的人員來說成本比較低,但是對(duì)于大量運(yùn)行垃圾項(xiàng)目的發(fā)起者或者對(duì)于攻擊者來說就是比較大的負(fù)擔(dān)。不過以太坊的這個(gè)門檻不是工作量,而是燃料,我們叫「Gas」,Gas用以太幣來兌換。試想下,如果運(yùn)行一個(gè)智能合約不需要花一些費(fèi)用的話,在這條區(qū)塊鏈上就會(huì)出現(xiàn)很多的垃圾合約或者垃圾應(yīng)用,這個(gè)區(qū)塊鏈會(huì)遭到攻擊,使整個(gè)網(wǎng)絡(luò)陷入無法使用的而狀態(tài)。所以呢,以太坊的區(qū)塊鏈要求每次運(yùn)行智能合約的時(shí)候,需要支付一定數(shù)量的Gas,Gas可以以太幣來支付,來確保這個(gè)區(qū)塊鏈的穩(wěn)定和安全。關(guān)于以太幣的面值。我們熟悉的比特幣的最小面值是一聰,是一億分之一比特幣。以太坊也一樣,有自己的最小面值,命名為1「wei」,它有多小呢?一枚以太坊代幣分割到小數(shù)點(diǎn)后18位,就是1wei。還有,在2016年7月,以太坊區(qū)塊鏈發(fā)生硬分叉,這次硬分叉將以太坊分成了兩條區(qū)塊鏈。由創(chuàng)始人布特林主導(dǎo)的、升級(jí)以后的以太坊叫Ethereum,代幣代號(hào)為ETH。不接受這次升級(jí)的鏈稱為「EthereumClassic」原鏈上的以太坊代幣代號(hào)為ETC。第二個(gè)概念就是以太坊虛擬機(jī)EVM。在一個(gè)編程系統(tǒng)之上,通常會(huì)有一些編譯和執(zhí)行的虛擬機(jī)來去做支撐。Java有JVM,那么在以太坊里,也會(huì)有以太坊的虛擬機(jī),可以執(zhí)行任意復(fù)雜的算法代碼。開發(fā)者可以使用現(xiàn)有的JavaScript或Python以及其他友好的編程語言,在以太坊上創(chuàng)造出自己想要的應(yīng)用。第三個(gè)概念是智能合約(SmartContract)。智能合約的理念并不新鮮,最早是由密碼學(xué)家尼克?薩博(NickSzabo)在1995年時(shí)候提出的,幾乎與互聯(lián)網(wǎng)同時(shí)出現(xiàn),指的是由計(jì)算機(jī)程序定義并自動(dòng)執(zhí)行的承諾協(xié)議。雖然說它的理念提出已經(jīng)由來已久,但是,直到以太坊的出現(xiàn),智能合約才被廣泛應(yīng)用。一個(gè)重要原因是因?yàn)橹叭狈δ軌蛞粋€(gè)友好的、可編程的基礎(chǔ)系統(tǒng)。有了智能合約,任何人都能夠在以太坊上創(chuàng)建自己想要做的去中心化的應(yīng)用了。智能合約在以太坊上一旦被創(chuàng)建之后,就無需中間機(jī)構(gòu)參與,就能自動(dòng)執(zhí)行,并且沒有人能夠阻止其運(yùn)行。在以太坊上的智能合約,能夠控制區(qū)塊鏈上各種數(shù)字資產(chǎn),進(jìn)行復(fù)雜的算法和操作。舉個(gè)例子:我們經(jīng)常乘坐飛機(jī)會(huì)購(gòu)買飛機(jī)延誤險(xiǎn),但是真正延誤之后,你可能還要撥打客服電話了解流程、在線下開證明、找保險(xiǎn)公司,才能執(zhí)行完你的延誤險(xiǎn)賠付。這時(shí)候,如果有了智能合約,輸入條件,連線航班數(shù)據(jù),就能夠確保保險(xiǎn)公司在航班延誤之后就自動(dòng)為你打款了。合約的執(zhí)行不需要第三方參與,是自動(dòng)執(zhí)行,是不是大大提高了社會(huì)經(jīng)濟(jì)活動(dòng)的效率了呢?在以太坊區(qū)塊鏈上,你可以編寫資產(chǎn)的代碼,創(chuàng)建新的區(qū)塊鏈資產(chǎn),簡(jiǎn)單地說,你可以發(fā)行你自己的區(qū)塊鏈代幣,你使用什么樣的發(fā)行機(jī)制、代幣叫什么名字、發(fā)行多少數(shù)量、怎么樣去發(fā)行都由你來決定,聽起來是不是很有意思呢?同時(shí),你也可以通過編寫智能合約的代碼,來創(chuàng)造非區(qū)塊鏈資產(chǎn)的功能,比如投票、對(duì)賭、條件合同等等。因?yàn)橐С种悄芎霞s,所以以太坊上有兩種類型的賬戶地址:一種叫普通賬戶,一種叫合約賬戶。普通賬戶和比特幣網(wǎng)絡(luò)的賬戶差不多,合約賬戶主要用于智能合約。好了,我們回顧一下這節(jié)課。我們介紹了第二類區(qū)塊鏈項(xiàng)目智能合約平臺(tái),代表項(xiàng)目以太坊,我?guī)銓W(xué)習(xí)了以太坊的起源、版本迭代、重要的名詞。以太坊由俄羅斯開發(fā)者布特林在2013年創(chuàng)建的,它針對(duì)比特幣區(qū)塊鏈系統(tǒng)缺少圖靈完備等缺點(diǎn),以太坊建立了一個(gè)可編程、圖靈完備的區(qū)塊鏈,它幫助人們更方便地實(shí)現(xiàn)生產(chǎn)各類數(shù)字資產(chǎn),更精確地控制區(qū)塊鏈資產(chǎn)的狀態(tài)。以太坊的發(fā)展規(guī)劃了4個(gè)階段,分別是:前沿、家園、大都會(huì)、寧?kù)o:「前沿」是以太坊的最初版本,只有命令行界面,主要使用者是開發(fā)者;第二個(gè)版本「家園」增加了類似Windows系統(tǒng)那樣的圖形界面,普通用戶也可以方便地體驗(yàn)以太坊的功能;第三版本「大都會(huì)」加入了一個(gè)像谷歌瀏覽器那樣的瀏覽器,除了使用方便之外,它還擁有一個(gè)強(qiáng)大的應(yīng)用商店,可以安裝插件實(shí)現(xiàn)更多功能。第三個(gè)版本有望在2017年年底發(fā)布出來;第四個(gè)版本「寧?kù)o」目前還沒有確定發(fā)布時(shí)間,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論