Sync Services
Services that synchronize coins across the RAIDA network.
Blockchain
There is a blockchain that stores information about coins in the RAIDA network.
Each RAIDA has a CloudCoin that gives it access.
Blockchain has the following data:
- Coin Denomination
- Serial Number
- RAIDA (0-24)
- RAIDA ARRAY ID
- DNS Domain that the RAIDA that the coin is on
- Zero proof thing
- Number of affirmations
- Time Created
- Reason Created
Rules:
- IP addresses can only be used once (RAIDA cannot be on the same machine)
- Coins can only exist once.
- Zero Knowledge Trusts must be implemented.
Clients create the blocks
Client wants to create new coins:
- By Conversion
- By Making Change
- By Joining Coins
Conversion
- Client sends coins to be converted
- Sends calls the GET TICKET TRANSACTION services which includes the client sending a 16 byte transaction number.
- RAIDA checks to see if the coins exist on it. Responds with a ticket
- Client decides which RAIDA will be the Master Block Coordinator.
- Sends the tickets, transaction number, master block coordinator to ALL RAIDA.
- All RAIDA check with other RAIDA. If they are good they will take the advice from the Master Block Coordinator.
- All RAIDA change their Blockchains to what the Block Master says.
By Making Change
Client sends coins to make change and gets them back. After downloading coins, client must get tickets and call the register new coins service
- Client Gets change
- Sends calls the GET TICKET TRANSACTION services which includes the client sending a 16 byte transaction number.
- RAIDA checks to see if the coins exist on it. Responds with a ticket
- Client decides which RAIDA will be the Master Block Coordinator.
- Sends the tickets, transaction number, master block coordinator to ALL RAIDA.
- All RAIDA check with other RAIDA. If they are good they will take the advice from the Master Block Coordinator.
- All RAIDA change their Blockchains to what the Block Master says.
By Joining Denominations
Client sends coins to make change and gets them back. After downloading coins, client must get tickets and call the register new coins service
- Client sends coins to be converted
- Sends calls the GET TICKET TRANSACTION services which includes the client sending a 16 byte transaction number.
- RAIDA checks to see if the coins exist on it. Responds with a ticket
- Client decides which RAIDA will be the Master Block Coordinator.
- Sends the tickets, transaction number, master block coordinator to ALL RAIDA.
- All RAIDA check with other RAIDA. If they are good they will take the advice from the Master Block Coordinator.
- All RAIDA change their Blockchains to what the Block Master says.
RAIDA Synchronization Process:
RAIDA Checks their own records to see if the coin exists. If not, RAIDA does nothing. If yes, the RAIDA will add the coins to the blockchain. The only difference is the RAIDA ID (0-24).
RAIDA broadcasts to the other RAIDA that it is adding the coin. RAIDA Receive broadcasts that they are adding the coin to their nodes. These all follow the exact form and all RAIDA can then add the block to their blockchains and the hash should be the same. If there are not thirteen exact same blocks then no block is created and those coins are not added.
RAIDAs can scan the blockchain to see if they are missing coins or need to delete them.
Root RAIDA:
- Only the root RAIDA can create new coins.
- The exchange exists on the Root RAIDA only
- Lockers can only contain coins from the same RAIDA.
Each RAIDA can make changes to the blockchain.
When a coin is created by a RAIDA, it will add it to the blockchain. These new coins will have a timestamp on them. The coins will be added to a block and the block added to the blockchain. New coins cannot be spent for a few minutes while the network converges. The blockchains will look at the new block and see if the added coins match what they have. If yes, they adopt the new Block. If not they reject it.
flowchart TD A[Start] --> C{More than 13 'p's} C -->|Yes Authentic| D{Has 'n' or 'f's} C -->|No Not Authentic| E{More Than 13 'f's} E -->|Yes| F[Counterfeit] E -->|No| G[Limbo] D -->|Yes| H[Fracked] D -->|No| J[Bank]
Direct RAIDA style
A faster way to sync the RAIDA's serial numbers.
The idea is to make it so the calling RAIDA has to send more data than the responding RAIDA needs to return. This would guard against DDOS attacks.
Sync Process:
- The RAIDA that wants to sync will send a request to other RAIDA and this request contains the same type of information as the Hash PANG. It will have ranges and singles. The request would also specify the denomination and the starting and ending serial numbers.
- The responding RAIDA would look up all the Serial numbers that fall within the range specified and compare what the caller sent.
- The responding RAIDA would respond with an "Add list" and a "Delete" list. They would also use ranges and singles.