Cardano blockchain storage and retrieval

I was wondering if somebody could help me with some or all of these question…

Is blockchain a linked list of blocks? If yes, is it bi-directional or single direction?

Is there one blockchain per node?

Is ledger a blockchain?

What does Cardano do to prevent a blockchain running out of space?

How does Cardano maintain efficient access, preserve performance, to blocks even as blockchain is growing?

Yes, is uni-directional i.e. any given block has a pointer to the previous block (until you reach genesis). The hash of block N-1 is part of block N, hence it becomes part of N’s identity.

Is there one blockchain per node?

All nodes eventually find consensus about the chain state. There may be short lived chain forks (in any given node) due to latency in block distribution. With Cardano, every full node has a copy of the full chain state.

Is ledger a blockchain?

Ledger is a general term for a thing that you can only append to and cannot change historical content. Historically, book keepers used ledgers to record their (monetary) transactions. A blockchain is a distributed digital ledger.

What does Cardano do to prevent a blockchain running out of space?

If you mean disk space, currently nothing. The 308 epochs (i.e. 4.2 years) that we have seen on mainnet so far use up approx 15GB. A simple 1TB SSD card would last 286 years (at the current rate). Having said said that, permanent store space will become an issue for blockchain nodes and it is likely that these storage concerns will be handled by specialised storage nodes/solutions e.g. arweave

How does Cardano maintain efficient access, preserve performance, to blocks even as blockchain is growing?

Cardano performance is currently “network bound”, neither CPU nor storage I/O are an issue and likely never will be. The question is, how fast can you distribute a block of a given size around the globe so that nodes can find consensus. The term you might be looking for is “finality” i.e. how long does it take in realtime until a given Tx becomes permanent i.e. will be part of the immutable ledger history (and just just reside in an arbitrary fork that might get rolled back)

Binance currently wants 30 block confirmations for Cardano. With one block every 20sec, this would be finality after 10min. With Hydra scaling, this will likely/hopefully become a lot faster.

Thanks very much for you response.

So, based on what you are saying, even though a transaction completes after 15 secs, it may take up to 10 minutes to confirm a transaction. What is the expected finality duration, roughly?

I was, also, looking to compile a data warehouse. Consequently, produce summary reports. Now, linked list is traversed sequentially. Is there a facility allowing you to access your transactions faster than doing a linear search? And how big of a factor is blockchain size.

Also, you mentioned that based on current volume, 1 tb ssd will suffice for 286 years. Aren’t we expecting transaction volume to grow by order of magnitude?

transaction completes after 15 secs, it may take up to 10 minutes to confirm a transaction

The Cardano block rate is (currently) one block every 20 sec. There is initially no guarantee that that the block which contains the Tx is on the “right chain” - it may be on a chain fork that will get undone. Binance plays it safe by saying no chain fork will ever be 30 blocks deep before it gets undone. In other words, if a Tx has 30 confirmations (i.e. 29 blocks on top of it) it is safe to assume that this is final/permanent.

1 tb ssd will suffice for 286 years

I meant to say that storage is currently not an issue and that there are solutions out there which address large volume permanent storage in a secure/decentralised way