First, PoS is feasible but not in the short term. There are no other working implementations of cryptonote PoS yet, and developing one is beyond the resources available to this project right now. The only exception to that is the DPoS in XPB, which somewhat different from regular PoS, and not something I would like to pursue. Once there are open source implementations of cryptonote PoS we can consider adopting one. I lean toward a PoW+PoS hybrid that slowly tends toward PoS over time.
Second, the direction I would like to go is toward with this coin is to experiment with a lighter-weight variation of cryptonote that will be friendlier as a payment system for smartphones and other mobile devices. This requires initially some small tweaks and later significant blockchain improvements:
1.
Mobile-friendly PoW (CryptoNight Lite). The current PoW is not ideal for smaller devices because the 2MB scratchpad is too large for the cache size on most mobile and lower-end desktop/laptop CPUs. A tweak to use a 1 MB scratchpad would allow it to run efficiently on lower end CPUs including some mobile processors as well as much better performance on mainstream desktops/laptops. Credit for this idea goes to the Louisd'or project (crypto_zoidberg and doe1138), although they didn't clearly explain the benefits of it.
2.
Increased block time for fast syncing. The block time determines the number of blocks (or headers) that need to downloaded for syncing on a lightweight client, and in addition, most AEON blocks are currently empty, which is creating wasteful bloat. Finally, all cryptonote coins have higher verification costs compared with BTC forks which leads to more orphans. Instead we should use a 4 minute blocktime, which will reduce sync time by a factor of four, and reduce orphans to a minimum. Coupled with #1 we should improve sync time on lower end devices by at least 10x. Per-block rewards will be increased by 4x to maintain the same emission schedule.
3.
Signature trimming for SPV-like clients. a) tweak the transaction format using a variation of the techniques from BBR. b) add a flag to the p2p to allow lightweight clients to not download and verify signatures. They would rely on miners to maintain the integrity of the blockchain, as with SPV wallets. Full nodes will continue to store the entire chain with all signatures.
4.
Blockchain pruning for scalability. I propose to expire parts of the chain altogether. After some period of time unspent coins would become unspendable and could be pruned. This will allow the blockchain to stay small forever, and not outgrow small devices. Wallets will need to automatically respend coins that are approaching the expiration window back to the same wallet, or at least recommend that the user do so. There will be a longer grandfather period for existing coins but eventually they too would expire. A way of doing long-term (but not infinite) cold storage with a prepaid storage fee may be added later (likely along with multisig). This will also improve anonymity by reducing age-based attacks.
5.
Multisig and payment channels for escrow, contracts and instant payments. Cryptonote coins currently rely on a very lightweight hard-coded scripting system that makes transactions very small, easy to verify, and more secure than full-fledged scripts. I would like to maintain that lightweight system, but add a few more hard-coded cases as required for multisig (escrow, and some forms of contracts) and payment channels (trustless instant payments). This will also require a tool set (library and applications) for implementing the real-time components of payment channels.
Roadmap (schedule target, subject to change according to available resources)
1,2. Tweaked PoW, blocktime (1 week)
2.1. Cryptonote GUI wallet integration (*)
3. Signature trimming (1-2 month*)
4. Blockchain pruning (3-4 months*)
5. Multisig and payment channels (6 months*)
* subject to evaluation of wallet integration task
Also (planned but no specific schedule)
A. 32-bit and ARM support
B. Database or collection swapping (low memory footprint)
Although my interests are primarily in the area of blockchain technology and experimental improvements to the cryptonote protocol, I invite others to join the project and work on other items such as a GUI wallet (though we can likely adapt existing GUI wallets from other cyptonote coins), mobile wallets, marketing, etc.
I have created a
new donation address for the project. The amount of donations received will have some influence on the pace of work, largely because it allows me to gauge the interest of the community in a credible way, and I'm less interested in working on something that no one cares about.
Generated new wallet: WmsSWgtT1JPg5e3cK41hKXSHVpKW7e47bjgiKmWZkYrhSS5LhRemNyqayaSBtAQ6517eo5PtH9wxHVmM78JDZSUu2W8PqRiNs
view key: 71bf19a7348ede17fa487167710dac401ef1556851bfd36b76040facf051630b
EDIT: Added 32-bit and ARM support, low memory
EDIT: Added cryptonote GUI wallet integration