「以太坊」以太坊基础——组成以太坊的原子元素

原创 岛屿云烟  |  文章来源:币圈达人发布时间:2020-05-24 01:23  阅读 121 次 评论 0 条
众人帮 趣闲赚 牛帮
摘要:

欢迎来到关于加密货币主题的下一个系列。作为市场资本化的第二大货币,以太币(一种货币,以及以太币背后的以太坊组织)是加密货币领域的一个引人入胜的发展。在从比特币的优缺点中吸取教训之后,以太坊的主要目标并不是提供另一种加密货币,而是以一种去中心

欢迎来到关于加密货币主题的下一个系列。作为市场资本化的第二大货币,以太币(一种货币,以及以太币背后的以太坊组织)是加密货币领域的一个引人入胜的发展。在从比特币的优缺点中吸取教训之后,以太坊的主要目标并不是提供另一种加密货币,而是以一种去中心化的方式交换资金。

相反,以太坊表达的意图是“创建用于构建去中心化应用程序的替代协议”,在此基础上使用以太币来完成交易。虽然以太坊已经存在了近5年,所以现在还没有那么令人震惊,但在当时,人们对比特币的语义优势的看法发生了彻底的转变——加密货币是用于货币交换的,仅此而已?

以太坊的历史

以太坊的创始人维塔利克·比特林(Vitalik Buterin)是一名程序员,也是《比特币》杂志的联合创始人。他一直坚持比特币需要包含某种脚本语言,这样他就可以使用区块链来开发应用程序。他的建议似乎没有取得任何进展,所以他决定建立自己的系统。在众筹活动中,Vitalik的开发者团队和众多支持者购买了以太币,最终在2015年7月,以太坊正式发布,实现了Vitalik的梦想。

好了,这就是以太坊的历史和目的,这也为我们接下来的旅程提供了基础的背景知识。在本文和后续文章中,我们计划探索我们所了解和使用(或投资)的加密货币背后的基本概念。以太坊拥有丰富的信息,可以为大量的此类研究提供信息。

以太坊的基石

让我们从以太坊的构建模块开始。以太坊最基本的状态是由被称为“账户”的对象组成的。帐户通过其20字节的地址来引用。要使以太坊状态的转换发生变化,必须在帐户之间直接转移值或信息。

帐户本身包含四个不同的字段:

1. 随机数是“A numberused once”的混搭。这是一个计数器,以确保每个交易只处理一次。

2. 该帐户包含任意时间的以太币余额(在下面讨论)。

3. 如果这是一个合约帐户(下面还讨论了两种类型的帐户之一),该帐户将具有合约代码,并且该代码在激活时会执行某种操作。

4. 该帐户默认包含一个空的存储量,但可以根据需要填充。

如果你对加密货币世界有任何先验知识,我敢肯定你知道以太币——以太坊的数字货币。以太币负责支付以太坊生态系统中的交易费用。但是,您可能不知道以太坊实际上包含两种不同的帐户类型:

外部拥有的帐户-这些不包含任何代码。相反,它们只是通过创建和签署交易来发送消息。

合约帐户——这些帐户包含可能与内部存储交互、发送消息甚至创建其他合约的代码。

合约

在我们继续之前,了解以太坊使用术语“合约”的方式是非常重要的。从这个意义上说,“合约”并不是指双方之间有约束力的协议;相反,以太坊建议将这些合约视为自主代理,在消息或交易触发时执行代码,并跟踪它们自己的内部信息。如果您曾经编写过软件,那么您可能遇到过基于事件的编程或回调函数——这基本上类似于合约的行为方式。

账户

好了,快速回顾一下,因为这些信息可能比较密集(但是非常值得学习!)。以太坊是一个主要致力于构建去中心化应用程序(dapps)的加密平台。以太坊中有许多帐号,它们包含信息,并使用以太坊的加密货币“以太币”进行交互。很好,所以我们知道了以太坊是什么,它是由什么组成的,以及如何付款——但是帐户如何与其他帐户交互呢?当然,以太币是用来支付交易的,但什么是交易呢?

让我们从一开始就直接获取我们的术语——以太坊具有可以在帐户之间发送的交易和消息。具体来说,当消息在合约之间传输时,交易从外部拥有的帐户发送。

交易由上图中显示的字段组成。

· 每个交易都有一个接收者。

· 它还包括一个标识发送方的签名。

· 发送方包括要发送给接收方的特定数量的以太币。

· 它包括一个可选的数据字段来以防万一(但不需要使用它)。

· STARTGAS的值(在下一段中讨论)

· GASPRICE的价值(在下一段中讨论)

前三个字段对于任何类型的正常货币转账都是很容易理解的——一个指定的一方向另一个指定的一方发送特定数量的货币。可以使用可选数据字段,但通常为空白。

交易费用

STARTGAS和GASPRICE是以太坊非常独特的术语。互联网上的任何这种规模的系统都必须为某种类型的拒绝服务攻击做好准备。这些价值被用来减轻这种威胁。以太坊的单个计算步骤消耗1个GAS(其中GAS是计算的基本单位)。STARTGAS值限制了允许交易执行的计算步骤的总数。

从本质上讲,这有助于限制拒绝服务攻击,因为采矿者事先就知道一轮特定的验证需要多长时间,如果要求的步骤过多,还会提前发出警告。GAS价格表示发送方为每个计算步骤支付的费用。每个字节的交易数据通常需要5个GAS为每个字节传输。综合这些,我们得知总交易费用是STARTGAS * GASPRICE,并会在交易发生之前从帐户余额中减去。这些都限制了潜在攻击者通过对网络上的每个交易使用不断增加的以太币所造成的损害。

从本质上讲,攻击者可以发起大型攻击,但是代价非常高,并且自然受到限制。

这是一笔交易。这是以太坊内部网络通信的两种类型之一。什么是消息?

消息

· 消息由上图中显示的字段组成。

· 每个消息都有一个隐式的发送方和接收方。

· 要随消息一起发送的以太币的数量。

· 可选数据字段只是以防万一(但不必使用它)。

STARTGAS的值。

显然,上面的字段与交易中的字段稍有不同,但是作为对象的消息和交易基本上是相同的。最大的区别:通信方——消息由合约产生,而交易由外部参与者产生。在合约代码的执行过程中,调用操作码用于生成消息。此信息传递给接收者的方式与从外部参与者发起的交易传递给接收者的方式非常类似。

是什么GAS

让我们再多讨论一下GAS是如何工作的。这里的想法有点类似于比特币交易市场。如果您想首先验证您的特定块,您需要付出更高的代价。以太坊网络中的矿工受到了与比特币类似的激励——为特定的操作支付更多的GAS,你可能会更快地完成交易。

如果你不着急,你可以支付少量的GAS,直到矿工愿意接受你的交易。对于每一个由采矿者验证的交易块,都存在一个GAS块限制,即一个特定块只能包含特定多的计算。采矿者会开出一个快速的GAS价格,这将确保你的交易被推到网络队列的最前面,从而获得更高的价格;如果你有时间,你也可以付一个安全的低价。标准GAS价格表示当前网络上的平均GAS价格。

以太坊概述

唷,我们挺过来了。这些是以太坊的基本元素。在下一篇文章中,我们将更多地讨论以太坊的功能,即状态转换函数和智能合约中的代码执行。还有很多东西需要深入研究,所以请继续关注我们对以太坊的研究。

历史上的今天:

本文地址:https://www.u5881.com/6091.html
版权声明:本站推荐的部分活动具有时效性,老淘本人并不能保证当您看到本文时,该项活动是否仍在继续。

发表评论


表情