以太坊架构是怎么样的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太坊架构是怎么样的?相关的知识,希望对你有一定的参考价值。

以太坊是一个平台,它上面提供各种模块让用户来搭建应用,如果将搭建应用比作造房子,那么以太坊就提供了墙面、屋顶、地板等模块,用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。具体来说,以太坊通过一套图灵完备的脚本语言(EthereumVirtual Machinecode,简称EVM语言)来建立应用,它类似于汇编语言,我们知道,直接用汇编语言编程是非常痛苦的,但以太坊里的编程并不需要直接使用EVM语言,而是类似C语言、Python、Lisp等高级语言,再通过编译器转成EVM语言很高兴能为你提供帮助 参考技术A 以太坊的设计主要还是以比特币架构为基础。以太坊的设计是将区块链作为一个通用的管理对象状态转换的去中心化平台,账户就是有状态的对象。每个以太坊的外部所有账户由一对密钥定义,一个是私钥,一个是公钥。以太坊的状态包含一个键值表(key-value map),其中键是地址,值是账户里声明的变量,包括余额、随机数(nonce)、代码和账户的存储(存储也以一棵树的形式来组织)。 参考技术B 以太坊最上层的是DApp。它通过Web3.js和智能合约层进行交换。所有的智能合约都运行在EVM(以太坊虚拟机)上,并会用到RPC的调用。在EVM和RPC下面是以太坊的四大核心内容,包括:blockChain, 共识算法,挖矿以及网络层。除了DApp外,其他的所有部分都在以太坊的客户端里,目前最流行的以太坊客户端就是Geth(Go-Ethereum) 参考技术C 以太坊构架意识就是区域块链6层构架。分别是:数据层,网络层,共识层,激励层,合约层,应用层。这是用来开发P2P平台,和挖矿机了。你问这个干嘛?做挖矿机吗? 参考技术D 以太坊是一个平台,它上面提供各种模块让用户来搭建应用,如果将搭建应用比作造房子,那么以太坊就提供了墙面、屋顶、地板等模块,用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。具体来说,以太坊通过一套图灵完备的脚本语言(EthereumVirtual Machinecode,简称EVM语言)来建立应用,它类似于汇编语言,我们知道,直接用汇编语言编程是非常痛苦的,但以太坊里的编程并不需要直接使用EVM语言,而是类似C语言、Python、Lisp等高级语言,再通过编译器转成EVM语言。上面所说的平台之上的应用,其实就是合约,这是以太坊的核心。合约是一个活在以太坊系统里的自动代理人,他有一个自己的以太币地址,当用户向合约的地址里发送一笔交易后,该合约就被激活,然后根据交易中的额外信息,合约会运行自身的代码,最后返回一个结果,这个结果可能是从合约的地址发出另外一笔交易。需要指出的是,以太坊中的交易,不单只是发送以太币而已,它还可以嵌入相当多的额外信息。如果一笔交易是发送给合约的,那么这些信息就非常重要,因为合约将根据这些信息来完成自身的业务逻辑。合约所能提供的业务,几乎是无穷无尽的,它的边界就是你的想象力,因为图灵完备的语言提供了完整的自由度,让用户搭建各种应用。白皮书举了几个例子,如储蓄账户、用户自定义的子货币等。目前可以交易以太坊的交易所主要有:币安、火币、比特网等。

以上是关于以太坊架构是怎么样的?的主要内容,如果未能解决你的问题,请参考以下文章

针对网站漏洞怎么修复区块链漏洞之以太坊

以太坊是啥丨以太坊开发入门指南

什么是以太币/以太坊ETH?

以太坊合约地址错误是怎么回事

ETH以太坊怎样进行一键发币?

以太坊钱包 Trust项目解读之架构和流程