以太坊元交易

文章介绍了以太坊的元交易(Meta Transactions),通过允许新用户无需支付Gas费用即可与Dapps交互,推动以太坊的普及。文章详细解释了元交易的原理和实现方式,包括哈希函数、密钥对、交易结构、智能合约等,并提供了一个演示视频。

降低门槛以推动以太坊的大规模采用

引言

Dapps 的入门门槛太高了。 以太坊生态系统需要通过允许新用户立即访问功能和交互来推动大规模采用,而不需要经历所有的繁琐步骤。

这意味着为首次用户支付 gas。 目前,以太坊协议中还没有原生方法来实现这一点。然而,得益于公钥/私钥对,用户可以签署元交易并激励桌面矿工为他们支付 gas。

密钥对将首先存在于你的浏览器中,并且会自动生成。 密码朋克们真的会讨厌这一点,但用户不应该被提前下载钱包所困扰。首先,他们需要使用产品并在 Dapp 中提供价值。一旦他们收到一些代币或以太币,系统应该提示他们转移到如 MetaMask 或 Trust 这样的钱包。

基础知识

我想介绍一些基本概念,为解释以太坊上的元交易打下基础。密码学家们请忽略...

哈希

哈希函数接收不同大小的信息并将其映射到任意大小的可预测(确定性)结果。这是一种获取大量信息并生成一个可管理的数据“指纹”的好方法。对于给定的输入,生成的“指纹”始终相同。如果原始数据中的任何一点发生变化,生成的哈希将发生巨大变化。

密钥对

公钥/私钥对使用了一些复杂的数学,但其概念很简单;可以使用私钥对消息进行签名,任何人都可以使用公钥来验证签名的正确性。重申一下,我可以给你一条消息和一个签名,并且仅使用我的公开信息,你就可以在数学上证明我签署了这条特定消息。私钥非常敏感,永远不应该被移动。公钥可以广泛共享。你的以太坊地址就是你的公钥,它充当你的身份

公钥还可以加密一个小消息。然后,只有私钥的所有者可以解密该消息。这在这里并不重要,但它很酷,所以我觉得应该分享一下。 :)

来自 @cooganbrennan:“通过签名数据的哈希,你可以实现三件事:

不可篡改性:你知道数据没有被篡改

身份:你知道交易肯定来自发送者

不可否认性:发送者以后不能撤销交易”

交易

为了与区块链交互,你需要发送一笔交易。交易由几个部分组成,我喜欢用写信的类比:

  • 地址:交易发送到的以太坊地址。这可以是另一个人或智能合约。类似于你发送的信封正面上的地址。
  • 价值:这就像在信封中放入一些现金给收件人。
  • 数据:这就像你发送的信的内容。当只是发送价值时,这部分通常是空的。
  • Nonce:由于这是数字的,它可以被复制。为了防止同一封信被发送两次,我们会记录一个计数。这就像信封本身的身份。(Nonce 的另一个好类比是支票的号码。银行技术上不应该兑现 nonce 早于最后兑现支票的 nonce 的支票)
  • Gas Price:这就像你在邮箱中放入的一些零钱,以激励邮递员投递消息。你放的零钱越多,忙碌的邮递员优先投递你的信件的可能性就越高。
  • Gas Limit:这就像对你的邮递员应该走多远的一个限制。假设他最终要绕地球一圈去投递你的消息,而你的消息原本只是在街区附近...你希望避免这种情况,因为你将为此支付费用。
  • 签名:最后,上述所有数据都会被哈希,你用一个签名来封装信封,证明其确切内容已由你验证。

这是一个非常松散的类比,我还有很多类似的。让我们喝一杯啤酒,详细讨论一下。在 Devcon 上找我吧。

智能合约

我祖父曾告诉我关于他兄弟的故事,他兄弟在堪萨斯州的后院种植西红柿。他会把前一天的收获放在前门的箱子里,并放上一台带有所售价格的秤。每天晚上他都会出去从雪茄盒中收取现金。这个系统在很大程度上依赖于信任。智能合约与此类似,但它基于数学,而不是信任。

我喜欢将智能合约视为一组带有存储的规则。盒子中有 25 个西红柿,规则是每磅西红柿 15 美分。如果你向雪茄盒发送一封装有 30 美分的信封,两磅西红柿将被转移到你的地址。这将一直持续,直到没有西红柿为止。在一天结束时,合约所有者可以清空雪茄盒,因为他使用私钥证明了自己的身份。

合约还可以与其他合约交互。它们甚至可以完成我们之前讨论的技巧,即证明特定消息是由特定账户签名的。这个概念是这一技巧的核心...

元交易

首先,我创建了一个类似于传统以太坊交易结构的交易,但还添加了一些额外信息:

  • 数据:信件的内容更加复杂。它是编码信息,详细列出了要执行的操作列表,包括要调用的函数名称的哈希以及传递给该函数的参数。
  • 奖励:经济激励对激励去中心化系统很重要。如果你想让“桌面矿工”支付 gas 以提交你的交易,你需要支付费用。这些资金不会来自你的账户。它们将来自身份代理智能合约。以太币或代币可以用来支付矿工。
  • 要求:在智能合约内部还可以检查扩展要求。一个例子是时间顺序检查。假设交易只能在月底通过。合约可以验证这一点。

接下来,我不是直接将我的交易发送到智能合约,而是将其发送到一个二级网络。该网络可以解析我的请求并确保我的签名有效。然后他们选择哪些交易值得提交,并直接与区块链交互。

最后,当我的代理合约收到我从第三方发送的交易时,它将解析指令,支付第三方,并执行我的命令。这些指令可以是发送代币、调用函数或任何正常的区块链交易可以完成的操作。

以太坊元交易的演示视频

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

Austin Griffith

18.7K 订阅者

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

Austin Griffith

搜索

稍后观看

分享

复制链接

信息

购物

点击取消静音

如果播放没有立即开始,请尝试重启设备。

更多视频

更多视频

你已经退出登录

你观看的视频可能会被添加到电视的观看历史中,并影响电视推荐。为避免这种情况,请在电脑上取消登录并重新登录 YouTube。

取消确认

分享

包含播放列表

检索共享信息时发生错误。请稍后再试。

观看

0:00

0:00 / 17:49•直播

在 YouTube 上观看

结论

使用这种方法,我们能够从没有任何以太币的账户与区块链进行交互。这可能是推动以太坊大规模采用的必要条件。用户不关心去中心化或私钥;他们关心的是使用你的 Dapp 完成对他们重要的事情。

通用登录

这项技术的另一个伟大应用是“通用登录”。你应该将你的以太币存储在“冷”钱包中,并使用它来充值一个代理合约。该合约将代表你持有资金和代币,并充当你在链上的身份。然后,随着新设备进入和离开你的生活,你可以告诉你的身份代理信任这些设备。这些设备从不持有资金,它们的私钥也从不被移动。同时,它们能够使用元交易与区块链交互。

austintgriffith/bouncer-proxy \ \ bouncer-proxy - 以太坊身份代理合约,反弹无以太币账户的元交易。\ \ github.com

感谢查看以太坊的元交易。在 Twitter 上找到我:https://twitter.com/austingriffith 或在这里了解更多关于我的信息:

Austin Thomas Griffith M.S.E.E. \ \ Austin Thomas Griffith 在科罗拉多州柯林斯堡的作品集\ \ austingriffith.com

致谢与灵感:

@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/1021974772786319361

gnosis-safe

uport-identity

  • 原文链接: medium.com/@austin_48503...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
austin_48503
austin_48503
江湖只有他的大名,没有他的介绍。