Dear DO Users,
Recently, we have identified transaction failure issues during contract operations experienced by some users, resulting in unsuccessful transactions. To address this promptly, the developer community conducted a thorough investigation, identified the root causes, and implemented corresponding solutions. Within two weeks, five major updates were deployed to optimize network synchronization and on-chain transactions. This article outlines the reasons for transaction failures caused by block rollbacks, the measures we have taken, and our future optimization plans.
1.Causes of the Problem
Through our investigation, we identified the following root causes of contract transaction failures:
Network Node Synchronization Issues: Some network nodes failed to synchronize data promptly, preventing fast block generation and affecting transaction success rates.
Contract Transaction Processing Problems: Block rollback mechanisms caused failures during the execution of certain contract transactions.
Delays in Block Confirmation and Creation: The DO network’s unique block extension approach introduces an elastic redundancy interval, leading to instability in transaction confirmations.
2. Current Improvement Measures
To effectively address transaction failures, we implemented optimizations in three key areas:
2.1 Enhancing Network Node Synchronization Efficiency
Efficient node synchronization is essential for transaction success. Key measures include:
Fixing Node Synchronization Stoppage Issues: Resolved bugs causing node synchronization interruptions.
Expanding Broadcast Block Coverage: Increased the broadcast range to ensure more nodes receive new block information promptly.
Reducing Block Synchronization Intervals: Optimized synchronization intervals to allow nodes to complete block synchronization faster.
2.2 Optimizing the Contract Asset Transaction Process
In the DO network, contract asset transactions are EVM-compatible and support parallel execution across different nodes. To address block rollback-induced failures, we optimized the contract transaction flow as follows:
Adding Pre-UTXO Verification Mechanism: Ensured unspent transaction outputs (UTXO) are validated before sending transactions to prevent invalid operations.
Introducing Contract Transaction Packer Verification: Conducted multi-node data checks before transactions are recorded on-chain to ensure proper packaging.
Using Global Network Height for Transaction Creation: Ensured every transaction is based on the latest global block height to avoid failures caused by block delays.
2.3 Improving Block Creation and Confirmation Process
The DO network’s block structure supports multiple blocks at the same height in parallel extension with elastic redundancy. Key improvements include:
DAG Pruning Based on Block Hash: Fixed errors caused by contract dependency relationships during DAG pruning.
Global Network Height Reference Mechanism: Optimized block creation by referencing global height data, reducing transaction failures due to block delays.
Optimizing Block Confirmation: Ensured blocks are confirmed quickly upon generation to prevent rollback-related transaction issues.
3. Future Optimization Plans
To further enhance the stability and performance of the DO network, we have outlined the following plans:
3.1 Improving Node Performance and Incentives
Increasing Node Rewards: Expand the delegation cap to boost node rewards and incentivize better performance.
Optimizing Node Performance: Phase out underperforming nodes to maintain high network efficiency.
3.2 Enhancing Network Synchronization Efficiency
High-Frequency Transaction Optimization: Initiate high-frequency transactions in advance to keep nodes synchronized and minimize network delays.
Node Performance Evaluation via WaveValue: Utilize WaveValue metrics to evaluate node performance and automatically remove low-performing nodes.
3.3 Increasing User Participation
Adjusting Minimum Delegation Thresholds: Raise the minimum delegation threshold to reduce UTXO quantities during reward distribution and improve network efficiency.
4. Minor Hard Fork and Node Adjustments
To implement these optimizations, we plan to conduct a minor hard fork. During the fork:
All node and user delegation assets will temporarily return to their original addresses.
Nodes only need to adjust performance and bandwidth before re-staking to resume network participation.
Users must complete re-delegation to continue enjoying node incentive rewards.
This hard fork will enhance the stability and efficiency of the DO network, laying a solid foundation for its growing ecosystem applications. Please stay tuned for further announcements regarding the hard fork.
We believe that this minor hard fork and a series of optimization measures will enable the DO network to provide a more stable and faster transaction environment, further improving user experience.
Thank you for your continued support and trust in the DO network. The developer community remains committed to optimizing the network and fostering ecosystem growth. We look forward to witnessing the growth and success of the DO network with you!
Thank you for supporting DO!