Payment system

From Mochimo Wiki
Revision as of 04:17, 4 October 2020 by NickP05 (talk | contribs)
Jump to: navigation, search

What is a WOTS ?

The WOTS is a unique public identifier for an account. It's the adress that you send to someone else to receive a payment. The WOTS is usually coded in hexadecimal and is 4416 characters long. It consists of two parts:

  1. The unique signature
  2. The TAG

The first part, the unique signature, is the public key. It changes every time you make a transaction. It's 4392 hexadecimal characters. The Mojo wallet generates 100 unique signatures by the time you create a wallet. Every signature consists by 2 parts: the public and the private. The public signature, as said before, makes the first 4392 hexadecimal characters of the WOTS.

The WOTS, as said before, changes at every transaction. So how can someone send some Mochimos to someone else?
A WOTS to be enabled should include also the TAG part. The TAG part constists by the last 24 characters of the WOTS. The TAG never changes. When the WOTS is generated doesn't include a TAG, but it ends with this standard tag:

  • 420000000e00000001000000

The WOTS to be valid should include the unique TAG identifier. In this case to activate a WOTS assigning a TAG you need a special transaction. That transaction is performed by the fountains. They perform a small payment, then the miners will incorporate that transaction in the mining block and, after the block is mined, the TAG is permanently assigned: noone can take it, noone can change it (also the owner can't), unless the account has not the minimum Mochimos required.

Performing a transaction

All below this refers to the Mojo wallet. If you need a detailed process of all this take a look at the Exchange_Integration To perform a transaction you have to know your receiver's TAG. The TAG never changes so it's reccomended to use the TAG instead of the whole WOTS. After you inserted the TAG in the Mojo wallet, it will try to resolve the TAG, or in other words, requests from the network the latest WOTS of the receiver.

After the wallet obtains the receiver's latest WOTS, it will start to generate a new WOTS for the sender account. Obviously the new sender's WOTS will end with the same TAG as before, but with a different signature because it's very unsafe to use the same signature twice.

The transaction will look like this:

[Block: 210781]
TxID: f5c599904ff2e8fb023f722b37bb28e67d48b0947727afbd3ae7e32e70d66e3b
Source address: wots:4cd4ae7c995ce45dee7ad7812cc2031f58b29e92905d501fe50f97ac6e2fee24
Destination address: tag:01add256a1b1794a83f3c86e
Change address: wots:6e46acafc5c94586e0895484b32342d03017832083f1a6f8eb7a02eca938a8be
Sent: 7.682738943MCM
Change: 0MCM

<ref>Block 210781, additional text.</ref>

This is a real transaction that took from the Discord channel "network stream" of Mochimo's server