Greetings,

I think extension blocks could be optional, and it could be many different 
extension blocks with different functionalities like Confidential Transactions 
or smart contracts. Only the interested nodes would enable this extension 
blocks, the rest would see only the classic blockchain without extension 
blocks. So it's not a matter of "old" and "new" nodes, all are updated nodes 
with extension blocks enabled or not. The only ones that need to understand the 
protocols of all existing extension blocks are the miners, which must verify 
that transactions from "anyone-can-spend" to a "classic" address are legal.

So this is what a node with all extension blocks disabled would see in the 
blockchain:

  *   Classic address to classic address: as always
  *   Classic address to extension block address: transaction to 
"anyone-can-spend"
  *   Extension block address to classic address: transaction from 
"anyone-can-spend"
  *   Extension block address to extension block address: it doesn't see it 
because it doesn't download the extension blocks, only the main blocks.

All coins that are in extension blocks are also in the "anyone-can-spend" 
address of the main blocks, so basic nodes are aware of the total number of 
coins. It's totally safe.

So for the particular case of Confidential Transactions, it would work as 
explained. The CT transaction details would be in the extension block which 
could have the same size as the main block so the total size of the blockchain 
(main blocks + extension blocks) would be double.

With this method bitcoin could add new features without losing the "store of 
value" property, as the base protocol never changes. Again, maybe I'm missing 
some technical detail here, I'm still learning 😊

Regards


_______________________________________________
bitcoin-dev mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to