《精通以太坊——实现数字合约笔记》第一章 什么是以太坊

0x00 前言

当前日期:2019年10月22日,今天是拿到这本书的第一天,虽然整理了很多资料,但是都是断断续续的感觉自己又没有很深入,这一次希望可以将这本书的知识吃透一点。

0x01 基础笔记

1.什么是以太坊

根据书里的见解说,就是一个开源的全球的去中心化计算架构,执行称为智能合约的程序,使用区块链来同步和存储系统状态,以及称为ether的加密货币来计量和约束执行资源成本。

2.与比特币的比较

以太坊和区块链共享的通用元素:

  • 连接参与者的对等网络
  • 用于状态同步的共识算法
  • 数字货币
  • 全局账本

2.1 区块链的组件

  • 连接参与者,并船舶交易和包含已验证交易的区块的点对点网络,基于标准的gossip协议
  • 状态机中实现的一系列共识规则
  • 消息,以交易的形式表示,代表状态转移
  • 根据共识规则处理交易的状态机
  • 分布式数据库、区块链、记录所有状态转移的日志
  • 共识算法
  • 一个或多个开源软件的实现

PS:
gossip协议是一种用于分布式的信息传播节点。

判断一个东西是不是区块链其实就是判断

  1. 组件是否完整
  2. 是不是开源的
  3. 是不是公开的

3. 以太坊的开发

以太坊被设计成一个通用可编程区块链,运行一个虚拟机,能够执行任意和无限复杂的代码。
以太坊是具备图灵完善的,可以与运行任何计算。

4.以太坊的诞生

诞生过程,最后的结果,就是以太坊成为了一个大型的手机,而智能合约就是运行在其上的app。

5.以太坊开发的四个阶段

  1. 前言
  2. 家园
  3. 大都会
  4. 宁静

Block #0
“Frontier” - 以太坊的初始阶段, 从2015年7月30日持续到2016年3月。

Block #200,000
“Ice Age” - 引入指数级难度增长的一个难题,激励了到权益证明的过渡。

Block #1,150,000
“Homestead” - 以太坊的第二阶段,2016年3月启动。

Block #1,192,000
“DAO” - 恢复被破坏的DAO合约的硬分叉,导致以太坊和以太坊经典分成两个竞争系统。

Block #2,463,000
“Tangerine Whistle” - 改变某些IO密集操作的燃气计算方法和清除拒绝服务攻击(利用这些操作的低燃气成本)累积状态的硬分叉。

Block #2,675,000
“Spurious Dragon” - 解决更多拒绝服务攻击向量和另一种状态清除的硬分叉,还包括转播攻击保护机制。

当前状态
我们目前位于_Metropolis_阶段,该阶段计划为两个次级版本的硬分叉 (参见 [hard_fork]) ,代号 Byzantium 我 Constantinople。拜占庭于2017年10月生效,君士坦丁堡预计将在2018年中期。

Block #4,370,000
“大都会拜占庭” - 大都会是以太坊的第三阶段,正是撰写本书的时间,于2017年10月启动。拜占庭是Metropolis的两个硬分叉中的第一个。

未来的计划
在大都会拜占庭硬分叉之后,大都会还有一个硬分叉计划。大都会之后是以太坊部署的最后阶段,代号为Serenity。

Constantinople

  • 大都会阶段的第二部分,计划在2018年中期。预计将包括切换到混合的工作证明/权益证明共识算法,以及其他变更。

Serenity
以太坊的第四个也是最后一个阶段。宁静尚未有计划的发布日期。

6.以太坊:通用的区块链

比特币可以被当做一个分布式共识状态机。
PS:
状态机是关于状态的一种机器,其由状态变量以及状态命令组成
https://www.jianshu.com/p/542262237d55
以太坊=跟踪任何状态并对状态机进行编程。

7.以太坊的组件

  • p2p NetWork 以太坊在以太坊网上运行,可以通过TCP端口30303访问。
  • Consensus rules 以太坊的共识规则
  • Transactions Ethereum交易,网络消息,包括发送者,接收者,值和数据负载等。
  • State Machine EVM虚拟机
  • Blockchain database
  • Consensus Algorithm 共识算法
  • Clients 客户端。

简单的说就是

  1. 网络
  2. 共识规则
  3. 交易
  4. evm
  5. database
  6. 共识算法
  7. 客户端

8.以太坊和图灵完整性

以太坊可以计算任何图灵机可以计算的算法。

图灵证明提出:以太坊在没有实际运行时,无法预测是否结束。

为了防止这个问题,以太坊提出了使用gas来控制智能合约的数量。

9.从通用区块链到去中心化应用

Dapp是一个基于开放的,去中心化的,点对点基础架构服务的Web应用程序。

Dapp包含的内容:

  • 区块链上的智能合约
  • web前端用户界面

Tip:
你可能会看到DApps拼写为 ÐApps. Ð 字符是拉丁字符,称为“ETH”,暗指以太坊。“ETH”, 要显示此字符,请在HTML中使用十进制实体 #208,并使用Unicode字符 0xCE(UTF-8)或 0x00D0(UTF-16)。

0x02 需要记忆的笔记

1.什么是以太坊

去中心化的系统,可以执行智能合约程序,使用区块链同步状态,ether作为加密货币以及约束条件。

2.以太坊具有图灵完备

凡是图灵机可以完成的计算以太坊也可以完成。

3.什么是Dapp

Dapp就是一个基于以太坊的Web应用程序。包含智能合约和web端界面。

4.以太坊的组件

  • p2p网络
  • 共识机制
  • 交易
  • evm
  • 数据存储
  • 共识算法
  • 客户端

你可能感兴趣的:(《精通以太坊——实现数字合约笔记》第一章 什么是以太坊)