I'm trying to understand the capabilities of Mithril. I noticed that you can bootstrap a cardano node using it as shown here: https://mithril.network/doc/manual/getting-started/bootstrap-cardano-node. But what does it mean to "bootstrap" the node? Does it only speed up the verification process or does it make the size of the node smaller?
"Bootstrap" means starting the node from scratch, and Mithril enables a fast bootstrapping of the Cardano node.
However, the size of the node database does not change: under the hood, the database of the Cardano node is restored from a Mithril certified snapshot. This accelerates significantly the synchronization of the database that is otherwise achieved by downloading data sequentially from other nodes.
AFAIK, Mithril has a "currently" and an "in the future".
- the entire cardano-node's database (~136GB) is signed by nodes running Mithril and downloaded by the new node
- thus, "fast bootstrapping" by downloading 136GB isn't all that light weight (do they also compress it?)
In the future:
- since Mithril as a signature-scheme-and-a-process-architecture can sign any data, not just "the entire database", then it can be used to sign data much smaller
- e.g, for a light wallet, it can receive a signed set of utxos, so you'll know both that (1) that's how much assets you have without needing to trust the node where you received the data from, and (2) construct a valid transaction to spend them.
Thus, looks promising!
(Somebody correct me if anything is wrong in the above.)