以太坊是什么?以太坊是如何运作的?
以太坊是什么?以太坊是一个开放的区块链平台,任何人都可以在其上构建和使用基于区块链技术的分布式应用程序。以太坊和比特币一样,不受任何人控制,也不属于任何人。是很多人开发的开源项目。。但与比特币协议不同,以太坊的设计具有适应性和灵活性。在以太坊的平台上很容易创建新的应用。随着Homestead版本的发布,任何人都可以安全地使用这些应用程序。
下一代区块链
区块链技术是比特币的技术基础,由神秘作者中本聪于2008年在白皮书《比特币:P2P电子现金系统》中首次提出。。尽管最初的论文已经讨论了区块链的更广泛应用,但是直到几年后,区块链技术才成为一个通用术语。区块链是一种分布式计算架构。每个网络节点执行并记录相同的事务信息,并将结果打包到一个块中。。同一时间只能添加一个块,每个块包含前一个块计算的数学证明。这样,全网的块数据库就一致了。个人用户通过强大的加密技术与账簿进行交互。。网络通过奖励机制促进各节点的维护和验证行为。
在比特币中,分布式数据库被设计为账户余额表,或称为账本,个人通过比特令牌的转移进行交易。。后来,比特币开始受到越来越多开发者和技术专家的关注。小项目利用比特币网络实现代币转账以外的目的。在此基础上,对原有的比特币协议进行了改进,增加了更多新的特性和能力。2013年底,以太坊的创始人VitalikButerin提出,在区块链的上层添加可编程的功能,可以用来构建许多其他项目。
2014年,以太坊创始人VitalikButerin。GavinWood和JeffreyWilcke雄心勃勃地要实现下一代区块链技术和一个图灵完全智能合约平台。
以太坊虚拟机
以太坊是一个可编程的区块链。以太坊不是为表达式提供一套预设的操作(比如比特币交易),而是允许用户创建任何复杂度的操作。这样,区块链就成为一个分布式应用的平台,可以实现但不限于加密货币。狭义的
以太坊是一个可以实现分布式应用的平台协议。它的核心是以太坊虚拟机(EVM),可以执行任何复杂的算法。在计算机科学中,以太坊是图灵完备的。。开发人员可以使用现有语言(如Javascript和Python)轻松创建在EVM上运行的应用程序。
和其他区块链一样,以太坊也包含了一套P2P协议。以太坊区块链的数据由网络上的节点维护和更新。网络上的每个节点都在运行EVM并执行相同的指令。由于这个原因,以太坊经常被描述为"世界计算机"。
以太坊网络大规模并行计算不是为了更高效的计算。事实上,这个过程使得计算速度不如传统计算高效。另一方面,以太坊中的每个节点都运行着EVM,以保持整个区块链的共识。。去中心化的共识机制赋予以太坊极高的容错能力,确保零宕机,使存储在区块链中的数据永远不可更改、可审计。
以太坊平台本身毫无特色或者毫无价值。类似于编程语言如何使用由企业和开发者决定。然而,很明显,某些类型的应用程序可以从以太坊的平台中受益更多。具体来说,以太坊更适合自动化对等体之间的直接交互或通过网络进行协调的应用。比如p2p的市场应用或者复杂金融合同的自动化。比特币允许个人在没有银行、金融机构或政府等第三方担保的情况下兑换现金。以太坊的影响可能更深远。理论上可以在以太坊上运行代码。,自动可靠地执行任何复杂的金融交互或交换。金融方面,任何依赖于信任、安全和永久的场景,都会受到以太坊这个平台的巨大冲击。
以太坊是如何运作的?
以太坊集成了很多比特币用户熟悉的功能和技术,同时引入了很多自己的修改和创新。
比特币区块链是一个纯交易列表,以太坊的基本单位是一个账户。以太坊区块链跟踪每个账户的状态。每个区块链状态转换都是帐户之间的价值和信息交换。以太坊包含两种账户:
外部拥有的账户,
由私钥控制。合同账户,由合同代码控制,只能由外部账户激活
对于大多数用户来说,它们之间的基本区别是用户控制EOA。因为他们可以控制控制EOA的私钥。另一方面,合同账户由内部代码管理。如果他们是"受控"对于人类用户来说,这是因为他们被编程为由具有特定地址的EOA来控制,而该地址又由持有控制EOA的私钥的人来控制。。流行术语"智能合同"指合约账户中的代码——3354,是交易发送到账户时执行的程序。用户可以通过将代码部署到区块链来创建新合同。
合约账户只有在EOA的指示下才能操作。因此,合约账户不能执行随机数生成或API调用等本地操作,这些操作只能在EOA提示下执行。这是因为以太坊需要节点对计算结果达成一致,这就需要严格的确定性执行的保证。
像比特币。用户必须向网络支付少量交易费。这可以保护以太坊区块链免受恶意计算任务的攻击,如DDoS攻击或无限循环。交易的发送者必须为"程序"它们激活,包括计算和记忆存储。。这些费用以邰方当地货币支付。
这些交易费用由认证网络的节点收集。这些"矿工"是以太网中接收、传播、验证和执行交易的节点。然后矿工分组这些交易(账户状态更新包含在"以太坊街区")变成所谓的"块",然后矿工们会互相竞争计算,争取成为下一个加入区块链的区块。通过计算每个成功的区块,矿工可以获得以太坊奖励。。这为人们提供了经济激励,并鼓励人们将硬件和电力投入以太网。
在比特币网络中,矿工的任务是解决复杂的数学问题,以成功"我的块,这叫做"工作量证明"。。任何计算问题,如果计算所需的资源比验证结果所需的资源多几个数量级,就是很好的工作量证明算法。为了防止由于使用特殊硬件(如ASIC)而导致的计算集中化,如比特币网络中所发生的情况。,以太坊选择了内存饥饿算法。如果内存像CPU一样成为计算资源,那么一台普通的计算机就被称为最理想的硬件。这使得以太坊的工作量被证明是抗ASIC的。这样,更多的分布式计算在硬件集中上比区块链(如比特币)更安全。