区块链ARC如何能让节点能够大规模处理交易数据

2024-09-06 18:36

本文主要是介绍区块链ARC如何能让节点能够大规模处理交易数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

请添加图片描述
​​发表时间:2024年8月7日


TAAL技术主管Michael Böckli表示,TAAL公司一直在对ARC进行测试,并准备在今年年底全面发布。因TAAL在区块链交易处理方面具备深厚的专业知识,BSV区块链委托TAAL进行ARC开源参考落地方案的开发。
ARC是一个多层交易处理系统,能够追踪交易在BSV区块链上的整个生命周期。

除了遵循BSV区块链的开源指南和要求开发ARC的开源版本之外,TAAL还开发了一个商业版本的ARC,并将其作为一项适合商业和企业级应用的服务向企业推广。

在2024年伦敦区块链大会上,Böckli提到ARC的开发过程已经进行了一年多。他指出,ARC最初是为了取代mAPI,但现在已经发展成为一个更加全面的工具。

Böckli指出:“ARC的运作方式有点像一个独立的节点,而不仅仅是一个向节点发起远程过程调用(RPC)的程序。它已经为即将到来的Teranode时代做好了准备。然而,在我们达到那个阶段之前,ARC还需要进一步的调整和更广泛的开发。

ARC将可能成为覆盖网络中的一个节点,任何人都可以使用和运行。ARC的设计和功能使其能够适应并被集成到这个网络中,作为一个功能性的节点存在。”

除了标准的ARC实现方案之外,ARC还可能会有根据特定需求定制的版本。这些定制版本可能会添加或修改某些功能,以更好地服务于特定的业务场景或行业需求。ARC本质上是这类组件的参考标准。作为一个开源项目,ARC为其他开发者提供了一个基础框架和标准,使他们可以基于这个标准来创建自己的应用方案,无论是保持原有功能还是进行定制化开发。

这个观点引发了关于开源和商业应用之间的讨论。Böckli指出,尽管TAAL正在积极进行ARC的整体开发,但也在努力改进对ARC系统运行状态的跟踪、观察和管理的监控技术,以便更有效地维护和优化ARC系统。他提到,TAAL可能会开发一些非开源的功能优化,这些优化可能涉及到更高级的监控技术或专注于商业版本的功能增强,以提供额外价值,区分开源版本和商业版本,满足不同用户群体的需求。

“这并不表示开源版本的开发会中断。”Böckli强调自己和团队正全力以赴,确保在今年年底的Teranode升级中,ARC能够成功部署。

快速了解什么是ARC

ARC是一个区块链上的多层交易处理系统,能够追踪交易在BSV区块链上的整个生命周期。

与传统的交易处理器不同,ARC通过点对点(P2P)网络广播所有交易,并不依赖于单一节点的远程过程调用(RPC)接口。这种设计让ARC能够与任意数量的节点建立连接并进行广播,满足用户对连接和广播到的节点数量的需求。

未来,ARC将能够利用IPv6多播技术发送交易,这将让它在不产生大量带宽成本的情况下连接到众多节点。

ARC的设计将交易处理器的核心功能解耦,并将其封装成能够灵活进行水平扩展的微服务。在可能的情况下,这些微服务之间的交互通过异步消息传递来实现解耦。

ARC由几个关键的微服务组成,包括API服务器、验证器(具备根据工作量增加而进行扩展的能力)、用于管理交易状态变化的变形服务,以及处理连接的对等体管理器。此外,ARC采用了一种新的区块存储格式,它只包含交易ID而不是完整的交易数据。这种架构旨在提高BSV区块链网络中的交易可靠性和效率。

ARC的四个微服务包括:API、Metamorph、BlockTX和Callbacker。

ARC API: API作为与ARC系统交互的接口,具有几个关键的端点。包括设置政策要求的端点,如每字节的挖矿费用,以及用于并行或串行处理交易的交易提交端点。交易通过一种“扩展格式”提交,这不仅包含了必要的基础信息,还额外包括了用于脚本验证和费用核算的数据,有效解决了仅使用原始交易数据时可能遇到的问题。为了在广播之前确保交易的准确性,这种格式需要依赖一个正在开发中的UTXO查找服务。这项服务的引入,将大幅提升交易的可靠性。

Metamorph: Metamorph的角色是通过点对点网络将预先验证的交易放置在区块链上。它可以连接到多个实例,使用轮询负载平衡来处理高交易量。Metamorph从API接收并处理交易,监控它们的状态,并根据需要转发更新。

BlockTx: BlockTx是一个监听点对点消息,特别是区块公告的微服务。在检测到区块公告后,BlockTx就会提取并处理关键数据,确认交易ID是否嵌入了区块头部的默克尔根中。它将交易进行哈希处理,生成交易ID列表,并为这些ID计算出相应的默克尔路径。随后,BlockTx会将这些交易的状态标记为“已挖矿”,并按照BRC 71标准来存储这些路径信息。

**Callbacker:**Callbacker服务让用户能够追踪他们交易的实时状态。用户可以通过API的“get tx”接口查询交易状态,并选择他们希望接收的更新类型。用户只需提供一个网址和Token,就可以在交易状态发生变化时,比如挖掘状态更新或默克尔路径数据变化时,接收到通知。

更多关于ARC的信息请看:

https://www.bsvblockchain.org/news/bsv-blockchain-launches-arc-v1


目前,全球已有超过400个项目构建于BSV区块链之上。凭借坚如磐石的协议及超高的网络性能,BSV生态系统迅猛发展,我们期待未来出现更多前所未有的商业应用。

  • 对BSV区块链开发感兴趣的朋友,可以前往我们的中文开发者专区:BSV区块链

这篇关于区块链ARC如何能让节点能够大规模处理交易数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142799

相关文章

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

Java利用@SneakyThrows注解提升异常处理效率详解

《Java利用@SneakyThrows注解提升异常处理效率详解》这篇文章将深度剖析@SneakyThrows的原理,用法,适用场景以及隐藏的陷阱,看看它如何让Java异常处理效率飙升50%,感兴趣的... 目录前言一、检查型异常的“诅咒”:为什么Java开发者讨厌它1.1 检查型异常的痛点1.2 为什么说