# Mina--协议架构(付款的生命周期) **Published by:** [chezhe](https://paragraph.com/@v2y3x4/) **Published on:** 2021-11-12 **URL:** https://paragraph.com/@v2y3x4/mina-5 ## Content 在Mina中,付款在被认为是经过验证和完成之前要经过几个步骤。本文件旨在通过一个简化的概述来了解单笔付款的情况,以帮助用户了解一些关于Mina付款的工作原理。这不是一个全面的技术概述,而是为用户提供一个简化的操作指南。对于希望了解代码库的开发人员来说,更详细的技术概述,请查看支付的技术生命周期。注意:Mina使用八卦协议(gossip protocol),以确保信息能及时可靠地传送给网络的所有其他成员。付款支付是一种交易类型,要求将价值从一个账户转移到另一个账户,以及发送方愿意为支付通过而支付的相关费用。 让我们来看看这样一个场景:发送方Bob想给接收方Alice发送一些Mina。第一步: 创建付款 - Bob 点击 ‘send’网络的任何成员都可以创建一个付款并与Mina网络分享。付款用私钥进行加密签名,以便验证发件人的账户。然后,它被发送到网络上的对等人那里进行处理。对等体收到付款后,将存在于他们的本地交易池中,该交易池是该等体在网络上听到的所有交易的内存存储器。第二步: 产生一个区块 - Bob 的付款被放入一个待办事项清单中在网络上为一个给定的时间段选择一个区块生产者节点。当前活跃的生产者根据支付费用选择飞行中的付款,并将它们放在一个称为过渡块的列表中进行处理。区块生产者通过构建这些区块赚取Mina。生产者生成一个SNARK,定义与前一个区块相比,过渡区块的结构(但还没有验证这些新的支付)。生产者将这些新信息传送给snark工人进行处理。第三步: 交易 Snark 证明 - Bob 的交易被 snark-signed网络上的Snark工作者节点开始对新过渡区块的每一步进行Snark计算。这些是每笔支付的单独证明,然后是相邻支付的合并证明。最终,所有的支付都被验证了。斯纳克工人可以通过生成这些证明来赚取货币,由区块生产商从他们的区块奖励中支付。这些证明在网络上被传送出去。第四步: 支付验证 - Alice 和 Bob 的账户显示转账结果一旦整个区块被证明,区块生产者将发送一个过渡区块的确认。然后网络上的成员节点将变化应用到他们的本地账户余额,以反映这些变化。第五步: 支付信任度--Alice 确信转账已经完成随着每一个后续区块的出现,收件人有更大程度的信心,认为付款实际上已经完成,而且网络对该区块有共识。然而,像大多数区块链一样,据说付款在一定数量的区块后被确认,也被称为交易最终性。 在比特币网络中,一个交易在6个区块(60分钟)后被确认,假设攻击者不太可能积累超过10%的速率。 槽(slot)的持续时间为3分钟,并假设90%的诚实赌注,下表显示了区块的最终结果,产生相应的区块数量所需的平均时间,以及支付将被确认的信心。 Finality (in blocks) Average time for finality Finality confidence (%) 8 33 mins 98.6709 15 60 mins 99.9231 23 1hr 32mins 99.9965 30 2hrs 99.9998 38 2hrs 32mins 100 平均时间是根据决定每个纪元填充的槽数的共识常数计算的。目前,这个常数被设置为75%。 建议交易确认的等待时间为15个区块,这为交易不会被逆转提供了99.9%的信心。失败情景交易不被网络接受有几个原因导致与对等节点共享的交易可能不被接受。该交易从根本上说是无效的。意味着发件人的账户不存在,没有足够的资金,签名与账户不匹配,或者交易中的nonce没有被递增。网络中可能存在敌对节点,它们串通一气,拒绝为网络中的特定发件人提供服务。然而,这种行为是非常不可取的,一个诚实的节点就足以防止这个问题。交易不包括在一个区块中如果一个交易是有效的,而且网络是诚实的,那么在所有的可能性中,一个交易将进入一个区块。然而,有一种情况是,交易可能会被从交易池中丢掉:如果交易池达到了它的容量,或 max_txpool_size,那么它将驱逐池中费用最低的交易,导致它从内存中被抛弃。如果发生这种情况,发件人将需要根据当时的市场动态,以更高的费用重新发送该交易。原文: https://docs.minaprotocol.com/en/architecture/lifecycle-payment ## Publication Information - [chezhe](https://paragraph.com/@v2y3x4/): Publication homepage - [All Posts](https://paragraph.com/@v2y3x4/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@v2y3x4): Subscribe to updates - [Twitter](https://twitter.com/chezhe4): Follow on Twitter