Is Atto a Fork of Nano? Let's Clear Things Up
If you've ever talked to me about Atto, there's a good chance you've asked, "Wait, is this just a fork of Nano?" And it's a fair question! Atto and Nano share some core principles and design philosophies, so it's easy to see why people might make that assumption. But here's the thing: Atto isn't a fork of Nano—it's a unique project built entirely from scratch, even though it draws plenty of inspiration from Nano.
Let me walk you through the story behind Atto, how it relates to Nano, and why it ultimately became its own project. Let's dive in!
Sharing the Same Vision
First off, both Atto and Nano are built on the same core values:
- Feeless Transactions: No one likes paying fees, right? Both currencies aim to eliminate transaction fees entirely.
- Speed: They prioritize lightning-fast transactions to make sure you're not left waiting.
- Eco-Friendly: In a world where energy consumption is a big deal, both are designed to be green and energy-efficient.
So, it's easy to see why people might draw parallels between the two. They both want to make digital transactions as smooth and accessible as possible.
So, Why Do People Think Atto Is a Fork?
Well, besides sharing the same goals, their technical designs have a lot in common:
- Open Representative Voting: Both use this method to achieve consensus across the network.
- Account-Based Blockchains: Each user has their own blockchain. Pretty cool, huh?
- Double-Entry Bookkeeping: Each account is responsible for maintaining its own ledger; each transfer contains a debit and credit.
Given these similarities, it's not a huge leap for someone to think that Atto might be a fork of Nano. But here's the kicker: Atto was built from scratch!
The Journey of Creating Atto
So how did Atto come to be?
Originally, I set out to create a Nano node using a memory-safe programming language. But as I dug deeper, I started thinking about ways to improve transaction processing and network resilience. Here are some of the ideas that came up:
- Adding Block Height: This would speed up validation and make syncing faster.
- Node Identification: If nodes could identify themselves, non-voting nodes wouldn't have to deal with all the voting traffic—they'd just get the final results.
- Multiple Blocks per Account: Reintroducing the original blocks could simplify validations and reduce the blockchain size.
- Including Timestamps: This helps prioritize transactions, catch pre-computed blocks and increase PoW dynamically.
- Blocking Unconfirmed Dependencies: By not allowing blocks to be accepted when the previous block is unknown or unconfirmed, we could close one of the biggest attack surfaces.
Some of these changes might be possible without overhauling Nano's existing structure, but implementing all of them would be a massive undertaking. The more I thought about it, the more it made sense to start fresh.
So, what began as a side project to improve a Nano node evolved into creating a new cryptocurrency from the ground up with these enhancements built in.
A Shoutout to Nano and Its Community
I can't stress enough how much respect I have for Nano and the community behind it. Nano has one of the most open, friendly, and technically savvy groups out there. The work they've done has been a huge inspiration. With Atto, I hope to have the same amazing community that Colin (the Nano creator) managed to create.