区块链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

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

Python异常处理之避免try-except滥用的3个核心原则

《Python异常处理之避免try-except滥用的3个核心原则》在Python开发中,异常处理是保证程序健壮性的关键机制,本文结合真实案例与Python核心机制,提炼出避免异常滥用的三大原则,有需... 目录一、精准打击:只捕获可预见的异常类型1.1 通用异常捕获的陷阱1.2 精准捕获的实践方案1.3

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Python动态处理文件编码的完整指南

《Python动态处理文件编码的完整指南》在Python文件处理的高级应用中,我们经常会遇到需要动态处理文件编码的场景,本文将深入探讨Python中动态处理文件编码的技术,有需要的小伙伴可以了解下... 目录引言一、理解python的文件编码体系1.1 Python的IO层次结构1.2 编码问题的常见场景二

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl