Published on: 2013-09-17T17:08:54+00:00
In a post on the Bitcoin development mailing list, Mark Friedenbach expressed his desire to abstract out the UTXO and block databases to allow for different key/value stores as backends. He mentioned HyperDex and Sophia as potential options, with HyperDex being a distributed, fault-tolerant version of LevelDB and Sophia being a competitor to LevelDB. Mike Hearn responded, noting that while LevelDB is fast, there are alternatives like HyperLevelDB and Sophia that may offer better performance.Hearn stated that HyperLevelDB is a forked version of LevelDB with changes to locking and compaction, making it potentially faster. Sophia, on the other hand, claims to completely outperform LevelDB in benchmarks, particularly in random reads, which are essential for UTXO lookups. Sophia boasts 438,084 random reads/sec compared to LevelDB's 167,476 random reads/sec.Moving on to Bitcoin wallet formats, Hearn expressed his opinion in 2013 about the lack of development in creating better wallet formats. He highlighted the limitations of the current Hierarchical Deterministic (HD) wallet, including privacy concerns and the potential loss of funds due to human error. Several alternatives have emerged over the years, such as MAHDW and Blockstream Green Wallet, offering enhanced privacy features and improved user interfaces.However, the adoption of these new wallet formats has been slow, possibly due to compatibility concerns, difficulty in migrating funds, or a lack of awareness about the benefits. While progress has been made since Hearn's comment, there is still room for improvement in Bitcoin wallet formats to ensure the security and usability of funds in the long run.Additionally, in an email exchange from 2013, Hearn discussed the performance of LevelDB and its competitors. He explored HyperLevelDB but found it slower for the database sizes they were using at the time. Sophia, another competitor to LevelDB, claims to outperform it in benchmarks, specifically in random reads. However, Hearn did not delve into the specifics or attempt to replicate the results himself. It's worth noting that as of 2021, Bitcoin Core still uses BerkeleyDB for the wallet.In another discussion, the use of BerkeleyDB for the Bitcoin wallet and the libdb4.8++-dev dependency was questioned. Hearn shared his knowledge about alternative options like HyperLevelDB and Sophia, which are claimed to be faster than LevelDB. He explained the differences between them, including finer-grained locking and changes to compaction. Sophia, written in C and BSD licensed, claims to perform significantly better than LevelDB, with 438,084 random reads/sec on SSD-based machines compared to LevelDB's 167,476 random reads/sec. On the other hand, HyperLevelDB appears to excel in random writes.While LevelDB is a fast key-value storage library, it may not be the ultimate solution for performance. HyperLevelDB and Sophia offer potential improvements, with Sophia claiming a significant edge over LevelDB in benchmarks. The choice between these alternatives depends on factors such as read/write requirements and specific use cases.
Updated on: 2023-08-01T05:55:44.134431+00:00