《以太坊白皮書》筆記(2)—— 以太坊介紹. 上

《以太坊白皮書》原文鏈接:https://github.com/ethereum/wiki/wiki/White-Paper

Ethereum

Ethereum: a blockchain with a built-in Turing-complete programming language, allowing anyone to write smart contracts and decentralized applications where they can create their own arbitrary rules for ownership, transaction formats and state transition functions.

以太坊: 一個內(nèi)置了圖靈完備的程序語言的區(qū)塊鏈田晚。任何人可以編寫智能合約;或者 “可以創(chuàng)造任意屬于自己的規(guī)則” 的去中心化應(yīng)用戒洼;以及交易格式和狀態(tài)轉(zhuǎn)化函數(shù)屡江。

#1 Smart Contract

以太坊中最重要的概念: 智能合約喇喉。相對于比特幣來說退敦,智能合約可以說是比特幣中 ”腳本“ 的升級加強(qiáng)版:智能合約可以支持更強(qiáng)大的腳本語言(圖靈完備的腳本語言),并允許開發(fā)者開發(fā)任意應(yīng)用實(shí)現(xiàn)智能合約(可以將以太坊想象為一個應(yīng)用商店章办,用戶可以從上面買到任一應(yīng)用)芒炼。

以太坊 = 比特幣 + 智能合約

Smart Contract

智能合約挥唠,從概念上來說,是運(yùn)行在可復(fù)制焕议、共享的賬本上的一段計算機(jī)程序宝磨。它由用戶發(fā)布,且發(fā)布之后無法修改盅安。每個合約都相當(dāng)于一段代碼唤锉,且都有一個賬戶地址。每當(dāng)這個地址發(fā)生交易的時候别瞭,這段代碼就會被執(zhí)行窿祥。

  1. 每個合約只能以區(qū)塊鏈作為輸入和輸出。
  2. 任一合約可以調(diào)用其他合約中的函數(shù)蝙寨。
  3. 執(zhí)行合約的過程中可以創(chuàng)建新的交易晒衩。

#2 Accounts

在以太坊中嗤瞎,狀態(tài)由一個個稱之為 “賬戶” 的對象組成。每一個賬戶有一個 20 byte 的地址和<u>賬戶之間價值和信息的直接轉(zhuǎn)換而來的狀態(tài)轉(zhuǎn)變听系。</u>(這段話有點(diǎn)難理解贝奇,簡單來說就是賬戶的交易過程中產(chǎn)生的對象實(shí)體。)

以太坊中每個賬戶包含 4 個部分:

  1. 隨機(jī)數(shù)靠胜,一個用來確保每筆交易只能被執(zhí)行一次的計數(shù)器掉瞳。
  2. 當(dāng)前的以太余額 (以太坊中的貨幣單位為 “以太” )。
  3. 賬戶的合約代碼浪漠,如果有的話陕习。
  4. 賬戶的存儲(默認(rèn)為空)。

賬戶有兩種類型:

  1. 外部所有賬戶址愿,由私鑰控制该镣。這種賬戶沒有包含任何代碼,而且任何人都可以通過創(chuàng)建和簽名一條交易來通過這種賬戶發(fā)送消息响谓。
  2. 合約賬戶拌牲,由它們的合約代碼控制。在合約賬戶中歌粥,每當(dāng)此賬戶接收到一條消息的時候,它的合約代碼便會被執(zhí)行拍埠。這使得合約賬戶可以讀寫內(nèi)部存儲失驶,并發(fā)送其他消息或者在執(zhí)行過程中創(chuàng)建其他交易。

Note

“合約” 在以太坊中并不應(yīng)該被視為一種應(yīng)該 “用它來填滿” 或者 “服從于它的規(guī)則” 的東西枣购。它們更像是一種在以太坊執(zhí)行環(huán)境內(nèi)部的 “自主媒介”嬉探。它們總是在接收到消息或者交易的時候執(zhí)行一段代碼片段,并直接控制屬于它們的以太余額和鍵值存儲棉圈,以此來追蹤不斷變化的狀態(tài)涩堤。

#3 Messages and Transactions

Transactions

以太坊中的 “交易” :表示已經(jīng)簽名過的,儲存著一個發(fā)送到外部所有賬戶的 “消息” 的數(shù)據(jù)的集合分瘾。包含:

  1. 消息的接收者
  2. 標(biāo)識發(fā)送者的簽名
  3. 發(fā)送者轉(zhuǎn)移給接受者的以太總額
  4. 一個可選的數(shù)據(jù)域
  5. 一個 STARTAGS值胎围,用來表示交易執(zhí)行過程中允許的最大計算步驟
  6. 一個 GASPRICE值,用來表示每一個計算步驟發(fā)送者需要支付的費(fèi)用

Note

STARTGASGASPRICE 兩個部分對于以太坊的 anti-denial-of-service model (反阻斷服務(wù)模型) 至關(guān)重要德召。為防止意外出現(xiàn)或者惡意執(zhí)行的代碼無限循環(huán)白魂,以及一些代碼造成的計算浪費(fèi)。

計算的基本單位為 "gas"上岗。通常福荸,一個計算步驟會消耗一個 gas,不過一些復(fù)雜的(包括一些需要昂貴的計算成本的肴掷,或者需要儲存更多數(shù)據(jù)到狀態(tài)中的)計算會消耗更多的 gas敬锐。交易數(shù)據(jù)中每一個字節(jié)都需要 5 個 gas 的花費(fèi)背传。

Messages

所有合約都向其他合約可以發(fā)送 ”消息“ 。這里的消息是一些虛擬對象台夺,它們只在以太坊的執(zhí)行環(huán)境中存在径玖,且不會被序列化。一個消息包含:

  1. 消息的發(fā)送者 (默認(rèn)包含)
  2. 消息的接收者
  3. 關(guān)聯(lián)的交易的以太金額
  4. 一個可選的數(shù)據(jù)域
  5. 一個 STARTGAS

需要著重留意的是谒养,一個消息就像一筆交易一樣挺狰,會使得接收者的賬戶執(zhí)行它的關(guān)聯(lián)代碼。不同點(diǎn)在于买窟,消息是由合約產(chǎn)生的(當(dāng)合約代碼執(zhí)行到 CALL 操作碼時)丰泊,且它不是一個外部參與者。因此始绍,合約可以和其他合約產(chǎn)生關(guān)聯(lián)瞳购,就像就像外部參與者一樣。

Note

以太坊中消息機(jī)制的存在亏推,使得合約與外部賬戶擁有同樣的 —— 發(fā)送消息和創(chuàng)建其他合約的權(quán)力学赛。


閱讀 Github 上 《Ethereum - White Paper》 的一些筆記

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市吞杭,隨后出現(xiàn)的幾起案子盏浇,更是在濱河造成了極大的恐慌,老刑警劉巖芽狗,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绢掰,死亡現(xiàn)場離奇詭異,居然都是意外死亡童擎,警方通過查閱死者的電腦和手機(jī)滴劲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顾复,“玉大人班挖,你說我怎么就攤上這事⌒驹遥” “怎么了萧芙?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長假丧。 經(jīng)常有香客問我末购,道長,這世上最難降的妖魔是什么虎谢? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任盟榴,我火速辦了婚禮,結(jié)果婚禮上婴噩,老公的妹妹穿的比我還像新娘擎场。我一直安慰自己羽德,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布迅办。 她就那樣靜靜地躺著宅静,像睡著了一般。 火紅的嫁衣襯著肌膚如雪站欺。 梳的紋絲不亂的頭發(fā)上姨夹,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天,我揣著相機(jī)與錄音矾策,去河邊找鬼磷账。 笑死,一個胖子當(dāng)著我的面吹牛贾虽,可吹牛的內(nèi)容都是我干的逃糟。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蓬豁,長吁一口氣:“原來是場噩夢啊……” “哼绰咽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起地粪,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤取募,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蟆技,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體玩敏,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年付魔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片飞蹂。...
    茶點(diǎn)故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡几苍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出陈哑,到底是詐尸還是另有隱情妻坝,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布惊窖,位于F島的核電站刽宪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏界酒。R本人自食惡果不足惜圣拄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望毁欣。 院中可真熱鬧庇谆,春花似錦岳掐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至寞肖,卻和暖如春纲酗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背新蟆。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工觅赊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人栅葡。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓茉兰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親欣簇。 傳聞我的和親對象是個殘疾皇子规脸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評論 2 359