以太坊基础
以太坊是什么
以太坊(Ethereum)是一個(gè)建立在區(qū)塊鏈技術(shù)之上, 去中心化應(yīng)用平臺(tái)。它允許任何人在平臺(tái)中建立和使用通過(guò)區(qū)塊鏈技術(shù)運(yùn)行的去中心化應(yīng)用。
什么是智能合約
以太坊上的程序稱之為智能合約, 它是代碼和數(shù)據(jù)(狀態(tài))的集合。
智能合約可以理解為在區(qū)塊鏈上可以自動(dòng)執(zhí)行的(由消息驅(qū)動(dòng)的)、以代碼形式編寫(xiě)的合同(特殊的交易)。
在比特幣腳本中,我們講到過(guò)比特幣的交易是可以編程的,但是比特幣腳本有很多的限制,能夠編寫(xiě)的程序也有限,
而以太坊則更加完備(在計(jì)算機(jī)科學(xué)術(shù)語(yǔ)中,稱它為是“圖靈完備的”),讓我們就像使用任何高級(jí)語(yǔ)言一樣來(lái)編寫(xiě)幾乎可以做任何事情的程序(智能合約)。
智能合約非常適合對(duì)信任、安全和持久性要求較高的應(yīng)用場(chǎng)景,比如:數(shù)字貨幣、數(shù)字資產(chǎn)、投票、保險(xiǎn)、金融應(yīng)用、預(yù)測(cè)市場(chǎng)、產(chǎn)權(quán)所有權(quán)管理、物聯(lián)網(wǎng)、點(diǎn)對(duì)點(diǎn)交易等等。
目前除數(shù)字貨幣之外,真正落地的應(yīng)用還不多(就像移動(dòng)平臺(tái)剛開(kāi)始出來(lái)一樣),相信1到3年內(nèi),各種殺手級(jí)會(huì)慢慢出現(xiàn)。
以太坊客戶端(錢(qián)包)
以太坊客戶端,其實(shí)我們可以把它理解為一個(gè)開(kāi)發(fā)者工具,它提供賬戶管理、挖礦、轉(zhuǎn)賬、智能合約的部署和執(zhí)行等等功能。
Gas
和云計(jì)算相似,占用區(qū)塊鏈的資源(不管是簡(jiǎn)單的轉(zhuǎn)賬交易,還是合約的部署和執(zhí)行)同樣需要付出相應(yīng)的費(fèi)用(天下沒(méi)有免費(fèi)的午餐對(duì)不對(duì)!)。
以太坊上用Gas機(jī)制來(lái)計(jì)費(fèi),Gas也可以認(rèn)為是一個(gè)工作量單位,智能合約越復(fù)雜(計(jì)算步驟的數(shù)量和類(lèi)型,占用的內(nèi)存等),用來(lái)完成運(yùn)行就需要越多Gas。
任何特定的合約所需的運(yùn)行合約的Gas數(shù)量是固定的,由合約的復(fù)雜度決定。
而Gas價(jià)格由運(yùn)行合約的人在提交運(yùn)行合約請(qǐng)求的時(shí)候規(guī)定,以確定他愿意為這次交易愿意付出的費(fèi)用:Gas價(jià)格(用以太幣計(jì)價(jià)) * Gas數(shù)量。
Gas的目的是限制執(zhí)行交易所需的工作量,同時(shí)為執(zhí)行支付費(fèi)用。當(dāng)EVM執(zhí)行交易時(shí),Gas將按照特定規(guī)則被逐漸消耗,無(wú)論執(zhí)行到什么位置,一旦Gas被耗盡,將會(huì)觸發(fā)異常。當(dāng)前調(diào)用幀所做的所有狀態(tài)修改都將被回滾, 如果執(zhí)行結(jié)束還有Gas剩余,這些Gas將被返還給發(fā)送賬戶。
如果沒(méi)有這個(gè)限制,就會(huì)有人寫(xiě)出無(wú)法停止(如:死循環(huán))的合約來(lái)阻塞網(wǎng)絡(luò)。
因此實(shí)際上(把前面的內(nèi)容串起來(lái)),我們需要一個(gè)有以太幣余額的外部賬戶,來(lái)發(fā)起一個(gè)交易(普通交易或部署、運(yùn)行一個(gè)合約),運(yùn)行時(shí),礦工收取相應(yīng)的工作量費(fèi)用。
?
轉(zhuǎn)載于:https://www.cnblogs.com/lukunlun/p/8358703.html
總結(jié)
- 上一篇: 小白的Python之路 day5 con
- 下一篇: jsonp跨域请求