Looking at the source code, it seems that Cardano used to not have headers-first sync, but later, it started doing headers-first sync. In bitcoin, there's a benefit in headers-first sync because block headers are very small (80 bytes) and the cost to mining is extremely high that headers are almost always valid when proof of work is valid.

In proof of stake, it seems to be a bigger cost, having to include tons of proofs with lots of data. The data is easily 500 to 1000 bytes. It also adds a security risks because headers-first sync is, by its nature, more trusting and requires more checks.

Why did Cardano decide to go that route? What's the benefit, which overcomes all these challenges? Why not sync blocks directly?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.