木星链 木星链
Ctrl+D收藏木星链

以太坊:以太坊上新的事务类型:EIP-2718 简介

作者:

时间:1900/1/1 0:00:00

以太坊采用不同的事务类型来定义不同的操作,例如,将以太币发送至某个地址、部署合约等等。

在最近的柏林升级之前,以太坊主要有 4 种不同的事务 “类型”:

带有收款方地址、数据字段的常规事务

不带有收款方地址的合约部署事务,其数据字段填写的是合约代码

签名?v?值不含链 ID 的事务(EIP155 实行之前)

签名?v?值含有链 ID 的事务

上述事务类型都采用相同的格式。不同的以太坊客户端、库和其它工具必须分析每个事务来判断它属于哪个类型。这四种不同的事务类型引入了很多复杂的情况。我们需要查看事务的所有字段来判断其所属类型。这是人们在提议新的事务类型(如元事务、多签事务等)时不得不面对的重大难题,直到 EIP 2718 出现才打破这一困境。

以太坊现在有了新的事务标准 Typed Transaction Envelope(类型化事务封套),由?EIP 2718?的提议者?Micah Zoltu?定义。该标准为以太坊上的一些新功能和即将开发的功能奠定了基础。在本文中,我们将回顾柏林升级引入的一些标准以及未来有可能引入的其它标准。

数据:以太坊2.0合约质押量突破640万枚:自2020年12月1日推出以来,以太坊2.0验证者数量首次突破20万,ETH合约质押量突破640万枚,目前市场价值约135亿美元。[2021/7/26 1:14:56]

过去,以太坊的事务都采用同一种格式。每个以太坊事务都有 6 个字段:nonce、gasprice、gaslimit、to address、value、data、v、r 和 s。这些字段需要经过?RLP 编码,如下所示:

RLP([nonce,?gasPrice,?gasLimit,?to,?value,?data,?v,?r,?s])EIP 2718?为类型化事务定义了一种新的通用封套。在新的标准下,事务如下所示:

TransactionType?||?TransactionPayload上述字段的定义是:

TransactionType:0至0x7f范围内的某个值,最多可代表 128 种事务类型。

TransactionPayload:由事务类型定义的任意一个字节数组。

将上述字段连接(合并)起来,即可得到一个类型化事务。EIP 2718?没有为事务的有效负载定义格式。因此,事务的有效负载可以是任意一段经过编码的字节序列,只要采用符合新的事务类型(如 RLP、SSZ?等)定义的编码器即可。之所以选择简单的字节相连方式,是因为读取字节数组的第一个字节非常简单,无需使用任何库或工具。也就是说,你不需要使用 RLP 或 SSZ 解析器来判断事务类型。

动态 | Codebase Ventures子公司测试以太坊游戏加密猫:金色财经报道,Codebase Ventures区块链子公司Arcology正在其区块链网络上测试基于以太坊的游戏CryptoKitties(加密猫)。由于交易量大,该游戏可能会造成严重的网络拥堵。Arcology提供了一个允许并行处理多笔交易的解决方案,可以根据可用的计算机数量线性扩大交易处理。[2020/2/20]

这个方法可以避免新的 EIP 在引入新的事务类型时增加现有事务格式的复杂性,并让不同的以太坊工具(客户端、库)更容易区分不同的事务。

在增加复杂性这一点上,EIP-155?就是一个很好的例子。它通过在事务中引入链 ID 来实现重放攻击保护。由于在事务参数中增加新的字段会破坏向后兼容性,链 ID 被编码进了事务签名的恢复参数(v),就像我在上一篇关于数字签名的文章中解释的那样。实行 EIP 2718 后,我们可以在不影响向后兼容性的情况下定义新的事务类型。

EIP 2718 的一大特点就是向后兼容。EIP 2718 是完全向后兼容的。也就是说,现有的工具、库、(硬件)钱包和事务都是开箱即用的,但是它们无法使用 EIP 2718(以及采用 EIP 2718 的标准)提供的新 “功能”。以太坊网络上的新事务依然可以使用旧的事务格式(即,传统事务)。

动态 | 数据显示:基于以太坊的代币指数BETI在2019年的表现优于BTC:据LongHash分析,过去几周,比特币在加密资产市场的主导地位日益增强,而在过去一个月比特币价格上涨期间,165种加密货币中有127种出现了负回报。 但建立在以太坊之上的代币表现要好得多。基于以太币的代币指数Bletchley Ethereum Token Index(BETI)一直在上升,其今年表现已经超过了BTC。TRX和BNB目前合计占BETI加权指数的一半以上,这两种代币在今年表现尤为出色,其波动也对BETI的盈利能力有产生了巨大影响。 但值得注意的是,BNB和TRX已发布了自己的区块链,且币安链和Tron是以太坊的直接竞争对手。因此,今年BETI的相对成功可能仅仅是因为以太坊是在特定时间点推出新代币的首选平台。在另一只指数Bletchley Ethereum Token Even Index中(所有ERC-20代币的权重都是平均的),以太坊代币今年对BTC实际上下跌了近16%。[2019/5/25]

新的事务类型最多可达0x7f种。选择这一上限是为了保证向后兼容传统事务。经过 RLP 编码的事务的第一个字节始终大于或等于0xc0,因此类型化事务永远不会与传统事务产生冲突,而且类型化事务和传统事务之间可以通过第一个字节来区分。

精选 | 以太坊协议升级敲定 10月9号开始减产:在刚刚结束的核心开发者会议中,开发者决定在区块高度4200000的时候进行升级,大约是10月9号中午。所有主要的客户端都已经完成君士坦丁堡的部署,只需等待最后一步,即将以太坊发行率降低33%,从每个区块3eth减少到2eth。[2018/9/29]

EIP 2718 本身并未定义任何事务类型,不过已经出现了一些采用这一新标准的 EIP :

EIP 1559:改革 ETH 1.0 链的交易费市场。你肯定听说过这个 EIP。

EIP 2711:代付事务、限期事务和批量事务。这个 EIP 同样由Micah Zoltu 提出,EIP-2718 中定义的标准就是为此创建的。

EIP 2930:可选访问列表。

我们将在下文详细解释其中一些标准。

新的事务类型可以实现原本需要借助于 Solidity 合约或第三方解决方案的功能集成。以限期事务为例。在现有解决方案中,你可以将资金发送至 Solidity 合约,签署一个事务并将其发送到专门的节点,让该事务获得额外的参数(例如,有效期)。然后,该节点会处理该事务,确保它在有效期之前执行,否则该事务不会被广播。一些 dApp 和合约(如 Uniswap)内置该功能,但是对于大多数事务而言很难实现。

行情 | 以太坊未确认交易65140笔:根据公开数据显示,目前以太坊的网络未确认交易笔数为65140笔,与昨日相比网络拥堵情况得到大幅缓解,但网络拥堵仍较为严重。[2018/9/2]

EIP 2711 可以将该功能添加到以太坊网络上,同时保证向后兼容传统事务(正如上文所述),而且无需使用智能合约或专门的节点。但是,EIP 2711 目前还是草案,我们还无法确定它近期是否会在以太坊网络上实行。EIP 2711 也有可能被拆分成几个小的 EIP(如?EIP 3074)。

在 EIP 1559 中,gas 的运作方式发生了巨大变化:gas 会被部分销毁,不再全部支付给矿工。本文不会具体阐述 EIP 1559 的所有变化,但是 EIP 1559 确实提出了一种新的事务格式:

0x02?||?RLP([chainId,?nonce,?maxPriorityFeePerGas,?maxFeePerGas,?gasLimit,?to,?value,?data,?accessList,?signatureYParity,?signatureR,?signatureS])最显著的变化包括:

用 “每单位 gas 的最高优先费用(max?priority?fee per gas)” 和 “每单位 gas 的最高费用(max fee per gas)” 来代替 gas price。

链 ID 是单独编码的,不再包含在签名v值内。这实际上是使用更简单的实现来代替 EIP 155。

签名v值变成了一个简单的校验位(“签名 Y 校验位”),不是 0 就是 1,具体取决于使用椭圆曲线上的哪个点。

EIP 1559 还提供了一种基于 EIP 2930 指定访问列表的方法。这样可以减少事务的 gas 成本。

由于 EIP 1559 极大地改变了 gas 费的运作方式,它并不能直接兼容传统事务。为了保证向后兼容性,EIP 1559 提出了一种将传统事务升级成兼容 EIP 1559 事务的方法,即,使用 “每单位 gas 的最高优先费用” 和 “每单位 gas 的最高费用” 来代替?“gas 价格”。

元事务诞生已经有几年了,但是到目前为止都需要依靠智能合约。和限期事务一样,元事务也要求用户将以太币发送至专为元事务创建的智能合约。

EIP 2711 使得原生元事务(又称代付事务)和批量事务成为可能,无需依赖于智能合约。这里定义了一个新的事务格式,事务类型是?0x02(但是事务类型可能会更改,因为 EIP-1559 也使用同一个事务类型标识)。交易如下所示:

0x02?||?RLP([...SenderPayload,?...SenderSignature,?...GasPayerPayload,?...GasPayerSignature])EIP 2711 主要包括 gas 付款方(用来支付事务 gas 费的账户)的有效负载(可选)和签名。这样一来,即使不持有任何以太币的地址也能发送 ERC 20 代币。

发送方的有效负载和签名等均基于事务子类型(1 至 4)定义。例如,如果交易类型为?1,发送方的有效负载被定义为:

[1,?ChildTransaction[],?nonce,?ChainId,?ValidUntil,?gasLimit,?gasPrice]ChildTransaction?被定义为?[to, value, data],可以在单个事务内指定收款方地址、值和数据。例如,ChildTransaction?可以用来在单笔事务中调用 ERC 20 的?approve?和?transferFrom。

如果你想了解更多关于 EIP 2711 的事务子类型的信息,我建议你阅读?EIP 2711 的规范。

类型化事务为以太坊网络带来了更多可能性。我们在创建类型化事务时不会增加以太坊客户端、库和其它工具的复杂性。

目前,由于 EIP 2718 最近才被添加到网络中,新的事务类型还没有得到广泛应用,但是目前还有一些很棒的 EIP 正在开发中,例如,EIP 2711 提出了限期事务、批量事务和代付事务(即,元事务)。由于以太坊上可以定义新的事务类型,提出新的 EIP 也会变得更容易。

标签:以太坊GASTRARAN以太坊硬币可以卖钱么VegasDogeBitrace TokenData Transaction

狗狗币最新价格热门资讯
XVS:金色前哨 | 漏洞还是项目方出货?BSC最大借贷平台Venus被撸近亿美元

币安智能链上最大的借贷平台Venus再暴危机。2021年5月18日晚有巨鲸短时间内花了几千万美元把XVS的价格从70多美元拉翻倍至144美元,然后用拉高后价格的XVS作为抵押物以质押率80%借出.

1900/1/1 0:00:00
区块链:六大行投入金融科技近千亿 区块链加码下供应链金融能走多远?

《21世纪经济报道》讯:2020年银行年报发布已进入尾声,六大行早前年报已发布完毕,在A股上市的全部九家股份行中,均已披露2020年经营业绩.

1900/1/1 0:00:00
马斯克:埃隆·马斯克的币圈战事

2019年5月6日,一条推特被永远被钉在中国股市的耻辱柱上。时任美国总统特朗普在推特上称,"美国过去10个月对价值2000亿美元中国进口商品所征收的10%关税,将在周五提高到25%.

1900/1/1 0:00:00
比特币:BTC披萨节11周年:BTC在现实世界的使用已有11年

2021年5月22日是比特币披萨节11周年,至此,比特币在现实世界的使用已有11年。10年前,有个小伙子,花了 1w 个比特币,买了两个披萨,那一天是2010年5月22号,这被认证为比特币首次在.

1900/1/1 0:00:00
COI:金色前哨 | Coinbase发布Q1财报:净收入16亿美元 90%来自散户交易

2021年5月14日,Coinbase发布2021年Q1财报,也是其上市后的首份财报。金色财经记者带你速览Coinbase2021年Q1财报.

1900/1/1 0:00:00
区块链:金色早报 | 狗狗币团队自2019年以来一直与马斯克合作

头条▌狗狗币开发者:2019年以来一直在与马斯克合作狗狗币开发人员尼克尔在采访中表示,他们从2019年起就一直在与马斯克合作,让这种加密货币成为比特币更便宜、更环保的替代品.

1900/1/1 0:00:00