Taraxa Weekly Tech Update: 2020 Week 3
New bits of code merged into Taraxa this week with contributions from Taraxa’s core team and our brilliant community. On to the details!
Our team has been diligently working on maintaining the stability of Aphrogenes Testnet. To that end, we’ve successfully accomplished several sprints on the secure and fair ordering of the block DAG that is essential to Taraxa’s consensus. Here’s a quick rundown of Aphrogenes’s core features and functionalities to give you the general idea of Taraxa’s initial capabilities:
Efficient proposals enable Taraxa’s PoS system to produce fair and non-coordinated block proposals, which is essential for the network’s security:
- VRF & VDF knowledge transfer dump
- Fixed PBFT chain flaky unit test get_dag_block_hash
- Added exist DAG block checking, and fix counting DAG block issue
- Added a parameter GHOST_PATH_MOVE_BACK in config file. Move back a few blocks in ghost as anchor when PBFT propose. In order to make DAG consensus in peers
- Added locking for DagManager::deleterPeriod. Comment out assert for size compare of DAG and anchor tree, need test to check if will catch up later
Among other things done this week to enable the rapid finalization of the block DAG enhancing the network’s overall throughput:
- Experimented with ways to ensure that block DAG period finalization’s voting rounds rapidly converge by dynamically selecting period block candidates a few levels back into the block DAG, instead of always voting on blocks at the frontier.
- Implemented the new sync/bootstrapping where PBFT and DAG are synced in parallel.
VM integration and RPC interfaces
We shoot for maximum backward-compatibility by adopting an EVM-compatible toolchain to ensure that developers do not need to learn a new set of tools to be able to contribute to Taraxa in the future. This past week was about making sure database commitments are atomic to prevent the crashing of nodes that creates corrupted states.
Look out for the upcoming major Testnet release! And check out our Github in the meantime.