当前位置: 首页 > 知识库问答 >
问题:

科达公证预防双重支出,如何检查?

陆宝
2023-03-14

我需要检查公证人如何防止义务Cordapp中的双重支出。我在本地主机端口启动了Web服务器UI并执行了一些多个事务,当我检查公证人的日志时,我发现了这个:

[警告]2020-06-24T08:29:33484Z[公证请求队列处理器]事务。PersistentUniquenessProvider。-无法公证:一个或多个输入状态或引用状态已在其他事务中用作输入状态。冲突状态计数:1,消耗详细信息:7CF1BCA8EDF25F0602BBEDF8AD41FD60336F65EAC09C5326478A4CB7CD620579(0)-

我对无效的txId执行了hashLookup,发现:

hashLookup 46552 C5 ce 153712 b 65585 a 75 C4 d 165 cd4a 05304564 c 8797 acef 317 DCD 925 b 72 e找到一个匹配的交易,Id为:a 86 E3 ECE 4 EC 12a 487 e 413 e 2 BDA B9 d 88 bfe CBC 418 fa 02224189 de 0 c 72 bbbd 34 b 12

我相信这就是公证人阻止双重支出的原因。但我无法重现那个测试。有人能告诉我是什么输入事务导致了这个错误吗。我的意思是,什么样的测试用例可以导致公证人阻止的双重支出测试?

共有1个答案

丁雅逸
2023-03-14

公证人是一种网络服务,它通过证明,对于给定的交易,它尚未签署消耗任何拟议交易输入状态的其他交易,从而提供唯一性共识。

换句话说,公证人将跟踪交易中使用的所有输入状态(仅存储其哈希值,而不是真实状态),因此当有人尝试使用这些已经花费的输入时,公证人将拒绝交易。

因此,防止双重支出。

 类似资料:
  • 本文向大家介绍什么是双重支出?相关面试题,主要包含被问及什么是双重支出?时的应答技巧和注意事项,需要的朋友参考一下 回答:双倍支出被认为是数字现金计划的潜在缺陷,因为多次使用相同的数字令牌。令牌通常由可以轻松克隆的数字文件组成。比特币用户通过在区块链上付款时等待确认来保护自己免受双重支出欺诈;随着确认的增加,交易变得不可逆转。

  • 双重支出意味着两次花相同的钱。众所周知,任何交易只能以两种方式处理。一个是离线的,另一个是在线的。 离线:涉及实物货币或现金的交易称为离线交易。 在线:涉及数字现金的交易称为在线交易。 下面来看看这个例子: 假如你去餐馆点了一杯价值5美元的卡布奇诺咖啡。可以用现金支付。餐厅的服务提供商立即确认您已付款,并且您收到了咖啡以换取这笔钱。现在是否有可能在其他地方花费相同的5美元再次购买? 答案是否定的。

  • 我正在使用Corda 3.1和义务编码应用程序示例的自我编译版本。该环境具有一个部署了参与方节点的Spring启动网络映射服务,以及一个部署到多个 AWS EC2 实例的公证节点。每个节点的持久性都由其在 postgres 数据库中自己的架构提供支持。 从内部Web服务器启动IssueObligation.kt流(IOU)时,我遇到以下异常: 流中没有任何其他异常指向发生这种情况的确切位置,但它确

  • 问题内容: 我是否正确使用ng-cloak?在chrome中,带有帮助文本的div在被隐藏之前会闪烁。如果我加 到锚点。我没有得到这样的闪光。在我的角度类中,hideHelp默认为true。 问题答案: 如果您正在使用,则必须在其中添加特定的样式(以便它们在AngularJS加载之前起作用)。 https://docs.angularjs.org/api/ng/directive/ngCloak

  • 我有一个包装了一个块,当点击它时,会打开一个新的场景(我使用的是react native router flux)。 除了快速点击之外,一切正常,场景可以渲染两次。 我想防止用户快速点击该按钮。 在本机中实现这一点的最佳方法是什么?我研究了手势应答器系统,但没有任何例子或类似的东西,如果你是新来的,像我一样,会让人困惑。

  • 如图是一个简化的下单流程,首先是提交订单,然后是支付。支付的话,一般是走支付网关(支付中心),然后支付中心与第三方支付渠道(微信、支付宝、银联)交互,支付成功以后,异步通知支付中心,支付中心更新自身支付订单状态,再通知业务应用,各业务再更新各自订单状态。 这个过程中经常可能遇到的问题是掉单,无论是超时未收到回调通知也好,还是程序自身报错也好,总之由于各种各样的原因,没有如期收到通知并正确的处理后续