姓名:朱睿琦
學(xué)號:15180288015
參考:http://baijiahao.baidu.com/s?id=1581231980661527205&wfr=spider&for=pc
? ? ? ? ? ?http://www.885.com/a/59673.html
【嵌牛導(dǎo)讀】:以太幣(ETH)是以太坊(Ethereum)的一種數(shù)字代幣,被視為“比特幣2.0版”百宇。下面會對以太坊進行簡要的介紹
【嵌牛鼻子】:以太坊民褂,挖礦
【嵌牛提問】:以太坊的工作原理是什么泼舱?以太坊的運行是如何維護的?
【嵌牛正文】:以太坊的工作原理是什么?
以太坊的本質(zhì)就是一個基于交易的狀態(tài)機(transaction-based state machine)厉萝。在計算機科學(xué)中,一個 狀態(tài)機 是指可以讀取一系列的輸入,然后根據(jù)這些輸入额湘,會轉(zhuǎn)換成一個新的狀態(tài)出來的東西。
根據(jù)以太坊的狀態(tài)機旁舰,我們從創(chuàng)世紀(jì)狀態(tài)(genesis state)開始锋华。這差不多類似于一片空白的石板,在網(wǎng)絡(luò)中還沒有任何交易的產(chǎn)生狀態(tài)箭窜。當(dāng)交易被執(zhí)行后毯焕,這個創(chuàng)世紀(jì)狀態(tài)就會轉(zhuǎn)變成最終狀態(tài)。在任何時刻磺樱,這個最終狀態(tài)都代表著以太坊當(dāng)前的狀態(tài)纳猫。
以太坊的狀態(tài)有百萬個交易。這些交易都被“組團”到一個區(qū)塊中竹捉。一個區(qū)塊包含了一系列的交易芜辕,每個區(qū)塊都與它的前一個區(qū)塊鏈接起來。
為了讓一個狀態(tài)轉(zhuǎn)換成下一個狀態(tài)块差,交易必須是有效的侵续。為了讓一個交易被認(rèn)為是有效的,它必須要經(jīng)過一個驗證過程憾儒,此過程也就是挖礦询兴。挖礦就是一組節(jié)點(即電腦)用它們的計算資源來創(chuàng)建一個包含有效交易的區(qū)塊出來。
任何在網(wǎng)絡(luò)上宣稱自己是礦工的節(jié)點都可以嘗試創(chuàng)建和驗證區(qū)塊起趾。世界各地的很多礦工都在同一時間創(chuàng)建和驗證區(qū)塊诗舰。每個礦工在提交一個區(qū)塊到區(qū)塊鏈上的時候都會提供一個數(shù)學(xué)機制的“證明”,這個證明就像一個保證:如果這個證明存在训裆,那么這個區(qū)塊一定是有效的眶根。
以太坊合并了很多對比特幣用戶來說十分熟悉的特征和技術(shù),同時自己也進行了很多修正和創(chuàng)新边琉。比特幣區(qū)塊鏈純粹是一個關(guān)于交易的列表属百,而以太坊的基礎(chǔ)單元是賬戶。以太坊區(qū)塊鏈跟蹤每個賬戶的狀態(tài)变姨,所有以太坊區(qū)塊鏈上的狀態(tài)轉(zhuǎn)換都是賬戶之間價值和信息的轉(zhuǎn)移族扰。賬戶分為兩類:
1.外部賬戶(EOA),由私人密碼控制
2.合約賬戶,由它們的合約編碼控制渔呵,只能由外部賬戶“激活”
對于大部分用戶來說怒竿,兩者基本的區(qū)別在于外部賬戶是由人類用戶掌控——因為他們能夠控制私鑰,進而控制外部賬戶扩氢。而合約賬戶則是由內(nèi)部編碼管控耕驰。如果他們是被人類用戶“控制”的,那也是因為程序設(shè)定它們被具有特定地址的外部賬戶控制录豺,進而被持有私鑰控制外部賬戶的人控制著朦肘。“智能合約”這個流行的術(shù)語指的是在合約賬戶中編碼——交易被發(fā)送給該賬戶時所運行的程序双饥。用戶可以通過在區(qū)塊鏈中部署編碼來創(chuàng)建新的合約媒抠。
只有當(dāng)外部賬戶發(fā)出指令時,合約賬戶才會執(zhí)行相應(yīng)的操作兢哭。所以合約賬戶不可能自發(fā)地執(zhí)行諸如任意數(shù)碼生成或應(yīng)用程序界面調(diào)用等操作--只有受外部賬戶提示時领舰,它才會做這些事夫嗓。這是因為以太坊要求節(jié)點能夠與運算結(jié)果保持一致迟螺,這就要求保證嚴(yán)格確定執(zhí)行。
和比特幣一樣舍咖,以太坊用戶必須向網(wǎng)絡(luò)支付少量交易費用矩父。這可以使以太坊區(qū)塊鏈免受無關(guān)緊要或惡意的運算任務(wù)干擾,比如分布式拒絕服務(wù)(DDoS)攻擊或無限循環(huán) 排霉。交易的發(fā)送者必須在激活的“程序”每一步付款窍株,包括運算和記憶儲存。費用通過以太坊自有的有價代幣攻柠,以太幣的形式支付球订。
交易費用由節(jié)點收集,節(jié)點使網(wǎng)絡(luò)生效瑰钮。這些“礦工”就是以太坊網(wǎng)絡(luò)中收集冒滩、傳播、確認(rèn)和執(zhí)行交易的節(jié)點浪谴。礦工們將交易分組——包括許多以太坊區(qū)塊鏈中賬戶“狀態(tài)”的更新——分成的組被稱為“區(qū)塊”开睡,礦工們會互相競爭,以使他們的區(qū)塊可以添加到下一個區(qū)塊鏈上苟耻。礦工們每挖到一個成功的區(qū)塊就會得到以太幣獎勵篇恒。這就為人們帶來了經(jīng)濟激勵,促使人們?yōu)橐蕴痪W(wǎng)絡(luò)貢獻硬件和電力凶杖。
和比特幣網(wǎng)絡(luò)一樣胁艰,礦工們有解決復(fù)雜數(shù)學(xué)問題的任務(wù)以便成功地“挖”到區(qū)塊。這被稱為“工作量證明”。一個運算問題腾么,如果在算法上解決醋虏,比驗證解決方法需要更多數(shù)量級的資源,那么它就是工作證明的極佳選擇哮翘。為防止比特幣網(wǎng)絡(luò)中已經(jīng)發(fā)生的颈嚼,專門硬件(例如特定用途集成電路)造成的中心化現(xiàn)象,以太坊選擇了難以存儲的運算問題饭寺。如果問題需要存儲器和CPU阻课,事實上理想的硬件是普通的電腦。這就使以太坊的工作量證明具有抗特定用途集成電路性艰匙,和比特幣這種由專門硬件控制挖礦的區(qū)塊鏈相比限煞,能夠帶來更加去中心化的安全分布。