π£ Introducing ARC – the new and improved way to broadcast! π
On October 4, 2023, our Director of Utilisation, Thomas Giacomo, and Utilisation Technical Lead, Darren Kellenschwiler, hosted a webinar to unveil ARC and its groundbreaking features. We aimed to provide transparency and shed light on upcoming infrastructure changes within the BSV ecosystem.
ARC, initially developed by Simon Ordish and Siggi Oskarsson, is currently being implemented by TAAL and GorillaPool, who are excited to integrate it with the upcoming Teranode upgrade.
So, what exactly is a Transaction Processing Service? Darren Kellenschwiler began the discussion by explaining the challenges of using the SVNode network. He highlighted the network’s decentralised nature, making it difficult to identify and maintain stable connections with nodes. To simplify the user experience, Kellenschwiler suggested using a transaction processing API, which provides a straightforward web interface for interacting with the network.
Now, let’s take a closer look at ARC and how it works. ARC is designed to connect to every mining node on the network, providing peering logic, transaction tracking, validation, and an API for clients. It also introduces a new format for storing blocks, enhancing transaction reliability and efficiency. ARC consists of four microservices: API, Metamorph, BlockTx, and Callbacker.
The API serves as the user interface for ARC, allowing clients to set requirements and submit transactions for processing. It supports an extended format for transactions, enabling enhanced validation and fee checks.
Metamorph is responsible for placing pre-validated transactions on the blockchain using a peer-to-peer network. It is highly scalable and ensures efficient transaction processing, even under heavy workloads.
BlockTx monitors block announcements and calculates Merkle paths for transaction IDs within the blocks. It guarantees the accuracy of transaction data and enhances the reliability of ARC.
Callbacker enables users to track the progress and status of their transactions. They can specify their desired updates and receive real-time notifications when changes occur.
The transaction processing workflow within ARC involves transaction submission and block processing. Transactions are validated and processed through Metamorph, while blocks are retrieved, and Merkle paths are calculated through BlockTx. Real-time updates are provided to users via the Callbacker.
ARC differentiates itself from SVNode by focusing on transaction processing services and compatibility with Teranode. It offers horizontal scalability, granular transaction status updates, and handles complexities of the peer-to-peer network.
In contrast to mAPI, ARC addresses resource drain issues and adapts to increased demand by spinning up multiple instances. It ensures smoother user experiences and improves scalability.
As we transition to Teranode, ARC becomes even more crucial. While Teranode lacks a built-in wallet, ARC seamlessly handles transaction broadcasting and network complexities, simplifying connectivity and seamless transition.
The advantages of using ARC are numerous. Transactions are broadcasted over a peer-to-peer network, avoiding bott