thaler icon indicating copy to clipboard operation
thaler copied to clipboard

Problem: no UTXO set commitments

Open tomtau opened this issue 5 years ago • 2 comments
trafficstars

currently, the utxo set is maintained in the full node's internal state as this tx_meta column of bitvectors.

it'll be good to have commitments to UTXO set in the application state / app hash:

  1. light client could check/verify if their utxos are a part of the latest utxo set
  2. may be useful for full node data bootstrapping -- node will just need to verify the validator set, compute the "diff" between its last stored UTXO set and the latest one, and fetch the needed (i.e. part of the latest UTXO set that are not in the last stored one) transactions from the remote node.

could potentially use something like https://dci.mit.edu/utreexo

tomtau avatar Jan 05 '20 02:01 tomtau

Simply store utxo in a merkle trie as (TxId, TxoSize) -> Option<()>? UTxO merkle trie and staking merkle trie can share the same underlying key-value storage with different columns.

yihuang avatar Apr 04 '20 06:04 yihuang

ref: https://github.com/devashishdxt/utreexo https://github.com/stellar/slingshot/blob/c0d0cdc927fa0f3a5a9b175a844a6f87bf3a1609/zkvm/docs/utreexo.md#utreexo-root https://github.com/stellar/slingshot/blob/c0d0cdc927fa0f3a5a9b175a844a6f87bf3a1609/zkvm/docs/zkvm-blockchain.md#block-header

tomtau avatar Jul 30 '20 00:07 tomtau