以太坊元交易

ETH区块大康2019-10-09 22:00:11  阅读 -评论 0  阅读原文

引介

上手 Dapp 实在是太麻烦了。以太坊生态若想普及,就应该允许新用户直接使用其功能,而不是先安排几座大山让用户翻山越岭。

这意味着需要为新来的用户垫付 Gas 费用。当前的以太坊协议并没有提供原生方法来实现这一点。然而,得益于公/私密钥对,用户可以通过对元交易 进行签名并激励 桌面矿工(desktop miners)来为他们支付 gas 费用。

在一开始,先要自动生成密钥对并保存在你的浏览器中。那些密码朋克一定会对这种方式嗤之以鼻,但用户不该被下载钱包的要求挡在门外。首先,他们要能使用产品并通过 Dapp 提供价值。一旦他们收到了一些代币以太币,就应该马上将这些币转移到类似 MetaMask 或 Trust 这样的钱包中。

基础

首先,我想介绍一些基础概念,来为解释以太坊上的元交易奠定基础。但如果你是一位密码学大牛的话,直接跳过吧...

哈希

通过哈希函数,可以将长短不一的信息转化为一段长度任意但可预测的(确定性的)结果。这是一类神奇的函数,可以将一大堆信息转变成一串短的,可作为摘要的数据 "指纹"。对于一个给定的输入而言,生成的 "指纹" 始终一致。如果你的原始数据中有任何细微的改动,生成的哈希值将大不相同。

密钥对

公/私密钥对运用了一些令人头晕的数学知识,当然,想搞清楚它的概念并不难;可以使用私钥对一个信息进行签名,任何人都能使用与之对应的公钥来证明该签名的正确性(译者注:即验证签署交易的私钥与相应的公钥是否恰为一对)。重申一遍,我可以给你一个带有我签名的信息,而你只需使用我的公开信息就能从数学上证明我对这条特定的信息签过名。私钥极为敏感,绝对不能公示给他人,而公钥则就可以被广泛分享。你的以太坊地址就是你的公钥,它代表了你的身份(译者注:准确点来说,你的以太坊地址是用你的公钥单向推导出来的)。

公钥也可以用来加密一个简短的信息,然后,只有私钥的拥有者才能解密该信息。这并不重要,但非常酷不是么?所以我认为应该告诉你:)(译者注:这就所谓的 "非对称加密"。)
来自 @cooganbrennan:"通过对一串数据的哈希值签名,你实现了三件事:
不可干扰:你知道数据没有被篡改过
身份:你可以明确交易的发送方
不可抵赖:发送交易的人之后无法否认发送了该交易"

交易

要想和区块链进行交互,你需要发送一笔交易。一笔交易由少数几部分组成,我喜欢用巨慢无比的邮件来类比:

  • 目标地址:交易发送到的目标以太坊地址。可以是另一个人或一个智能合约。你可以将它想象成写在信封正面的收件地址。
  • 价值:这就像在信封里放一丢丢现金给收件人。
  • 数据:这就像你寄出的信件上的内容。当你只发送价值时,这部分通常是空的。
  • Nonce(流水号):由于你发送的内容都是数字信息,因此可能被复制。为了防止同一封信被寄了两次,我们会跟踪一个计数。这有点像信封本身的标识。(另一个关于 nonce 的形象比喻是支票号码。从技术上讲,银行不应该兑现最后一张现金支票之前的一张现金支票)
  • Gas Price:这就像是你放在邮箱中的一些零钱,用来激励邮递员为你送信。你放的零钱越多,邮递员取走你信件的可能性就越高。
  • Gas Limit:这就像邮递员送信的最远距离的限制。假设他最终要去地球的另一边为你送信,这意味着他要绕过重重阻碍……你当然希望避免这种情况,因为你要为他的行程买单。
  • 签名:最终,我们把上面的数据都汇总在一起并进行哈希运算、用你(对哈希值)的签名来封好信封,该签名证明里面的内容都经过了你的验证。
这是一个非常不严谨的类比,像这样的类比我的脑子里还有一大堆。来边喝啤酒边慢慢聊吧,我在 Devcon 等你哦。

智能合约

我的祖父曾跟我讲过一个关于他哥哥在他堪萨斯州的后院里种植番茄的故事。他会将前一天晚上采摘的番茄放在门前的台阶上,旁边摆上一个标着价格的天平。每天晚上他都会出门从一个雪茄盒里收回挣到的钱。这个系统严重依赖于人与人之间的信任。智能合约和这有点类似,但支撑它的是数学,而非信任。

我喜欢将智能合约看成带有一组规则的存储。假设在盒子里有 25 个番茄,规则是 15 美分一磅。如果你往雪茄盒中寄一封内含 30 美分的信件,就会有两磅番茄送到你家。这个规则会一直运行,除非番茄卖光了。在这一天结束的时候,合约的所有者可以取走雪茄盒中所有的钱,因为他通过私钥证明了自己是盒子的主人。

合约之间也能互相交流。它们甚至可以使用我们前面提到的技能——证明某个特定的消息是由某个特定的账户签名的。这也正是(元交易)这种技术的核心所在…

元交易

首先,我精心设计了一笔交易,它的结构与一般的以太坊交易类似,但我在里面附加了点额外的信息:

  • 数据:信件中的这部分内容变得更加复杂了。它是经过编码的信息,详细列出了要执行的操作,包括要调用的函数名的哈希值以及要传递给该函数的参数。
  • 奖励:在一个去中心化的系统中,经济激励尤为重要。如果你希望 "桌面矿工" 来为你的交易支付 gas 费用,你就得付钱。不过,这些钱并不来自于你的账户,而来自代理身份的智能合约。以太币或其他代币都能用来支付给矿工。
  • 需求:交易中还可以包含额外的需求,并且可以通过智能合约对这些需求进行检查。比如说按照时间顺序检查交易。假设这笔交易只能在月底完成,合约可以验证这一点。

接下来,我不会把这笔交易直接发送给一个智能合约,我会将这笔交易发送到一个次级网络(secondary network)。这个网络会分析我请求的合法性并确保我签名的有效性。然后它们会选择哪些交易值得提交,并与区块链直接进行交互。

最终,当我的代理合约收到从第三方那里发来的我的交易之后,它将分析交易中的指令,然后付钱给第三方,并执行我的指令。这些指令可以是发送代币,调用函数,或任何普通区块链交易可以做到的事情。

以太坊元交易的录屏演示

在以太坊上通过身份代理合约进行元交易

<https://www.youtube.com/watch?v=6r3SqCcEVU4>

结论

通过元交易,我们可以用一个完全没有以太币的账户来与区块链进行交互。对于推动以太坊的普及来说,这种技术可能是不可或缺的。用户并不关心去中心化或者私钥;他们更关心的是可以使用你的 Dapp 来做一些对他们而言重要的事情。

Universal Logins

另一个关于元交易的非常棒的用例是 "Universal Logins"。你应该将以太币存在 "冷" 钱包中,并使用该 "冷" 钱包来给一个代理合约提供资金。这个合约将作为你的链上身份、代表你持有一些资金或代币。然后,随着各种新设备在你的生活中进出,你可以使用身份代理来信任它们。这些设备从未持有任何资金,里面的私钥也从未转移。同时,它们可以使用元交易和区块链进行交互。

跳跃代理——以太坊上的身份代理合约,为没有以太币的账户发起元交易

<https://github.com/austintgriffith/bouncer-proxy?source=post_page-----90ccf0859e84---------------------->

感谢您看完了这篇关于以太坊元交易的文章。可以来 Twitter 找我:https://twitter.com/austingriffith 或通过我的作品集了解更多关于我的信息。

灵感来源:

@avsa —— https://www.youtube.com/watch?v=qF2lhJzngto@mattgcondon——
https://twitter.com/mattgcondon/status/1022287545139449856 &&
https://twitter.com/mattgcondon/status/1021984009428107264@owocki — https://twitter.com/owocki/status/1021859962882908160@danfinlay —— https://twitter.com/danfinlay/status/1022271384938983424@PhABCD —— https://twitter.com/PhABCD/status/1021974772786319361Gnosis 安全合约 <https://github.com/gnosis/safe-contracts>uPort 身份合约 <https://github.com/uport-project/uport-identity>


原文链接: https://medium.com/@austin_48503/ethereum-meta-transactions-90ccf0859e84
作者: Austin Thomas Griffith
翻译&校对: 曾汨 & 阿剑

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

参与讨论 (0 人参与讨论)

相关推荐

推特大V:「DeFi锁仓价值突破10亿美元」说法不准确

推特大V:「DeFi锁仓价值突破10亿美元」说法不准确

区块律动 BlockBeats 消息,据 DefiPulse.com 数据显示,2 月 7 日,DeFi 锁仓价值首超 10 亿美元,较去年同期增长 362%。对此,推特加密评论大 V Brad Mills 和 Preston Byrne 表示质疑。

Vitalik Buterin 在 ETHDenver 回应:「以太坊没有他会怎样?」

Vitalik Buterin 在 ETHDenver 回应:「以太坊没有他会怎样?」

来源:The Block原文作者:Steven Zheng近日,以太坊联合创始人 Vitalik Buterin 在美国科罗拉多州举办的年度区块链黑客马拉松会议ETHDenver上发表了讲话,讲话中分享了他对去中心化金融、Etherum 2.0 的发展以及以太坊社区当前整体状况的观点。

加密货币衍生品交易平台 Deribit 推出 ETH 每日期权

Deribit 于 2019 年 3 月底推出了更长期的 ETH 现金结算选项。在期权交易量方面,Deribit 仍然处于领先地位。根据 Skew 的数据,截至 1 月 28 日,Deribit 占了全球销量的近 90%。

开发平台「Enjin Platform」宣布在以太坊上启动,支持用户轻松创建 NFT 资产

开发平台「Enjin Platform」宣布在以太坊上启动,支持用户轻松创建 NFT 资产

根据公告,用户要想创建加密资产,仅需四步:创造一个新的项目;与你的加密钱包进行绑定;创建资产,以及生成相应的资产即可。未来,平台还将推出更多的新功能。

Vitalik Buterin,“世界计算机”背后的大脑

Vitalik Buterin,“世界计算机”背后的大脑

暴走时评:自2013年发表革命性白皮书以来,以太坊的联合创始人Vitalik Buterin在建立“世界计算机”的使命中始终坚持不懈。Buterin的贡献 Vitalik Buterin与众不同之处是他去中心化的态度以及在加密货币领域保留民主原则的愿望。

DeFi借贷尚未成为以太坊杀手级应用:吸引力欠佳、体量不足2.8%

DeFi借贷尚未成为以太坊杀手级应用:吸引力欠佳、体量不足2.8%

文章称,基于以太坊的 DeFi 借贷服务需求与 ETH 价格呈反比关系。当 ETH 价格下跌时,锁定在 DeFi 中的 ETH 数量会上升。

以太坊是否能在没有V神的情况下生存?Vitalik 如此回复

关于去中心化金融,V 神表示,随着它的不断发展,最简单的产品将获得最多的用户。当被问及以太坊是否可以在没有他的情况下生存时,区块律动发现V 神给出了两种看法。

比特币有什么缺点?

1.交易平台的脆弱性。比特币网络很健壮,但比特币交易平台很脆弱。交易平台通常是一个网站,而网站会遭到黑客攻击,或者遭到主管部门的关闭。2.交易确认时间长。比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。3.价格波动极大。由于大量炒家介入,导致比特币兑换现金的价格如过山车一般起伏。使得比

麦妖榜
更新日期 2019-09-03
排名用户贡献值
1牛市来了30910
2BitettFan24187
3等待的宿命23810
4区块大康20369
5六叶树20310
6linjm122719429
7天下无双16192
8lizhen00215280
9让时间淡忘14586
10yelanyi050511349
返回顶部 ↑