News


  • Announcement for adjustment and upgrade of UChain main network technical architecture
  • 2018.12.05
  • Dear UChain community partners,  
    In our weekly report, we have introduced the technical development of UChain public chain. The project is moving forward as scheduled. Our R&D team has not only kept fulfilling the project requirements but also conducted relevant research and interviews to explore the practical technical needs and pain points of the application of blockchain in the sharing economy. At the same time, we pay close attention to the latest developments in the cutting-edge technology of the global blockchain. We have seen many teams who has achieved outstanding result. Based on the above reasons, after deep communication with local companies and partners as well as internal discussions, we decided to make major adjustments and upgrades to the technical framework proposed in the original white paper. The details are as follows:
    1. Partial core code changes to C++, which will improve the efficiency of TPS. The embedded language offers more powerful support for system development and upgrade.
    2. Switch from "Account Balance Model" to "UTXO Model".
    After detailed technical analysis and research in the early stage, it has been proved to be feasible that a completed digital identity system shall be implemented with UTXQ. Such implementation will reduce the issues raised from efficiency. Recently more blockchain projects are also turning back to the UTXO model. In terms of performance, since UTXO is an independent data record, there is great parallelism that can improve the speed of verification during blockchain transaction, which in a long term will also reduce the volume of the database.
    3. User account system UID, adding user credit (score, rating), equity (voting, community governance, node application).
    4. The original PRCA consensus mechanism will be changed to Chain’s “UPOS" (User Proof of Stake) which is mechanism dedicated for sharing economy.
    During the development of UChain public chain, we found that the original PRCA algorithm contains many shortcomings:
    (1) The actual operation of PRCA generates a block in a few seconds, which cannot fulfill the demand of high-frequency transaction in UChain‘s shared economy scenario;
    (2) The verification node of PRCA receives the transaction to be verified and stores it locally. Meanwhile the new transaction in the current round of consensus process is pending for the confirmation in the next consensus. Thus, such verification process is cumbersome and prone to bifurcation;
    (3) The PRCA activates trust node to send the offer. The trust node list is derived and being a subset of the verification pool.  Rather than loosely coupled which is limited by future flexibility and scalability, the collection of things in the account is completely biased towards trading. 
    (4) PRCA is more suitable for Class B services among centralized organizations rather than complex scenarios at the consumer end;
    For the above reasons, UChain blockchain will adopt a unique consensus algorithm, namely Byzantine Fault Tolerance - User Proof of Stake - UPOS (with Byzantine fault-tolerant user rights certificate), UPOS consensus mechanism is in line with performance requirement in sharing economy 2.0. A decentralized consensus algorithm that requires and maximizes user rights. The core principle of this algorithm is that in the UChain blockchain, all users who holds UCN tokens or has conducted legitimate transactions in UChain Dapp (such as U-bicycle riding) will have the voting rights of UChain blockchain super node. The user will continue to generate block producers by voting.
    UChain blockchain system is designed to produce one block every 0.5 seconds. Besides, at a certain point, only one block producer (node) will be authorized to produce the block. Should the block be not generated within the predetermined time, it will be skipped. In case one or more blocks are skipped, there will be 0.5 second or longer interval in the blockchain, which will be an accidental event and it will not affect the production process of the entire blockchain.
    When UChain conducts blockchain production, it produces 126 blocks as a round (a total of 21 nodes, 6 blocks each). Prior to the commencement of each round, 21 different block producers will be selected based on the voting results from UChain Users. The production sequence of the selected producers will be arranged and agreed by the producers of 15 or more (the process is automatically accomplished by the program).
    In case a producer misses a block for various reasons (such as network latency, system bugs, etc.) and has failed to produce any blocks in the past 24 hours, it will be temporarily kicked out of the block production queue until the producer informs UChain blockchain of reproduction intention. By excluding unstable and unreliable production nodes, the number of missing blocks is minimized so that the safety and efficiency of network operation is ensured.  
    To some extent, there is no bifurcation in the UPOS blockchain, because in the production process of the UChain blockchain, rather than competing, producers are peer-to-peer cooperation. Should a fork occur, the consensus program will automatically switch to the longest chain. The working principle is that under the UPOS consensus mechanism, the speed of producing new block in a forked chain is positively correlated with the number of producers in the chain. That is to say, due to the fact that the producers will have fewer block loss in the forked chain. the blockchain fork with more producers will grow much faster than that with less producers. In addition, block producers are not allowed to produce blocks on both forks at the same time, and it will be automatically cleared if the system figures out that the block producer does such production. The digital cryptographic signature and timestamp of each block by the block producer will be used for system troubleshooting.
    By requiring all producers to sign all blocks, the Byzantine fault tolerance mechanism is added to the UPOS as long as no producers sign two blocks with the same timestamp or the same block height. Once 15 producers have signed a verified block, the block is considered irreversible. If a Byzantine producer signs two blocks with same time stamp or the same block height, the system generates cryptographic evidence of its disloyalty. Under this mode, the irreversible consensus shall be reached within 1 second.
    For more details, please refer to "UPOS Consensus Mechanism Design Principles" (click to download pdf)
    4. The main encryption method is changed from the secp256k1-zkp to a stable version of secp256k1.
    The technical architecture upgrade is an important milestone for us, and it is a technology leap in the context of fulfilling the demand from sharing enterprises and embracing the world's leading blockchain technology. We hope that UChain's technical solutions can truly bring revolution to the sharing economy, and realize a highly efficient and available peer-to-peer value transmission network. The technical adjustment is relatively significant and complex. Therefore, the corresponding test network will be delayed for three months. The detailed plan is as follows:
    (1) The core code will be recompiled in C++ and is expected to be completed within 14 working days;
    (2) The account balance model will be changed to UTXO, which is estimated to take 10 working days;
    (3) Change of “Add a user digital identity UID module” is estimated to take 12 working days;
    (4) Reconstruction of the consensus algorithm, which is estimated to take 18 working days;
    (5) Upgrade version of encryption together with other changes are estimated to be finished within 5 working days;
    The core architecture and R&D of main network’s will be adjusted, at the same time the UChain network test team will test each module and do its utmost to ensure the high quality of the first project milestone.  Thanks to the strong support from all community partners, your attention is the motivation for us to move forward!
  • Announcement for adjustment and upgrade of UChain main network technical architecture
  • 2018.12.05
  • Dear UChain community partners,  
    In our weekly report, we have introduced the technical development of UChain public chain. The project is moving forward as scheduled. Our R&D team has not only kept fulfilling the project requirements but also conducted relevant research and interviews to explore the practical technical needs and pain points of the application of blockchain in the sharing economy. At the same time, we pay close attention to the latest developments in the cutting-edge technology of the global blockchain. We have seen many teams who has achieved outstanding result. Based on the above reasons, after deep communication with local companies and partners as well as internal discussions, we decided to make major adjustments and upgrades to the technical framework proposed in the original white paper. The details are as follows:
    1. Partial core code changes to C++, which will improve the efficiency of TPS. The embedded language offers more powerful support for system development and upgrade.
    2. Switch from "Account Balance Model" to "UTXO Model".
    After detailed technical analysis and research in the early stage, it has been proved to be feasible that a completed digital identity system shall be implemented with UTXQ. Such implementation will reduce the issues raised from efficiency. Recently more blockchain projects are also turning back to the UTXO model. In terms of performance, since UTXO is an independent data record, there is great parallelism that can improve the speed of verification during blockchain transaction, which in a long term will also reduce the volume of the database.
    3. User account system UID, adding user credit (score, rating), equity (voting, community governance, node application).
    4. The original PRCA consensus mechanism will be changed to Chain’s “UPOS" (User Proof of Stake) which is mechanism dedicated for sharing economy.
    During the development of UChain public chain, we found that the original PRCA algorithm contains many shortcomings:
    (1) The actual operation of PRCA generates a block in a few seconds, which cannot fulfill the demand of high-frequency transaction in UChain‘s shared economy scenario;
    (2) The verification node of PRCA receives the transaction to be verified and stores it locally. Meanwhile the new transaction in the current round of consensus process is pending for the confirmation in the next consensus. Thus, such verification process is cumbersome and prone to bifurcation;
    (3) The PRCA activates trust node to send the offer. The trust node list is derived and being a subset of the verification pool.  Rather than loosely coupled which is limited by future flexibility and scalability, the collection of things in the account is completely biased towards trading. 
    (4) PRCA is more suitable for Class B services among centralized organizations rather than complex scenarios at the consumer end;
    For the above reasons, UChain blockchain will adopt a unique consensus algorithm, namely Byzantine Fault Tolerance - User Proof of Stake - UPOS (with Byzantine fault-tolerant user rights certificate), UPOS consensus mechanism is in line with performance requirement in sharing economy 2.0. A decentralized consensus algorithm that requires and maximizes user rights. The core principle of this algorithm is that in the UChain blockchain, all users who holds UCN tokens or has conducted legitimate transactions in UChain Dapp (such as U-bicycle riding) will have the voting rights of UChain blockchain super node. The user will continue to generate block producers by voting.
    UChain blockchain system is designed to produce one block every 0.5 seconds. Besides, at a certain point, only one block producer (node) will be authorized to produce the block. Should the block be not generated within the predetermined time, it will be skipped. In case one or more blocks are skipped, there will be 0.5 second or longer interval in the blockchain, which will be an accidental event and it will not affect the production process of the entire blockchain.
    When UChain conducts blockchain production, it produces 126 blocks as a round (a total of 21 nodes, 6 blocks each). Prior to the commencement of each round, 21 different block producers will be selected based on the voting results from UChain Users. The production sequence of the selected producers will be arranged and agreed by the producers of 15 or more (the process is automatically accomplished by the program).
    In case a producer misses a block for various reasons (such as network latency, system bugs, etc.) and has failed to produce any blocks in the past 24 hours, it will be temporarily kicked out of the block production queue until the producer informs UChain blockchain of reproduction intention. By excluding unstable and unreliable production nodes, the number of missing blocks is minimized so that the safety and efficiency of network operation is ensured.  
    To some extent, there is no bifurcation in the UPOS blockchain, because in the production process of the UChain blockchain, rather than competing, producers are peer-to-peer cooperation. Should a fork occur, the consensus program will automatically switch to the longest chain. The working principle is that under the UPOS consensus mechanism, the speed of producing new block in a forked chain is positively correlated with the number of producers in the chain. That is to say, due to the fact that the producers will have fewer block loss in the forked chain. the blockchain fork with more producers will grow much faster than that with less producers. In addition, block producers are not allowed to produce blocks on both forks at the same time, and it will be automatically cleared if the system figures out that the block producer does such production. The digital cryptographic signature and timestamp of each block by the block producer will be used for system troubleshooting.
    By requiring all producers to sign all blocks, the Byzantine fault tolerance mechanism is added to the UPOS as long as no producers sign two blocks with the same timestamp or the same block height. Once 15 producers have signed a verified block, the block is considered irreversible. If a Byzantine producer signs two blocks with same time stamp or the same block height, the system generates cryptographic evidence of its disloyalty. Under this mode, the irreversible consensus shall be reached within 1 second.
    For more details, please refer to "UPOS Consensus Mechanism Design Principles" (click to download pdf)
    4. The main encryption method is changed from the secp256k1-zkp to a stable version of secp256k1.
    The technical architecture upgrade is an important milestone for us, and it is a technology leap in the context of fulfilling the demand from sharing enterprises and embracing the world's leading blockchain technology. We hope that UChain's technical solutions can truly bring revolution to the sharing economy, and realize a highly efficient and available peer-to-peer value transmission network. The technical adjustment is relatively significant and complex. Therefore, the corresponding test network will be delayed for three months. The detailed plan is as follows:
    (1) The core code will be recompiled in C++ and is expected to be completed within 14 working days;
    (2) The account balance model will be changed to UTXO, which is estimated to take 10 working days;
    (3) Change of “Add a user digital identity UID module” is estimated to take 12 working days;
    (4) Reconstruction of the consensus algorithm, which is estimated to take 18 working days;
    (5) Upgrade version of encryption together with other changes are estimated to be finished within 5 working days;
    The core architecture and R&D of main network’s will be adjusted, at the same time the UChain network test team will test each module and do its utmost to ensure the high quality of the first project milestone.  Thanks to the strong support from all community partners, your attention is the motivation for us to move forward!