精通以太坊(一)
September 27th, 2022

     进入web3之后,购买的第一个加密货币就是ETH,想从开发者的视角,从技术的方面对以太坊进行一些深入的了解。《精通以太坊》这本书是一本非常全面的指南,两位作者也是区块链世界中鼎鼎大名的专家,并且Gavin Wood 还是Solidity的发明人和以太坊的联合创始人。

本书在网上已经有开源的中文版本,可以一起学习

第1章 什么是以太坊?

从计算机科学的角度来看,以太坊是一个具备确定性但实际上却没有边际的状态机。它有两个特点:具有一个全球范围可访问的单体状态;还有一个执行状态更改的虚拟机。

从更实际的角度来看:以太坊是一个开源的,去中心化的计算基础架构,可以执行被称为智能合约的程序。它使用区块链同步和保存系统状态,借助以太币这种数字货币来计量并控制程序执行的资源开销。

以太坊与比特币的比较

共同点:一个链接各方的点对点网络、一个同步状态的拜占庭容错共识算法(pow)、数字签名和哈希等密码学原理、数字货币。

不同点:以太坊的主要目的不是成为数字货币的支付网络,而是被设计为通用可编程区块链,他的虚拟机能执行任意和无线复杂的代码,并且以太坊的语言是图灵完备的,而比特币的脚本语言只有对简单的支付条件进行真假判断。以太币的主要目的也是作为一种效用货币来支付以太坊这个“世界计算机”所产生的花费。

以太坊区块链的组件

  • 一个链接各方的点对点网络,传播交易和区块链数据包,运行在以太坊主网上

  • 以交易形式体现的消息,代表状态的转换。包含发送方、接收方、价值和数据荷载

  • 一组共识规则,用于管理构成交易的内容以及实现有效的状态转换

  • 一个状态机,根据共识规则处理交易

  • 一组串联在一起的,加密算法保证其安全的区块:经过哈希处理的数据保存在Merkle Patricia Tree数据结构内

  • 一个共识算法:之前是由pow加权重要性来确定最长链,从而确定状态,现在由pos的加权投票系统决定。

  • 在博弈论上合理的激励方案(pow,pos区块奖励)经济地保护状态机

  • 开源软件实现(”客户端“):最广泛的是GethParity

以太坊的四个开发阶段

以太坊开发计划分为四个阶段,每个阶段以”硬分叉“的方式发布,也意味着这次发布所做出的改变将无法向后兼容之前的旧版本。这四个阶段分别为 FrontierHomesteadMetropolisSerenity

以太坊和图灵完备

以太坊能够执行存储在区块链上的程序的能力,是由EVM状态机完成的。能从存储中读取和写入数据让这个状态机成为图灵完备的系统,满足通用图灵计算机的定义,在给定无限内存情况下,以太坊可以计算任何图灵机可以计算的算法。但是根据图灵的理论,真正运行合约之前,以太坊无法预先判断一个合约是否会进行终止,有可能会造成节点资源的浪费。于是以太坊引入了gas的计量机制。EVM执行智能合约时,会仔细计算每一个执行指令的开销,以gas为单位,并且每个交易必须包含交易所需要的开销上限。如果gas超过上限则EVM会中指当前合约执行。

web3浪潮

web3首先由Gavin Wood 提出,代表从集中化和统一管理的应用,到构建与去中心化协议之上的应用。

为什么要学习以太坊?

以太坊让区块链的学习曲线变得不那么陡峭,可以快速上手,也是我们了解区块链的一个优秀的平台。

Subscribe to WODECHE
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from WODECHE

Skeleton

Skeleton

Skeleton