Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Improve stylistic of point 5

...

  1. A bootstrap node exists and will distribute B to those that connect to it.
  2. The validators participating in this approval process know the bootstrap node address in advance and have also set up their own nodes with a copy of what they believe B and the minimum number of signatures should be. They also generate a signature based on this information and give it to the node.
  3. B (a BlockMessage Protobuf) is communicated as part of a special message (UnapprovedBlock Protobuf) which contains additional information:
    1. The minimum number of signatures needed for B to become approved
    2. The timestamp this message was sent
    3. The amount of time during which signatures in excess of the minimum requirements will be accepted 
  4. The bootstrap node will send these messages to any other node that connects to it. From the time the first message is sent, it will wait the specified amount of time for responses. After this time has elapsed, the bootstrap will check if enough signatures have been accumulated. If no then it will continue waiting for signatures, repeating the check with each new signature received. If yes, then it will send a special message (ApprovedBlock Protobuf) to all participants containing B and the following additional information:
    1. The minimum number of signatures needed for B to be valid
    2. The signatures obtained
  5. When a validator's node receives the UnapprovedBlock message, the contained BlockMessage is compared with the version specified by the validator at setup. The minimum number of signatures is also compared. If they match then the signature generated by the – generated by signing B's blockHash field using validator's private key (corresponding to the public key they are using used as their validator identity) signing the hash of B (which is contained in the BlockMessage) plus the and adding the minimum number of signatures (plus defined by interpreting the hash given during the setup to the resulting hash treated as an unsigned integer ), which was given during setup is – is sent along with the validator's public key as a response to the bootstrap node.
  6. Once created, the ApprovedBlock message will then be available to for others to obtain, thus allowing them to also setup the blockchain network. An ApprovedBlock is valid if there are at least the minimum number of signatures, and each signature was obtained by one of the bonded validators signing in the way specified above.

...