Fusion is very excited that the core functions on PSN are working smoothly, including time-lock, short account address, create asset, PoS consensus and more.
At time of writing we are proud to announce that we have 194 active nodes and we are growing fast, a testament to our strong and clever community. Each node is actively participating in validating and securing transactions on the PSN blockchain, demonstrating the immense power of decentralized consensus.
The PSN is an iterative process that will continuously improve over the coming weeks and months. Thanks to the hard work of our technical team and the testing and reporting work of the community, bugs have been captured in real time. This enables the team to begin working on solution quickly and efficiently.
Once again, the Fusion team would like to thank the community for all the useful information, observations and feedback that has been captured over the last week.
The technical team is currently working on resolving a number of issues that can be grouped into the following three categories:
- Runtime errors
- Consensus, Features, and Functionality
- Fusion gateway
Runtime - The runtime issues relate to the code derived from the Ethereum Protocol.
- Low memory machines (4GB) regularly crashing.
- Nodes outputting invalid invalid merkle root errors.
Solutions in progress
Fusion is updating the inherited Ethereum Protocol code to the latest version, this is a relatively straightforward fix as our changes are isolated into separate modules. Specifically, the unstable Ethereum code explains why low memory machines have been regularly crashing and also why nodes are outputting invalid merkle root errors. Both these issues should be addressed after updating to the latest Ethereum release. This should improve network communications, blockchain stabilization and the overall performance of the network.
Consensus, Features and Functionality - Code relating to Proof of Stake, swaps, time-lock, assets creation, auto-buy ticket and more.
- Data retrieval is slow
Solutions in progress
The original code was was written using ‘search through array’ techniques which need to be optimised to improve the speed of data retrieval. New code has already been written that uses hashmaps and linklists to improve speed, this code needs testing before being deployed. For example, in the current logic related to tickets we run through an array of 1 to 1000 many times in the validation process which is not efficient. The new process will be significantly optimized to speed up transaction and block validation processing and in turn improve block synchronization.
The Fusion Gateway - The Fusion Gateway is the entry point for accessing the historical record of transactions and submitting new transactions on the Fusion blockchain.
- Fusion’s public Gateway is lagging behind because bad actors are sending high volumes of RPC calls trying to execute attacks.
Solutions in progress
With the launch of PSN, Fusion set up a public Gateway. The performance of the Gateway impacts staking, the ticket purchasing function, and the Fusion Block Explorer. The Gateway was made publicly available to the community to provide easy access to the network. This means that all of the nodes in the ecosystem (Fusion’s internal nodes and community nodes) access the historical record of transactions and submit new transactions via the same entry point. Unfortunately, bad actors are taking advantage of the gateway and using it to try and execute a hack to steal a users private key and flood it with RPC commands. The bad actors use what is known as a passphrase attack, sending large volumes of RPC calls to the Gateway in an attempt to unlock another users JSON file. This action is overwhelming the Gateway and causing the Gateway's blockchain to lag. This manifests itself in slow transactions being submitted to the blockchain, wallets not updating quickly, and the block explorer not updating as fast as it could. The Foundation is considering all below resolutions to fix this issue.
- Set up a Gateway farm that is IP protected for Fusion’s internal nodes. This will enable Fusion’s applications such as the block explorer to run efficiently and smoothly.
- Publishing a docker image that is both a local gateway and staking node, so community members can easily set up their their own private gateway to submit transactions faster for ticket purchasing. Community members, just like with any other blockchain projects, will be encouraged to run their own own local gateways which is actually the industry standard. Fusion is preparing a docker image and instructions on how run a gateway on the Github project readme.
- Fusion is considering setting up a public Gateway farm that community members can access that will be more substantial than the single Gateway currently available. This is still to be discussed as community members should be running their own local gateway.