CFO区块链学习笔记(11):以太坊黄皮书学习笔记之以太坊基础概念

  • A+
所属分类:学习笔记

1.简介

比特币是第一个去中心化的货币应用域名币第一次尝试实现了从货币到其他应用的去中心化实现。
以太坊是一个去尝试建立通用性技术的项目,其目的是为了开发至今还没有发开的电脑软件实例软件:一种通过电脑通信的可信任机制框架。
以太坊有很多的目标,其中最重要的目标是为了简化个体之间存在互相不信任对方的交易。这些不信任可能是因为地理分离(远距离)、接口对接难度、或者是不兼容、不称职、不情愿、不便宜、不确定、不方便或者现有合法系统的腐败。于是,我们想用一个丰富且清晰的语言去说明一个状态改变的系统,和去搭建一个能自动执行一个无争论而且能给我们理想的期望值的系统,最后能给出一个方案去研究这个系统。
面临的挑战:在研究这个系统的过程中发现在现实世界有几个属性很难被找到。最难被找到的就是正义清廉化,因为它来自于清廉的算法程序员。其次是透明化,或者说能够清晰的看见一个状态或者一个决断如何传出交易日志和规则或者代码。它几乎没有完美地发生在基于人性的系统之上,因为自然语言的必要含糊,信息经常性的遗漏,和一成不变的思想导致透明化很能去实现。

2.区块链

以太坊在整体上可以看作一个基于交易的状态机:起始于一个创世块(Genesis)状态,然后随着交易的执行状态逐步改变一直到最终状态, 这个最终状态是以太坊世界的权威版本。状态中包含的信息有: 账户余额、名誉度、信誉度、现实世界的附属数据等; 简而言之,能包含电脑可以描绘的任何信息。因此,交易是连接两个状态的有效桥梁;“有效”非常重要—因为无效的状态改变远超过有效的状态改
变。例如:无效的状态改变可能是减少账号余额,但是没有在其它账户上加上同等的额度。一个有效的状态转换是通过交易进行的。
区块中记录着交易信息;区块之间通过密码学哈希(hash) 链接起来。区块链就像一个分类账, 将一系列交易记录在一起, 并且连接上一个区块及最终状态 (并没有直接保存最终状态本身—否则整个区块链就太大了)。系统激励节点去挖矿, 挖矿获得激励后, 会执行状态转移函数, 增加挖矿者的账户余额。挖矿是和其它潜在区块竞争一系列交易 (一个区块) 的记账权。它是通过密码安全证明的方式来实现。这个机制称为工作量证明。
上述是区块链的基本内容,这个模型不仅是以太坊的基础,还是迄今为止所有基于共识的去中心化交易系统的基础。

3.以太坊

A.面值. 为了激励网络中的计算,需要定义一种转账方法。以太坊设计了一种内置货币以太币 (Ether),ETH 是大家所熟知的符号,有时用 Ð 表示。以太币最小的面额是Wei(伟),所有货币值都以 Wei 的整数倍记录。一个以太币等于 10^18Wei 。
倍数 面值
10^0 Wei(伟)
10^12 Szabo(萨博)
10^15 Finney(芬尼)
10^18 Ether(以太)
在整个工作中,任何涉及到价值、以太币相关的、货币、余额或者支付,都以 Wei 作为单位来计算
B.共识
因为这是一个去中心化的系统, 所有人都有机会在之前的某一个区块创建新的区块并连接在其后, 这会行成一个树状的区块。为了能在这个树状结构上从根节点(创世块)到叶子节点(包含最新交易的区块)能形成一个一致的区块链, 必须有一个共识方案。如果有人认为从根节点到叶子节点的路径不是最佳的区块链, 那这时候就会发生分叉。这就意味着在一个给定的时间点, 系统中会有多个状态共存:一些节点相信一个区块是包含权威的交易,其它节点则相信另外一些区块包含权的交易,其中就包含彻底不同
或者不兼容的交易。这一点必须要避免, 因为它会破坏整个系统信用。
我们使用了一个简易 GHOST 协议版本来达成共识
有时会从一个特定的区块链高度启用新的协议。本文描述了协议的一个版本, 如果要跟踪历史区块链路径,可能需要查看这份文档的历史版本。(译者注: 可以到https://github.com/ethereum/yellowpaper 查看英文版历史版本)

发表评论

您必须才能发表评论!