Any thoughts on nxt 2.0? Aka. Will fimk take a similar scalability approach?
Yes I have some thoughts about 2.0.
https://nxtforum.org/core-development-discussion/nxt-2-0-design/msg210552/#msg210552https://nxtforum.org/core-development-discussion/nxt-2-0-design/msg210562/#msg210562https://nxtforum.org/core-development-discussion/nxt-2-0-design/msg210588/#msg210588TL;DR
It's very unlikely we will go the same route as NXT has gone with the 2.0 design.
We believe to tackle the scalability issue you first have to move the so called "derived data" away from the core FIMK database (the same one holding the blocks and transactions) and into a database optimized for serving big numbers of users.
Right now we do that with MySQL but our replicator setup could just as easily work with larger databases since it's much like a plugin.
Then for anyone hosting a site that uses FIMK in whatever way the setup is to install the FIMK background process (which talks to the p2p network) and tell the FIMK background process to what external database it has to replicate the data now stored in the FIMK database.
This way we can remove the biggest part of all the various tables and indexes in the FIMK database and even stop creating new Attachment types (which require hardforks to implement) since they will exist outside the blockchain and only have meaning in the replicated database.
All of this fits nicely with our recently shifted focus towards a bigger end to end setup which consists of:
- a client framework (we have rewritten lompsa in Typescript and Angular 2 for this - this is mostly done)
- a server framework (this part is under heavy development and uses Scala and Play framework, this is both enterprise friendly and can run under heavy server load)
- a replicator framework (there is a functioning prototype on github right now which creates a one to one replication of various blockchain data to an external MySQL database)