From the desk of François-Xavier Thoorens, ARK’s Head of Development.
Our journey started 6 months ago (21st of March 2017), and so much has been happening, that it is still unbelievable what has been achieved by the ARK team, and most importantly, by the community. For that, we cannot thank you enough. To name just a few things done in this half year of ARK’s life:
- Client libraries have been implemented in most common programming languages and frameworks (Java, TypeScript, GoLang, Python, .NET, PHP / Laravel, Swift iOS, Ruby)
- Ark Desktop client with over 100 pull requests from the community
- First community projects launched (first SmartBridge implementation connecting ARK and Ethereum and different hardware testings for IoT applications)
- Major ARK Desktop improvements, redesigns, and UI improvements.
- Various tools that are helping delegates and new developers to contribute in different ARK projects.
As head of development, I would like to personally thank you all for making this project yours.
With the amount of work done in the last few months, we have gathered a lot of technical feedback. It became clear that we have enough information to make a BIG overhaul of the ARK protocol. The technical details are as follows:
- Adding new features for next level of blockchain usability. With the increase of ARK price, the fees can be too high in many instances. We will enable market fees in 2 steps. Fortunately, a lot of work has already been done to include the fees in the serialization of the transaction, so we won’t need a hardfork to enable the new system, and changes can be done rather quickly.
- Redesign serialization of transactions. The current implementation inherited from the original Crypti design does not fit the needs for scaling the blockchain as we envision in the future, so we want to get ready for higher network usage. ARK currently hits 200TX/block (every 8 seconds) on the devnet stresstests (currently still hardcoded at 50TX/block on mainnet so still a lot of room with current implementation). Limit is set mostly due to the overhead of current TX size on the network. An initial AIP draft was proposed from community member toons, but we discovered that in the actual design, the deserialization is CPU consuming in many cases. We expect this redesign will increase the TX throughput by at least 10x.
- Redesign the transaction architecture. The current design makes it quite difficult to integrate future changes: — lack of versioning — unusable timestamping — malleability issues in the calculation of ID — lack of timelock — missing capabilities to leverage several cryptography signatures.
This will be addressed in our upcoming DevNet testings, before pushing updates to MainNet, so stay tuned.
Upcoming DevNet Release
We are working on the reduction of transaction fees, and also enabling a fees market. This process will require 2 releases:
Version 1.1.0: this is a soft fork, with the following fee structure and integrations:
- ARK transfers (type : normal TX) : 0.01 ARK
- ARK voting / un-voting (type : voting TX) : 0.02 ARK
- 2nd passphrase registration : 1 ARK
- Delegate registration: 10 ARK
- Introducing an option to un-vote and vote for a delegate in the same TX making it more user friendly, negating the need to vote once for adding and once for subtracting a vote. Also negates the need to move funds to a new account and vote from there to save on a transaction cost. (This is NOT yet implemented in the Desktop Client)
After we release the soft fork DevNet block for 1.1.0, all blocks forged on DevNet after that will start accepting transactions with this new fee structure. While 1.1.0 is in testing, we will be working on the 1.1.1 DevNet update.
Plans for Version 1.1.1 DevNet update include:
- Enable tools for delegate nodes to setup and manage their own fees. This will enable a ‘fees marketplace’. This will grant active delegates (Top 51 forging/validating a block) the power to regulate the transaction fees on-the-fly. Giving the delegates power to respond to attacks, network spam, or overloaded network transactions. They will also be able to modify TX fees according to ARK token price so transaction cost is never to low or high.
- Increasing TX per block (TBD after initial 1.1.0 release, TX serialization redesign, and testing)
Just wanted to share some technical thoughts and plans with the community for ARK’s 6 month anniversary. Cheers, Francois.