浅谈Ethereum|猿创征文

fantongl 2022-06-23 16:51:49

浅谈Ethereum|猿创征文

  • 1. 什么是Ethereum
  • 2. 为什么会出现Ethereum
  • 3. Ethereum的设计原则
  • 3.1. 简洁原则
  • 3.2. 通用原则
  • 3.3. 模块化原则
  • 3.4. 无歧视原则
  • 4. Ethereum的核心
  • 4.1. 智能合约
  • 4.2. EVM


1. 什么是Ethereum

        Ethereum(中文名:以太坊)其是由 Vitalik Buterin 搞出来的,是一种允许智能合约去中心化应用程序(DAPP)在其网络上运行的加密货币。像比特币一样,以太坊是开源的,并由来自全世界的支持者们共同维护。

img

2. 为什么会出现Ethereum

        比特币开创了去中心化密码货币的先河,五年多的时间充分检验了区块链技术的可行性和安全性。比特币的区块链事实上是一套分布式的数据库,如果再在其中加进一个符号——比特币,并规定一套协议使得这个符号可以在数据库上安全地转移,并且无需信任第三方,这些特征的组合完美地构造了一个货币传输体系——比特币网络。
        然而比特币并不完美,其中协议的扩展性是一项不足,例如比特币网络里只有一种符号——比特币,用户无法自定义另外的符号,这些符号可以是代表公司的股票,或者是债务凭证等,这就损失了一些功能。另外,比特币协议里使用了一套基于堆栈的脚本语言,这语言虽然具有一定灵活性,使得像多重签名这样的功能得以实现,然而却不足以构建更高级的应用,例如去中心化交易所等。以太坊从设计上就是为了解决比特币扩展性不足的问题。

img

3. Ethereum的设计原则

3.1. 简洁原则

        以太坊协议将尽可能简单,即便以某些数据存储和时间上的低效为代价。一个普通的程序员也能够完美地去实现完整的开发说明。这将最终有助于降低任何特殊个人或精英团体可能对协议的影响并且推进以太坊作为对所有人开放的协议的应用前景。添加复杂性的优化将不会被接受,除非它们提供了非常根本性的益处。

3.2. 通用原则

        没有“特性”是以太坊设计哲学中的一个根本性部分。取而代之的是,以太坊提供了一个内部的图灵完备的脚本语言以供用户来构建任何可以精确定义的智能合约或交易类型。想建立一个全规模的守护程序(Daemon)或天网(Skynet),你可能需要几千个联锁合约并且确定慷慨地喂养它们,一切皆有可能。

3.3. 模块化原则

        以太坊的不同部分应被设计为尽可能模块化的和可分的。开发过程中,应该能够容易地让在协议某处做一个小改动的同时应用层却可以不加改动地继续正常运行。以太坊开发应该最大程度地做好这些事情以助益于整个加密货币生态系统,而不仅是自身。

3.4. 无歧视原则

        协议不应主动地试图限制或阻碍特定的类目或用法,协议中的所有监管机制都应被设计为直接监管危害,不应试图反对特定的不受欢迎的应用。人们甚至可以在以太坊之上运行一个无限循环脚本,只要他愿意为其支付按计算步骤计算的交易费用

4. Ethereum的核心

        以太坊是一个平台,它上面提供各种模块让用户来搭建应用,如果将搭建应用比作造房子,那么以太坊就提供了墙面、屋顶、地板等模块,用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。具体来说,以太坊通过一套图灵完备的脚本语言(Ethereum Virtual Machinecode,简称EVM语言)来建立应用。

img

4.1. 智能合约

        上面所说的平台之上的应用,其实就是合约,这是以太坊的核心。合约是一个活在以太坊系统里的自动代理人,他有一个自己的以太币地址,当用户向合约的地址里发送一笔交易后,该合约就被激活,然后根据交易中的额外信息,合约会运行自身的代码,最后返回一个结果,这个结果可能是从合约的地址发出另外一笔交易。需要指出的是,以太坊中的交易,不单只是发送以太币而已,它还可以嵌入相当多的额外信息。如果一笔交易是发送给合约的,那么这些信息就非常重要,因为合约将根据这些信息来完成自身的业务逻辑。其优势如下:

  • 数字化:无需印刷或邮寄纸张,便于分享。
  • 自主性:省去中间人,无需反复来回。
  • 可信度:智能合同上的信息被加密并备份在一个共享账簿中。
  • 安全性:加密技术可以让合同信息难以被窃。
  • 速度快:自动执行,使智能合约速度更快。
  • 低成本:节省纸张费用、律师费等等。

        合约所能提供的业务,几乎是无穷无尽的,它的边界就是你的想象力,因为图灵完备的语言提供了完整的自由度,让用户搭建各种应用。白皮书举了几个例子,如储蓄账户、用户自定义的子货币等。

4.2. EVM

        以太坊虚拟机,顾名思义就是以太坊的虚拟机。需要注意的是,比特币区块链里是没有虚拟机的。因为比特币的核心功能是分布式存储数据,我们可以在这个网络里记录、验证、存储及复制交易数据。以太坊则是去中心化的“世界计算机”,开发者们还可以在这个操作系统上构建去中心应用程序,这就意味着以太坊不仅要能够分布式数据存储,还需要计算、运行代码、沟通交流等。
        区别于比特币区块链,以太坊最关键的点在于加入了智能合约为保持智能合约运行结果的准确性以及安全性,因此智能合约的运行环境就显得至关重要。为此,Vitalik和Gavin Wood设计了以太坊虚拟机。以太坊上的节点可以下载以太坊客户端,在他们自己的计算机上通过以太坊虚拟机这个虚拟的操作系统来运行,这样能更好地解决节点的系统差异,更好地实现智能合约的结果。用一句话总结,以太坊虚拟机就是智能合约的运行环境。以太坊虚拟机运行在沙盒环境中,智能合约代码可在以太坊虚拟机内部运行并对外完全隔离。同时以太坊虚拟机又能与主网的其余部分隔离,运行时不影响主区块链的操作。

img

...全文
171 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

棒!记得把标题和链接添加到评论区哈~https://bbs.csdn.net/topics/607041278

  • 打赏
  • 举报
回复
发帖
Ethereum中文社区
加入

171

社区成员

这里是由区块链、以太坊、Web3.0、元宇宙等相关技术组成的国内最大的开发者聚集地,帮助社区成员快速获得更全面、更深度的技术信息,链接更多资源,让开发者更好地入门学习、成长与应用实践。
社区管理员
  • ETHPlanet
  • 活动助手
帖子事件
编辑了帖子
2022-06-24 19:46
编辑了帖子 (查看)
2022-06-24 16:17
创建了帖子 (查看)
2022-06-23 16:51
社区公告

Hi,欢迎加入我们!

 

在这里你可以:

  • 获取最官方最新最全的区块链、以太坊、Web3.0学习内容与资源
  • 获取行业内更有价值的研讨会、公开课资源,或参与社区发起的主题活动课程
  • 获得专业的以太坊、区块链、Web3.0相关技术资深专家/讲师的回复或指导,突破学习瓶颈
  • 进行学习打卡、提问或回答问题,提高个人或在社区的影响力,将有机会与各大技术官方深度合作
  • 参与丰富的社区活动,获得更多学习资源、行业资源等
  • 结识更多行业伙伴,参与线上/线下课程、交流会,拓展行业交流圈

 

【最新活动】:

1、6月1日21:00-21:30,DappLearning Infura AMA(线上)点击查看详情