Home / Who We Are / Donations / Bounties / News / Contact

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░╔██████╔███████╔█████░░░╔███████╗██╗░░░░░░██╗╔███████╗░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░╚══██░╔██═════╝║██║░║██░║██╔════╝╚██╗░░░░██╔╝║██╔════╝░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░██░║██░░░░░░║██░░╚╗██║█████╗░░░╚██╗░░██╔╝░║███████╗░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░██░║██░░░░░░║██░░╔██╝║██╔══╝░░░░╚██╗██╔╝░░╚════╗██║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░╔██████═╗██████║█████═╝░║███████╗░░░╚██╔═╝░░░╔███████║░.org░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░╚════╝░░╚═════╝╚════╝░░░╚═══════╝░░░ ╚═╝░░░░░╚═══════╝░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

The Language Project

The Form Language

ARC. Archive Canisters

…how do you ensure long-term data retention and manage growing data volumes within the Internet Computer ecosystem.

Focus on utilizing Archive Canisters to offload and store transaction logs from operational canisters, ensuring data permanence and efficiency.

Context:

As canisters on the Internet Computer process and accumulate transactions over time, they generate vast amounts of data. Maintaining this data within active canisters can lead to inefficiencies, increased costs, and scalability issues.

Problem:

Operational canisters that retain all transaction data indefinitely face challenges in performance, scalability, and cost. This impacts the overall efficiency and effectiveness of the Internet Computer ecosystem.

Forces:

  • Scalability: Ensuring canisters can handle growing amounts of data without degradation in performance.
  • Cost Efficiency: Managing operational costs associated with data storage on the Internet Computer.
  • Data Longevity: Maintaining access to historical data without compromising the operational capabilities of active canisters.
  • System Reliability: Ensuring the system remains robust and responsive as data volumes grow.

Description:

Archive Canisters are specialized canisters designed to store large volumes of historical data, such as transaction logs, that are no longer needed for day-to-day operations but must be retained for compliance, auditing, or historical analysis. By offloading this data to Archive Canisters, operational canisters can maintain optimal performance and lower storage costs, potentially by utilizing cheaper subnets dedicated to long-term storage.

This pattern involves creating a system where transaction logs from operational canisters (as defined by ICRC3 standards) are periodically transferred to Archive Canisters. This transfer can be triggered based on the volume of data, the age of the data, or specific compliance requirements. Once transferred, the data in Archive Canisters is immutable and indexed for efficient retrieval, supporting both the Save Everything and Time Machine patterns by ensuring that historical data is secure, permanent, and accessible.

Therefore:

Implement a routine within ICRC3-compliant canisters to periodically evaluate and transfer older transaction logs to Archive Canisters. Design Archive Canisters to be highly durable, with optimized data retrieval mechanisms to support efficient audits and historical queries. Consider deploying Archive Canisters on specialized subnets that offer cost-effective storage solutions for large-scale data retention.

Resources:

  • Motoko Library for ICRC3 that automatically creates archive canisters: ICRC3-mo