August 18, 2019, 11:52:38 pm

Author Topic: Cardinal Chains--an Idea for Massive On Chain(s) Scaling  (Read 1129 times)

0 Members and 1 Guest are viewing this topic.

Offline tadspoles

  • Legendary
  • *****
  • Posts: 629
  • Karma: +46/-0
    • View Profile
Cardinal Chains--an Idea for Massive On Chain(s) Scaling
« on: May 14, 2017, 03:34:55 pm »
At a certain block height (when block's are getting full), addresses with coin are divided up between new chains--a chain split.  The miners (and full nodes) also divide up between chains.  At this point, addresses on chain 1 can only send to chain 1 however any address created will work on any chain.  So now when you spend coin on chain 2, it will be received by an address on chain 2.  Any new address created, however, can receive coins on any chain but, once again only spend on the chain it received on. 

Example:
If there were 8 cardinal chains,  address E1UG2nBnxbKoBuvZt1NQqxkRiZR35gfsJS could exist on all chains but this would be a separate identity for each one.  Another address on chain 2 could send 5 coins to E1UG2nBnxbKoBuvZt1NQqxkRiZR35gfsJS and the balance for E1UG2nBnxbKoBuvZt1NQqxkRiZR35gfsJS on chain 2 would be 5 (assuming it was 0 initially).  The other 7 chains would not have a record of E1UG2nBnxbKoBuvZt1NQqxkRiZR35gfsJS.  However, if an address on chain 8 wanted to send 10 coins to E1UG2nBnxbKoBuvZt1NQqxkRiZR35gfsJS, it could and the balance for E1UG2nBnxbKoBuvZt1NQqxkRiZR35gfsJS on chain 8 would be 10.  2:E1UG2nBnxbKoBuvZt1NQqxkRiZR35gfsJS could send up to 5 coins on chain 2 and 8: E1UG2nBnxbKoBuvZt1NQqxkRiZR35gfsJS could send up to 10 coins on chain 8.  Notice the prefixes designating the cardinal chain.


Current block size limits could be maintained.  The transactions would be divided among chains over time allowing for much greater scalability.   A protocol would have to be determined for wallets and partial nodes(spv,etc.) to discover full nodes on each chain so when a client wants to spend coin on a particular cardinal chain(chain 1, chain 2, chain 3, etc.) it can reach the proper full nodes for that chain.  Also, any cardinal chain can split when blocks start getting full. 

There are a ton of implementation details but this is the general idea. 
« Last Edit: May 14, 2017, 06:43:52 pm by tadspoles »

Offline tadspoles

  • Legendary
  • *****
  • Posts: 629
  • Karma: +46/-0
    • View Profile
Re: Cardinal Chains--an Idea for Massive On Chain(s) Scaling
« Reply #1 on: May 14, 2017, 04:01:38 pm »
High bandwidth points such as exchanges and online-wallets can run either a pruning or full all-chain node.   Those with bandwidth constraints can run either pruning/full multi-chain  or single-chain node depending upon bandwidth and disk constraints.     

Also, implementation details are wide open.  Perhaps once a split is needed and a new chain is created along with the accompanying nodes and miners for that chain, addresses are balanced over time instead of all at once on the new chain.   

Offline tadspoles

  • Legendary
  • *****
  • Posts: 629
  • Karma: +46/-0
    • View Profile
Re: Cardinal Chains--an Idea for Massive On Chain(s) Scaling
« Reply #2 on: May 14, 2017, 07:15:38 pm »
Possibly the history of an address and which cardinal chain it went to can be included in the address.  For example: 

1:2:4:E1UG2nBnxbKoBuvZt1NQqxkRiZR35gfsJS

So this address started on chain 1, moved  to chain 2 (upon a chain split) and finally moved to chain 4.  If an attempt from chain 2 is made to spend the balance that used to exist there it couldn't because the address has moved to chain 4.  The balance can only be spent on chain 4. 

Anyhow, this is just a thought.  Might not be needed.