Communication channels
The communication channel between wallet clients and abtus nodes are encrypted with the pubkeys of each party with an optional and recommended middle abtus node to protect the user IP address privacy. It works similar as a VPN with abtus nodes as routers/servers. The encrypt/decrypt process occurs inside the isolate crypto processor unit, running open source software.
Proposed basic operation modes:
There are many variants to implement the Coinjoin technology with the complement benefits of abtus node Crypto-physics. Additional variants could be created with the standard API. Here are some basic forms.
1- Simple Coinjoin implementation.The user sends the signed inputs and desired outputs, Trust operator create the Coinjoin transaction. Suitable for well know sites (crypto-currency exchanges), high reputable sites/ operators with external trust layers or collateral. The abtus node guarantees a private processing with no logs. User IP address, inputs and outputs mapping are not reveled to operator at any time.
2- Regular Coinjoin service in a distributed network, shared signed inputs.The user rely the inputs signature approval to multiple and different abtus devices.
User creates a transaction with an open output and a shared secret signature. User submits the transaction with incomplete inputs signatures, the desired outputs and denominations to a pre-selected final Coinjoin processor. The shared secret is defined from a set of N abtus nodes (proposal N=6, with minimum t=4 required to expend the input). N Abtus nodes validate the outputs in the Coinjoin transaction for the user and sign individually each input as a request of the final Active abtus Coinjoin processor. N abtus nodes can be selected by the user randomly.
The Active abtus processor node is selected from a deterministic function to produce a distributed processing (and fair balanced income between operators) based on the last hash block group value (almost distributed random) produced by miners.
"N" or "Active" abtus operators can not get information about the transaction mapping or user IP address.
3- Coinjoin + POS + quick paymentSimilar to simple Coinjoin implementation but with an additional output to restaurant hold coins temporarily. Suitable for public places with a service time equivalent or larger than one block creation. (ex. Restaurants).
1- Restaurant operator prints the "welcome" ticket and gives it to diners inside the menu. Diners scan the code and start the two stage Coinjoin transaction with quick payment release. Multiple parties (inputs) are accepted.
2- Abtus node process the first stage of the Coinjoin transaction. Diners order and enjoy the food and service.
3- Restaurant operator prints the "thank you" ticket for final processing. Diners can leave the restaurant immediately without additional wait or make changes to the final Coinjoin processing.