tomtomtom7
Posts: 3
Joined: Fri Feb 05, 2016 5:17 pm

Bitcrust: Fast parallel block validation without UTXO-Index

Thu Apr 06, 2017 7:04 pm

I am working on a new Bitcoin Node, and have build a very fast storage engine. The idea is to abandon the UTXO index and use a fast concurrent spend tree instead.

The results are very promising. Further information is here: https://bitcrust.org

Performance results: https://bitcrust.org/results

Source code in Rust is available at https://github.com/tomasvdw/bitcrust

AndrewStone
AMA
AMA
Posts: 20
Joined: Mon Nov 02, 2015 2:52 pm

Donate BTC of your choice to 1zerg12nRXZ41Pw4tfCTqgtdiJx6D1We3

Contact: Website

Re: Bitcrust: Fast parallel block validation without UTXO-Index

Wed Apr 12, 2017 2:52 am

how does the spend tree differ from the blockchain itself?

It seems like this approach requires a lot more memory than the UTXO set approach for performance since it is holding a lot of unnecessary data (the spent records).... or another way of putting it is that if the UTXO set approach used the same amount of memory it would also be blazingly fast. Is this not true?

tomtomtom7
Posts: 3
Joined: Fri Feb 05, 2016 5:17 pm

Re: Bitcrust: Fast parallel block validation without UTXO-Index

Fri May 12, 2017 7:36 pm

The spent tree differs from the blockchain in that it only traces the transaction graph without information on the transactions. With this,
double spends can be detected.

It requires only 64 bit per transaction + 64 bit per input for a total of about 6gb, needed only to check double spents

Not much memory is used, because only the tail of the spend-tree is normally addresses (as memory mapped files). The rarely used early parts are not loaded into memory. The fact that it is ordered as the blockchain itself makes it highly cache efficient.


It is true that the spent tree uses this memory *in addition* to the need to access outputs for script verification, but as this normally occurs "in-between-blocks" this is much less stringent.

Return to “Development & Technical Discussion”

Who is online

Users browsing this forum: No registered users and 1 guest