gas代付

作者: 混世小朋友 | 来源:发表于2019-05-13 16:01 被阅读0次

    初链TrueChain致力于下一代区块链基础设施,采用了fPow+pbft混合共识的公有链,为去中心化应用(DApp)和全球资产流通提供高性能和高安全性的底层公链支撑,本文主要介绍其gas代付机制。

    gas代付是为了降低项目方使用门槛,项目方在推广创建应用时,不需要拥有主网币,就可以参与到应用的使用和交易中来。

    DApp的项目方做部署时,可以由DApp项目方来付gas费用,降低用户使用门槛, 方便用户, 让更多用户接触到区块链去中心化技术和应用。初链首创的代付机制,直接在底层基础设施上解决gas代付问题.

    如Alice需要在初链平台发一个ERC20代币,由于Alice没有True,想让Bob替自己支付合约的gas费.

    1 Alice在truechain网络发起了一个产生ERC20代币的合约,以下简称为交易A,交易A内容包含但不限于:代付者Bob地址、合约代码、网络标识chainID、gasPrice、gasLimit、nonce.

    2 Alice首先对交易A进行哈希运算,生成交易A摘要,即交易A的唯一标识符;然后用自己的私钥对摘要进行签名生成签名信息signA.

    Alice对交易A的签名处理流程  

    3 Alice将交易A和签名signA(以下简称为交易A'),发送给代付者Bob,Bob根据类似的流程,首先对交易A'进行哈希运算生成摘要A',然后用自己的私钥对摘要A' 生成代付者签名signA' .                                                                      

    Bob对交易 A' 的签名处理流程        

    4 验证签名:网络中的节点接收交易A时,需要验证发送者Alice和代付者Bob签名的合法性,通过交易A的摘要和签名signA解析出Alice的地址,通过交易A'的摘要和签名signA'解析出Bob的地址,执行对应交易流程。

    以上为gas代付交易的产生和验证简要流程.

    引入gas代付后,为了防止其他人作恶,也想让Bob免费替自己的交易支付gas费。所以交易A'的摘要中包含Alice的信息,使得网络其他节点解析代付者Bob地址时错误. 例如:如果Carl想作恶,也发送一个类似的合约,想让Bob免费替自己支付gas费,将代付者Bob的签名signA' ,复制到自己的交易中,当通过signA' 解析出Bob地址时,解析失败.

    相关文章

      网友评论

          本文标题:gas代付

          本文链接:https://www.haomeiwen.com/subject/jiwkaqtx.html