No code tonight, I was writing code for work and cannot get my focus back.
Instead, lets me share my idea. I would like to create a software that contains all of the blockchains in a simple XML file. The file contains all the history of the one blockchain and is, in fact, the blockchain. The shared ledger is the population of the files. The shared update would be implemented by a request for control of the shared ledger and then followed by updating a blockchain single file. This file would be then supplied to all the other ledgers. Each ledger would accept the file and replace the local file. An acknowledgment of the update would be recorded. The transfer of files would be by remote-mounted directories. Thus a network of five Raspberry Pi computers all would be connected through a normal network, and each would have a remote directory for the other four systems.
The blockchains will have some control information and some data that should be encrypted. That will follow as I get this working. The main part of the blockchain is a 4096-byte store of hex data. This can be a program or data. I intend to build a contract that is a program and data in the hex store. An update of the file adds a replacement of the store at the end of the file. I will design a hex assembly-like language for this in another iteration.
The request to perform an update will require a handshake and proof-of-work (POW) or a simulation of that (i.e., a very weak POW like requiring two hex values when added together equal twelve). The control will then pass to the controlling process which will add a new file to the shared store or will replace an existing file’s content. The changed to the shared ledger then must be sent, the local copies aligned with the new data, and a response sent back.
For this iteration, I will try to get the basic files and UUIDs built. I will build a store and begin with that. I will follow with more complexity and multi-system updates.
All this should be fun.