Feature Request: SubBlockChains

NEM Feature Request

It is only an Idea to discuss.

Hello :smile:
First, I’m a native German speaker, therefore my English isn’t well. This is my english translation and the German Version is below.

The Idea SubBlockchains.

This feature could be used for examble for firms who create their own Sub- NEM-Blockchain.
To build this Chain and to connect this chain with the Original NEM-Blockchain a normal NEM Account with XEM will be the initiator of the SubChainNemesis Block.

For This you need:
An Original NEM Account with XEM in it.
A NEM Node with a conncetion tot he Normal Blockchain and the SubBlockChain.
A NEM Node with the SubBlockChain feature.

This will generet a lot of prospects:
A Parallel Blockchain
The scope to set the fee to 0
The scope to reduce the Blocktime
The scope to build firm individual processes with NEM.

The SubBlockChain could work in differently ways
It could work with his SubBlockChain only Assets.
It could work with the XEM oft he Original NEM Account wich builds the SubChain. In The second case the absolutly XEM in the SubChain would be dynamicle, but ist could be transferd to MainBlockChain. In this Case the SubBlockChain could multible the XEM by a faktor of 10 or 100 or something like this.

The Advatages:
No Bloating of Blockchain with Firm Internal Transactions
Spread oft he NEM Technology
Individula functions for Groups

Technical Ideas:
The first SubNemBlock generates a unique hash which would identify every Block and Adress of this chain, like a prefix.

=====================
German:

Unter-Blockchains

Ich stelle mir vor, dass beispielsweise ein Unternehmen seine eigene NEM-Blockchain betreiben kann. Dabei würde ein Account mit XEM in der Hauptchain als SubBlockChain-Genesis fungieren.

Dies bräuchte verschiedene Voraussetzungen:
Einen Gültigen Account in der NEM Blockchain.
Einen NEM-Node mit Verbindung zur SubBlockChain und zur HauptBlockChain.
Einen NEM Node mit dem „Subchain“ feature. :wink:

Dies ergebe verschiedene Möglichkeiten:
Eine parallel laufende gültige Blockchain.
Möglichkeit ohne Gebühren zu transferieren.
Möglichkeit die Blockzeit anzupassen.
Möglichkeiten eigene Prozesse darin abzubilden.

Dies könnte sich verschieden ausprägen
Die eigene Blockchain arbeitet nur mit eigenen Assets als XEM-Ersatz, diese wären allerdings in dieser SubBlockChain „gefangen“.
Die eigene Blockchain arbeitet mit den XEM aus dem Gründeraccount z.B um Faktoren verkleinert – diese könnte der HauptAccount Besitzer dann auch zurück in die HauptChain senden. Damit wäre aber die maximale Anzahl der in der SubBlockChain ver-handenen XEM Variable

Vorteile der UnterBlockchains:
Kein Aufblähen der Blockchain durch Individual Prozesse
Vertreilung der Technik
Bei Bedarf kürzere Blockzeiten
Individuelle Features für Gruppen

Technische Ideen:
Der SubNemBlock Nemesis Account generiert einen Einmaligen Hash welcher als Prefix vor den Blöcken und den Adressen steht.

1 Like

So basically side-chains right ?

Oh, eh yes. Something like that. :smile:
I did’nt know that white paper.

Yes, the idea sounds just like Side Chains to me.

I was thinking about trying to call them Colored Chains after colored coins, but just like each colored coin has a purpose, each colored chain (side chain) would have a purpose.

1 Like

IMHO that would only make sense if your using part of the mainchain for the side-chain. So you’re “coloring” blocks to be part of something else. Like you’re coloring coins to represent something else.

If NEM were to implement that a name other than side-chains would definitely be beneficial though. I like “Parallel Chains” or “Multi-Chains”.

Quite loong time ago (actually when we were designing nem platform), we were discussing idea of parallel chains (where main point would be to speed up transaction speed on the main chain), but after many discussions, we came to conclusion, that it would do more harm than good.

When it comes to your idea of sub-chains, which is a bit different, it’s quite interesting, but problematic part is following:
most users won’t be interested to create/maintain your chain (why would they, what would be the incentive?), and there are costs: storage, network traffic.
Now, since most users (probably) wouldn’t be interested, it would have to be configurable option, and in such case it’s getting problematic to do any synch between your chain and the main chain, so any “information exchange” between the chains would be impossible, ergo you’d simply have to separate chains.

I don’t address the normal users in this case.
The basic idea of an SubChain can you now see everywhere. Poloniex, Bittrex, etc are now use a database with all users and their balances. If they are trading, the founds wouldn’t go from address to address, they go from user to user. Its like a subchain managed by one Database.
This Databse could be build and work with NEM SubChain technology for projects for Examble like the management of greenpeace, a competition of coca cola, coupening of walmart or something like this. Something big like a compeny, a organisation or so.

And I have to underline - it is just a little Idea!

Sounds like a variation of NXTs monetary system. Instead of issueing and mining new currencies you stick with the original currency.

I have to say I missunderstood your idea at first though. This is actually interesting. I have no idea how you’d keep the mainchain in sync with that subchain but what I like about this idea is that nodes that validate it could maybe not only be run by the exchanges but also by users of those exchanges as to make sure there is no monkey business. In fact the users would have to be able to run otherwise only nodes from the exchange validate stuff which kinda defeats the point of a blockchain.

I don’t understand how you want to make sure that there is no “monkey business”. To continue your example: How can somebody validate what is happening on the “poloniex private chain” (their database)?

There would be a whole other chain which nodes would have to validate. So it would work pretty much exactly like the mainchain just with funds that are inside the exchange (i.e. have been transfered from the mainchain to the exchange subchain). People would have POI scores and people could harvest with the accounts that they have in that exchange on that subchain.

Actually now that I wrote it down this makes no sense. Why would I create another chain for this? It’d be way better to just assign NEM accounts to Exchange accounts and stay on the mainchain.

It might be cool to use mosaics for that kind of thing. Have Poloniex.currencies.NEM, Poloniex.currencies.BTC, Poloniex.currencies.USD,… and shove those around between accounts.

Yeah. The only problem is amount of possible transactions per second.

If the exchange are the ones sending around the assets (which would be the case in the example i gave above) they can easily accept those tx instantly, as long as they are sucessfully broadcasted and have no fallen prey to the spam filter. It’s not like they are going to cheat on themselves ;).

Sure they can accept (or better: trust) them, but still there is limit of possible transactions per second for the main chain…

I am very interested in side/sub block chains but not for parallel transaction/balance processing.

However a side block chain might be needed to add new features and capabilities to the main block chain for processing different kind of transactions. Such as “RTP” Real Time Protocols, Real Time messaging, images/snapshots, custom databases, Decentralized applications, Storage, CPU computing power, bandwidth, …

Think about side chains here as chains of things, where every single “THING” of which would require different resources and protocol. It is almost impossible to combine all these “THINGS” in one block chain. Multiple block chains should be employed where tunnels and bridges between different chains would regulate cross block chain access.

I do not like the idea of bridging block chains through specific addresses. This probably would work perfectly on block chains that are already fully developed and doesn’t support such bridging capabilities. And for that particular reason I would like NEM developers to pay close attention to this matter. You don’t have to fully design or come up solid reasons why side block chains would be needed. Cause indeed it will be needed one day. All you have to do today is to open the door in the code design of NEM to enable and power side chains in the future whenever that is needed, so we wouldn’t have to rely on colored coins to get around design limitations.