2

In Bitcoin when a validator (miner) decides to join the consensus process, the history of all blocks must be downloaded. Is this concept the same in Stellar?

We have encountered a scenario where one node as the validator only has a limited number of ledgers (last ledgers) but this node is able to validate upcoming ledgers?

How is this possible?

  • You do not need the entire history, although I don't know the explanation as to why. – Ron Serruya May 13 at 11:21
3

In bitcoin the balance of an address is more like a summarized view on all previous payments from transactions (UTXO unspent transaction outputs) and you need to know the previous incoming payment transaction to validate the next outgoing payment from an address. In stellar the account balance is more like a state itself, which means that every node allways knows an accounts state/balance without the need to know its entire transaction history. Your stellar node (if it's not configured to do full catch ups) will start/continue from a well defined, valid checkpoint from the network and may miss out ledgers. Of course you will not be able to get a full transaction history if your node did not track all ledgers but since new transactions only depend on the current account state (not on the exact previous transactions) it can validate them without any issues.

Here is a good read about stellars replicated state machine concept.

  • this is a good answer. to emphasize: there are very few scenarios where one would actually want to read the entire history. in particular: if you want to provide "blockchain explorer" like functionality. the transaction history is, in a sense, ephemeral data. its something you discard after a few days/hours. – FuzzyAmi May 16 at 8:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.