Typical mining guarantees that it is too difficult to recalculate block hashes, therefore, the ledger is practically immutable.
How does Stellar ledger achieve immutability? If it does.
Typical mining guarantees that it is too difficult to recalculate block hashes, therefore, the ledger is practically immutable.
How does Stellar ledger achieve immutability? If it does.
First thing to see is that the PoW algo isn't what gives BitCoin immutability; the PoW algo is throttling the speed at which new blocks can be found based on current conditions of the machines on the network. In fact, the oldest blocks on the chain are the easiest to manipulate because the hardware put to the task was so much more inferior to the hardware being used today. What grants the immutability is the agreement on which chain is the real chain. BitCoin basically says that the hardest chain to produce is the "one true chain" (assuming that the hardest to produce chain is most likely the chain we've all been agreeing to use).
The various algorithms are about how do you pick what the next valid block to add to the chain is. PoW and PoS(take) systems basically say "here's how we will pick the single solitary node that gets to produce the next block to add to the chain", and they describe their rules accordingly. Stellar doesn't do this at all.
Instead, Stellar passes information about transactions around the core network to build consensus about what transactions should go in the next block.
In Stellar, there is no single computer that's assigned the responsibility (or privilege) for unilaterally deciding what the next block is. Instead, the SCP is an algorithm that enables every machine on the core network to accurately determine exactly what transactions the other core nodes on the network can see and have found acceptable. When the acceptance level for a transaction reaches critical mass, it becomes part of the next "ledger close" (block on the chain).
What's happening in Stellar is all the nodes are collectively determining what entries belong in the next "ledger close" (block) based on "consensus of acceptance" for individual transactions. These transactions contain database modification instructions to the information on the "Stellar Ledger".
This collective consensus approach is "backwards" from PoW/PoS. The SCP requires that every node first communicate the individual transactions to each other and they all keep track locally of "whose seen what" so they can determine which transactions have reached the critical mass required to be accepted. In PoW/PoS, a single node (the "right" node) determines the data that goes into the next block to add, and then communicates that block to the other nodes, who then test it to see if it has the right form/came from the right place, and assuming it passes the test, gets integrated.
Though to your point, neither of these algorithms specifically address the "immutability" aspect of the ledger, they address the "how do we collectively decide what transactions go into the next link in the chain?". The immutability aspect comes from the math in the HASH results created from a combination of linked information from prior records and that block's crypto signed transaction data.
That HASH linking part is basically the same in all "BlockChain" technologies; and it's what I say is the determining characteristic of whether or not something should be called "blockchain" or not. The rest of it is about how the machines collectively build that chain.
Stellar achieves immutability by other means than Bitcoin (or any other proof-of-stake consensus algorithm).
In Stellar, you have numbered ledgers that each have hash of the ledger, that itself includes hash of previous block. In that case if you trust current ledger, you ought to trust the previous ledger it points to, and the one that points to, and so on - in the end you can trust the whole history (if you have one available from yourself or archivator node).
In case someone, i.e. the archivator node, wants to cheat and make arbitrary change to a historic ledger, then it's hash value also changes. That ledger would become obviously invalid for anyone who recalculates ledger's hash and compares to the one written in it, or in the next one who points to it.
You mention the difficulty of mining as a method for achieving immutability in bitcoin. However, it is still trivial to change a block if you don't care about consensus. For bitcoin, take a GPU and a dozen minutes and you can get a solved, altered block (then add the same time again for every following block). However nobody else in the network will accept your changes, because you're certain to be too late.
I suspect your question is really about consensus. With the immutability issue solved via chained, hashed ledgers, how does the network protect itself against a competing version of the truth appearing and, ahem, trumping everything else?
To the best of my knowledge, the SCP solves this by having validators, each choosing to trust a set of other validators and forming a network. A quroum of validators agrees on the state of each ledger and it becomes the truth. Validators are akin to miners in the bitcoin world, except they do not receive rewards for mining and they choose which peers are trustworthy. The dashboard contains a list of some of the larger validators.