以太坊的基本了解

以太坊综述(Ethereum)

  • 庞大的开发者社区,目前最大的区块链开发平台
  • 相对较成熟,有代表性,资料众多
  • 以应用入手,学习曲线不那么陡峭
  • 与JavaScript结合紧密,方便开发人员上手

发展阶段

  • 前沿(Frontier)-Block #0
    以太坊的初级阶段,持续时间为2015年7月30日至2016年3月
  • 家园(Homestead)-Block #1150000
    以太坊的第二阶段,于2016年3月推出
  • 大都会(Metropolis)-Block #4370000
    以太坊的第三个阶段,于2017年10月推出的“拜占庭”是Metropolis的两个硬分叉中的第一个。
    “君士坦丁堡”是Meteopolis阶段的第二部分,计划于2018年推出。
  • 宁静(Serenity)
    以太坊的第四个也是最后一个阶段。Serenity尚未有计划的发布日期。

以太坊特点

  • 以太坊是“世界计算机”,这代表它是一个开源的、全球分布的计算基础设施
  • 执行称为智能合约的程序
  • 使用区块链来同步和存储系统状态以及名为以太币的加密货币,以计量和约束执行资源成本
  • 本质是一个基于交易的状态机
  • 以太坊平台使开发人员能够构建内置经济功能的强大去中心化应用程序;在持续自我正常运行的同时,它还减少或消除了审查,第三方界面和交易对手风险

以太坊的组成部分

  • P2P网络
    以太坊在以太坊主网络上运行,该网络可在TCP端口30303上寻址。
  • 交易
    以太坊交易是网络信息,其中包括发送者,接收者,值和数据的有效载荷。
  • 以太坊虚拟机
    以太坊状态转换由以以太坊虚拟机处理,这是一个执行字节码的基于堆栈的虚拟机。
  • 数据库
    以太坊的区块链作为数据库(通常是Google的LevelDB)本地存储在每个节点上,包含序列化后的交易和系统状态。
  • 客户端
    以太坊有几种可互操作的客户端软件实现,其中最突出的是Go-Ethereum和Parity。

以太坊的重要概念

  • 账户
    包含地址,余额和随机数,以及可选的存储和代码的对象
    -普通账户(EOA),存储和代码均为空
    -合约账户(Contract),包含存储和代码
  • 地址
    一般来说,这代表一个EOA或合约,它可以在区块链上接收或发送交易。更具体来说,它是ECDSA的公钥的keccak散列的最右边的160位。
  • 交易
    -可以发送以太币和信息
    向合约发送的交易可以调用合约代码,并以信息数据为函数参数
    向空用户发送信息,可以自动生成以信息为代码块的合约账户。
  • gas
    以太坊用于执行智能合约的虚拟燃料。以太坊虚拟机使用核算机制来衡量gas的消耗量并限制计算资源的消耗。

以太坊的货币

以太币,可以用ETH或符号“≡”。

  • 挖矿前
    2014年7月/8月间,为众筹大约发行了7200万以太币。这些币有时候被称之为“矿前”。众筹阶段之后,以太币每年的产量基本稳定,被限制不超过7200万的25%。(不设发行上限的原因在于交易需要消耗gas(燃料))
  • 挖矿产出
    ——区块奖励
    没产生一个新区快就会有一笔固定的奖励给矿工,初试是5个以太币,现在逐渐减少。
    ——叔块奖励
    有些区块被挖的稍晚一些,因此不能作为主区块链的组成部分。比特币称这类区块为“孤块”,并且完全舍弃它们。但是,以太币称它们为“叔块”,并且在之后的区块中,可以引用他们。如果叔块在之后的区块链中作为叔叔被引用,每个叔块会为挖矿者产出区块奖励的7/8.
    ——叔块引用奖励
    矿工每引用一个叔块,可以得到区块奖励的1/32作为奖励
  • 以太币产量未来的变化
    以太坊出块机制从工作量证明(POW)转换为股权证明(POS)后,以太币的发行会有什么变化尚未有定论。股权证明机制将使用一个称为Casper的协议。在Casper协议下,以太币的发行率将大大低于目前幽灵(GHOST)协议下的发行率。

“幽灵”(GHOST) 协议

以太坊出块时间:设计为12秒,实际14~15秒左右
快速确认会带来区块的高做费率,由此链的安全性也会降低。

由于比特币的出币速度在十分钟左右,而区块验证通知全网的时间,大概在12秒左右,即使通知全网后立即开始下一区块运算,也仅仅在10分钟的时间中快了十几秒的时间。这就好比马拉松比赛,对于几小时的比赛,抢跑几分钟可能并不能影响整个结果

但由于以太坊的出块速度只有3~6秒,而区块验证通知全网的时间依旧是12秒左右,这就会造成性能好的挖矿机会因抢先运算而导致区块计算的越来越多。而性能差的机器则会永远因为几秒种的差距,永远不能挖到区块。进而浪费了资源。

“幽灵”协议: Greedy Heaviest Observed SubTree,“GHOST”
——计算工作量证明,不仅包括当前区块的祖区块,父区块,还要包括祖先块的作废的后代区块(“叔块”),将他们进行综合考虑。
——目前的协议要求下探到第七层(最早的简版设计是第五层),也就是说,废区块只能以叔区块的身份被其父母的第二代至第七代后辈区块引用,而不能是更远关系的后辈区块。
——以太坊付给“叔区块”身份为新块确认做出贡献的废区块7/8的奖励,把它们纳入计算的“侄子区块”将获得区块奖励的1/32,不过,交易费用不会奖励给叔区块。

去中心化应用

  • 基于以太坊可以创建智能合约来构建去中心化应用
  • 以太坊的构想是成为DApps编程开发的平台
  • DApps至少由以下组成:
    ——区块链上的智能合约
    ——Web前端用户界面

名词解释

  • EIP :Ethereum Improvement Proposals,以太坊改进建议。
  • ERC:Ethereum Request for Comments的缩写,以太坊征求意见。一些EIP被标记为ERC,表示视图定义以太坊使用的特定标准的提议。
  • EOA:External Owned Account,外部账户。由以太坊网络的人类用户创建的账户。
  • Ethash:以太坊1.0的工作量证明算法。
  • HD钱包:使用分层确定性(HD protocol)密钥创建和转账协议(BIP32)的钱包。
  • Keccak256:以太坊中使用的密码哈希函数。Keccak256被标准化为SHA-3
  • Nonce:在密码学中,术语nonce用于指代只能使用一次的值。以太坊使用两种类型的随机数,用户随机数和POW随机数。

猜你喜欢

转载自blog.csdn.net/baldicoot_/article/details/124730972
今日推荐