从公共区块链查询交易最终性信息,使用 Amazon Managed Blockchain Query

从公共区块链查询交易确认信息

重点总结

在这篇文章中,我们将介绍Amazon Managed BlockchainAMBQuery的新功能,该功能使您能够在交易最终确认之前从公共区块链中获取数据。AMB Query是一个完全托管的AWS服务,通过统一的API提供高质量的区块链数据,延迟低于一秒。我们还将探讨交易最终确认的定义、实际应用以及如何使用增强后的AMB Query API。

在这篇文章中,我们将概述对Amazon Managed Blockchain (AMB) Query的增强功能,该功能使您能够在交易最终确认之前从公共区块链中检索数据。AMB Query是完全托管的AWS服务,以统一的API通过多个公共区块链提供高质量区块链数据,延迟低于一秒。我们将首先简要介绍AMB Query和交易最终确认的概念,然后展示这一功能的典型使用场景,最后说明如何使用这一新增强功能。

AMB Query的优势

通过AMB Query,您可以查询整个区块链上的各种数据,如合约元信息、代币余额、交易详细信息和交易事件。使用统一的区块链无关API,能够以毫秒级的延迟返回高质量的数据响应。这种查询能力可以快速洞察区块链状态,追溯到每个区块链的“创世”区块,这对依赖于特定区块链完整存档节点的区块链应用提供了显著优势。存档节点需要复杂的基础设施、计算和存储,这会给区块链应用架构带来显著的成本和复杂性。因此,作为全面托管的AWS服务提供的区块链数据查询能力,可以为需要多个区块链数据的应用带来显著的功能和成本优势。

公共区块链中的“交易最终确认”是什么

区块链依赖共识协议来确保数据的可靠性和最新记录。这些协议帮助用户就数据的有效性达成一致,而无需中心化的权威机构,旨在防范对已包含在区块中的数据进行更改,无论是恶意还是非恶意。最终确认指的是交易提交到区块链后被广泛接受为不可逆转和不可篡改的时刻。这与确认不同,后者仅指特定交易及其结果状态数据被纳入区块。

蓝鲸加速器免费版下载

从公共区块链查询交易最终性信息,使用 Amazon Managed Blockchain Query

提交到公共区块链的交易达到最终确认所需的时间取决于多个因素,包括网络的拥堵程度、支付的交易费用以及网络所使用的共识机制,所有这些都会影响用户必须等待多长时间才能将交易视为最终确认。

需注意的是,由于公共区块链如比特币和以太坊的特性,无法提供最终确认的绝对确定性,因此这一术语仅意味着交易可以被视为不可更改。这种不可变性的程度源于,撤销一笔最终确认的交易通常需要大量不可行的资源或极为特殊的治理行动。

交易最终确认的实际考虑

在公共区块链如比特币或以太坊中,交易达到最终确认所需的时间差异很大。对于比特币,广泛接受的交易被视为最终确认的节点出现在6次确认后,这大约需要1小时,具体取决于网络条件。相比之下,以太坊通常在2个纪元后达到最终确认,约相当于64个包含一个区块的时隙,即大约15分钟。在交易的链上确认与其最终确认之间,这一交易的状态保持在待处理或非最终状态。在这一待处理阶段,交易状态的不确定性在商业场景中可能带来挑战,特别是在涉及价值转移的金融服务中。交易是否被认为是最终确认的延长不确定性可能会给最终用户带来困惑和模糊。

值得注意的是,比特币和以太坊所采用的最终确认的实际和概括定义可能并不适用于所有用例。对于需要在应用层级以更特殊方式定义最终确认的用例,同时返回已最终确认和非最终确认的交易,使得应用能够根据特定的用例应用更有意义的定义。

交易已最终确认与非最终确认状态的典型使用场景

考虑一个典型的数字资产保管用例。在这一用例中,数字资产保管人负责管理与区块链网络上特定钱包账户相关联的资产。当组织启动向其选择的保管人转移资产时,双方必须等到交易最终确认并相应更新他们的余额后,才可认为交易已完成。在此之前,保管人需要定期检查区块链以发现新的入账交易。只要交易在区块链上最终确认例如,比特币区块链上可能需要最多60分钟,保管人应立即向发送方确认转移正在进行,即使交易尚未最终确认。随后,保管人应继续监控区块链,以获取交易状态的任何更新,并保持与发送组织的信息沟通,直到交易完全最终确认。这一方法确保了数字资产交易处理的透明度和安全性。

使用AMB Query检索交易最终确认状态

AMB Query APIs现已增强,能够提供已最终确认和未最终确认的交易数据。这些增强旨在最小化使用AMB Query的应用程序所需的代码更改。这可以明确交易状态,并使得对交易生命周期进行更细致的监控成为可能,例如我们所讨论的用例所需。在这一增强之前,只有达到最终确认的交易可用。

下表显示了特定API的增强信息。

API描述API增强GetTransaction检索特定交易哈希的详细信息现在即使交易尚未最终确认,已确认的交易也会返回。响应中的确认状态指示最终确认状态为‘FINAL’或‘NONFINAL’ListTransaction列出与指定地址账户或合约相关的交易。用户可以在API输入中明确指定是否需要‘NONFINAL’交易。默认情况下,仅返回已最终确认的交易,未最终确认的交易将被省略;如指定‘NONFINAL’,则返回已最终确认和未最终确认的交易。ListTransactionEvents列出特定交易哈希的交易事件详细信息。当调用特定交易时,API将返回已确认交易的事件,即使它们尚未最终确认。

新功能仅影响上述表格中列出的API。其他API,例如检索代币余额和合约数据的API,保持不变。

使用增强版AMB Query API

您可以通过Amazon Managed Blockchain控制台使用Amazon Managed Blockchain Query 编辑器访问增强后的API,并开始进行持续测试和实验。

在以下示例中,我们调用ListTransactions API,并将确认状态字段设置为包括‘NONFINAL’。在执行查询时,此特定查询的响应包括FINAL和NONFINAL交易,如响应列表所示。

我们可以复制结果中的任何交易哈希,并使用GetTransaction API来检索该交易的完整详细信息,使用该交易哈希作为输入。在以下示例中,我们调用GetTransaction API,并传递该特定交易哈希。响应显示了完整的交易细节,包括当前确认状态。

本文中描述的API增强功能现也可通过AWS SDKs使用。

结论

在这篇文章中,我们描述了为AMB Query推出的新增强功能,概述了典型的业务用例,并演示了如何访问这些增强功能。

如果您希望了解更多关于Amazon Managed Blockchain、AMB Query、AMB Access的内容,或希望讨论AWS上的区块链问题,请通过电子邮件与AWS区块链团队联系:blockchaingtm@amazoncom。

关于作者

AJ Park是AWS Amazon Managed Blockchain团队的产品经理,热衷于为客户构建区块链和Web3解决方案。在此之前,AJ在数据保护和存储领域创新了20多年,担任软件开发人员和产品经理。

Steven Bacci是AWS全球专业区块链/Web3团队的首席解决方案架构师。他与Amazon Managed Blockchain的产品和工程团队密切合作,为全球客户提供商业案例对齐、技术架构设计和区块链及Web3解决方案的应用工程咨询。Steven的背景集中于金融服务和资本市场软件工程及架构。

部署 Slack 网关以适用于 Amazon Q 业务作者 Gary Benattar Harshavardhan Malipatel James Jory 和 Bob Strahan日期 2024年...

利用 Amazon SageMaker 识别 Amazon Security Lake 数据中的网络安全异常关键要点当前企业面临越来越多的安全威胁和漏洞,需要有效的网络安全数据分析手段。使用 Amaz...