Blockchain essentials.
In a blockchain, transactions are packaged into blocks.
- A blockchain connects multiple blocks together.
- With an ingenious combination of cryptographic tools, the blockchain is rendered absolutely tamper-proof : because anyone with the right knowledge and tools can check at any time if the blockchain has been modified.
- As a result, one can only add a brand new block, never modify an existing one. This process is called the « consensus » and is very complicated so we won’t discuss it.
- Each time a block succeeds your transaction, your transaction is said to get 1 confirmation, the transaction is then considered unretractable.
In very rare cases, some of the last blocks can be retracted (because of « consensus » failures), invalidating the transactions they contain. Since it happens extremely rarely you don’t need to take this into account for most transactions, only very sensitive(large) transactions need to get more than an arbitrary number of confirmations to be considered fully settled(6 is the absolute confidence threshold for bitcoin).
These all are independent blockchains with their own rules, Bitcoin is available to all users while subscribers get access to Ethereum, Polygon and USD Coin on Polygon.
How to make a transaction
Build
First, you make a data set containing all the details of the transaction : the sender, the receiver, the amount and some other things.
Sign
Then you cryptographically sign the transaction. More powerful than a handwritten one, a cryptographic signature proves unequivocally that you own the sender's address.
Send
Finally, you send the transaction details + signature to the blockchain, it will first check if the signature is okay and then process the previously discussed insertion of the transaction in the blockchain.
Virtual blockchains
A virtual blockchain doesn't really exist on its own, it can only reside on top of a (real) mother blockchain (like for example, ERC-20 token USD Coin can reside on Ethereum). But you never directly interact with a virtual blockchain, you can only interact with it through the mother blockchain.
As a result when you want to send or receive on a virtual blockchain, you must always use addresses of and pay the fees on the mother blockchain on which it resides.
For example to send USDC on Ethereum, you will always have to send USDC on Ethereum addresses only and pay the fees on Ethereum blockchain. As a result, you always need some native currency on the mother blockchain(like ether on Ethereum) to be able to send on the virtual one.