Published on: 2015-10-09T04:16:50+00:00
A developer has raised a question on the Bitcoin mailing list about the need for the network to retain every transaction since its inception. The developer suggests that instead of starting from scratch with each transaction, nodes could rely on a small working "transaction log". This would enable companies to use transactional information from devices like PDAs or relay information to satellites without having to store every historical transaction indefinitely.Responders to the query have pointed out that in a trustless system like Bitcoin, all transactions need to be confirmed by the entire blockchain to ensure their validity. However, they clarify that downloading the entire blockchain does not necessarily mean it has to be stored entirely. They propose the implementation of Simplified Payment Verification (SPV), which would allow users to validate and download only the portions of the blockchain that they are interested in.In a separate discussion, an experienced database engineer is curious about the inner workings of Bitcoin's architecture, specifically regarding its transaction structure. The engineer notes that bitshares 2.0, a cryptocurrency platform, is adopting a transaction structure similar to relational database management systems (RDBMS) that have been using this method for over three decades.The engineer questions why the Bitcoin network replays every single transaction from the beginning and stores that information on each core node. They suggest that it would be more efficient to maintain a checkpointed state and only store new transactions. The engineer proposes that the responsibility of backing up historical transactions could be left to "historical" nodes or collectors, allowing the network to operate with greater efficiency and speed. By reducing the transactional workload and discarding the burden of previous transactions, the engineer believes Bitcoin could become a highly decentralized system that is resistant to disruptions.Furthermore, the engineer suggests that integrating a small ODBC (Open Database Connectivity) or JDBC (Java Database Connectivity) connector on the Bitcoin client could enable traditional RDBMS systems to handle the heavy load. This would allow the Bitcoin core to rely on everyone at a level that would be difficult for anyone to disrupt, thanks to the limited amount of transactional data being processed.The engineer concludes by acknowledging that these are just initial thoughts and emphasizes their commitment to researching the Bitcoin code further.
Updated on: 2023-08-01T16:34:54.556447+00:00