Ulord’s 8 Technical Advantages

shirly
shirly
Aug 31, 2018 · 15 min read

In order to meet needs of Internet content distribution, the original chain of Ulord introduces master node system. The structure of master node is established as a peer-to-peer distributed content distribution network (InterPlanetary File System, IPFS), which provides massive cloud storage resource pool and unified global addressable space storage resource. Considering the sustainable development of Ulord, voting system and budget system are introduced. Voting system can not only carry out intelligent evaluation on a variety of applications on application layer, but also can assist budget system, fund more developers to devote themselves into Ulord development, and make the ecological development of Ulord in a virtuous circle with more applications. In other implementations, Ulord can be compatible with smart contract, make the application of Ethernet be transplanted to the Ulord network. Ulord adopts the mixed mining mechanism of POW and POS, so as to ensure that the development of the block network is not held by hashrate.

1.Master node system

The whole node refers to server or common PC running the full client on the P2P network, which plays a role of spread of transactions and blocks in the blockchain network. To maintain normal operation of all nodes, a large amount of cyber source needs to be consumed, such as storage space and network flow. According to Zap Chain Magazine statistics, the number of all nodes in the bitcoin network shows a decreasing trend, which requires additional 40 seconds for block broadcasting. The community has put forward many solutions, such as the introduction of new award plan of Microsoft Research and the Bitnodes incentive plan, and try to increase the number of nodes, but without good solution.

In order to maintain a healthy and stable blockchain backbone network, Dashi puts forward the solution of hierarchical network. Through the introduction of master node system, the stable backbone network can form to solve communication delay. In the system of Dashi, 1000 nodes of dash can be stored and upgraded to the master node. If it can be stable online in a period of time, 45% of income of each block network will be taken. But now, the master node system of Dashi still has many problems in the design and implementation. Firstly, according to the design rules of Dashi, the total number of coin of the whole system is about 17 million, and approximately 8 million have been issued. While the number of the master node is maintained at about 4800. As each master node needs to have 1000 dashes as guarantee, nearly 5 million Dashi coins are locked in master node. The number of circulating Dashi coins in the market is less than 3 million, which is obviously contrary to the initial design theory of bitcoin, and cannot guarantee a sufficient currency circulation in the market. Secondly, in the design of master node, there is no discrimination or considering QoS, and master node service quality is uneven. Therefore the network communication cannot achieve the desired results. Finally, only users with some computer knowledge can build master node, not all people have such a foundation. To entrust the third party often brings the risk to assets, so it is necessary to let more people participate in the maintenance of the master node network. As shown in Figure 3, considering different application scenarios, Ulord makes further improvement and optimization to the master node system as follows:

Voting mechanism of master node is introduced to enhance Ulord service quality.

In order to encourage users to join in the master node construction, Ulord distributes 25% of the entire network benefits to master node holders. While QoS assessment mechanism is introduced, and under the principle of survival of the fittest, some master nodes which do not meet the requirements will be eliminated. Therefore master node users must continuously invest and maintain to ensure good condition of nodes. QoS assessment mechanism mainly considers from the following several aspects:

Data packet loss rate: packet loss rate between master node and adjacent nodes is judged by ping-pong operation. If it exceeds a certain threshold, the node state is judged not to meet the service requirements, and the master nodes list is eliminated.

Network communication delay: the delay between master node and adjacent nodes is judged by ping-pong operation. If it exceeds a certain threshold, the node states is judged to not meet the service requirements, and the master nodes list is eliminated.

Data retransmission number: when retransmission times of master node and adjacent user node are too high, the user node will broadcast it on the entire network. When the reported number of this master node reaches the threshold, the master nodes is eliminated from master node list.

Proof-of-Stake mechanism is introduced to provide IPFS service.

In order to meet distribution mechanism of Ulord network, a large number of nodes are needed to bear the Internet data, and provide more high-quality video and data flow service. In Ulord, it ensures the network storage service with high quality from two aspects. First, in the Ulord network, 1TB of hard drive storage space is needed as a qualification guarantee for master node; through distributed technology, Ulord can integrate these master nodes into a massive storage resource pool. Second, in order to confirm that each master node is actually stored with data, Proof-of-Stake mechanism is introduced. This mechanism can randomly carry out integrity verification to the master node data by data holding proving and data recovery proving to ensure that the master node can provide stable data storage service. The main factors of the nodes are as follows:

Storage capacity: according to storage capacity size, the income is calculated in proportion.

Storage value: according to storage data value, determine whether the platform effective data are stored, and determine whether to calculate the income;

Store IOPS: IOPS (Input/ Output Operations per Second), that is the number of read/write (I/O) operations per second, measures the performance of disk random access. According to disk performance, judge whether to calculate the income.

More general master node platform. Ulord will provide a better user experience for user, while bringing more high-quality storage and network server for the system itself. To attract more investors to participate in the construction of the master node network, we will develop master node client software across the platform, including windows/Linux/OS x/Android and other mainstream systems. For Linux system, Docker package image will be provided directly for users to install conveniently.

2. Sidechain

Sidechain is not specifically referring to a certain chain, but refers to any chain

that obeys the rules of the sidechain. The Ulord sidechain rule means that the Ulord sidechain can verify the data from the Ulord main chain, and through the Two-way Peg (2WP), the UlordToken is safely transferred between the mainchains and sidechains at a fixed exchange rate to achieve assets transfer between the chains.

The Two-way Peg is roughly divided into the following stages:

a. Send a 2WP transaction to lock the UlordToken in the main chain;

b. Wait for a confirmation period, making the transaction confirmed by enough

blocks;

c. Transfer the UlordToken to the sidechain and provide proof of SPV or

miner’s vote;

d. Wait for a reorganization period to prevent double spending;

e. Unlock the UlordToken for normal use on the sidechain;

After a period of time, if the user wants to redeem the UlordToken to the main chain, the reverse action can be performed. The redemption operation provides a sidechain user with an exit mechanism to prevent users from being forced to bind assets to unwanted sidechain applications.

Each sidechain can operate in different networks, with independent economic patterns and corresponding DAPPs. Developers can construct a sidechain and then dock it to the Ulord main chain. While inheriting and reusing the Ulord main chain technology, they also share the pressure of the Ulord main chain.

Each DAPP deployed on the sidechain is allowed to have a unique set of ledgers. According to different application scenarios of the DAPP, the sidechain’s consensus mechanism and block parameters are allowed to be reformed. And because the sidechain is an independent system, the serious problem of DAPP on the sidechain will only affect the sidechain itself and will not affect the Ulord main chain.

Ulord supports multiple sidechains, each of which can support one or more DAPPs. Sidechains can have their own virtual machines, publish smart contracts, and remain compatible with Ethereum virtual machines.

3. Voting system

Voting system has two major roles on Ulord. The first is to evaluate the plan proposed by developers and promote community contribution to Ulord; the second is to review resources and sites on Ulord to maintain the orderly development of Ulord ecology. If there are developers contributing to Ulord good solutions or codes, they can get system rewards. Whether to award and how much reward of developers contribution are decided by community vote. In addition, Ulord allows users to publish their own site, which may cause the problem that a large number of applications launch make the entire ecosystem in disorder and difficult to govern. In order to purify the network environment and make Ulord ecology a healthy development, consensus evaluation mechanism is introduced for Ulord network intelligent maintenance. The resources posted by user on Ulord have a unique 160bit hash value. All master nodes can vote the site resources issued by users on Ulord and show their position. When the number of opposing votes in a certain period of time exceeds threshold value, the network will automatically prohibit resource transmission, and give time to make publishers rectify. If there is no rectification in the specified time, Ulord will automatically delete it. There are three kinds of voting types: Yes, No and Abstain.

4 .Budget system

In order to promote the healthy development of Ulord ecosystem, Ulord prepares 10% of income for developers of the whole community. Ulord provides unified proposal entrance for community development. The community developers can submit the improvement proposal of Ulord through the entrance. The submitted proposal will be broadcast to Ulord, and sent to users in the form of message. All Ulord users have rights to vote. When the number of a proposal support exceeds a certain threshold value (the current system is set to 30%), the proposal will be approved. Then, the developer submitting the proposal will begin to accept budget system support. For the same proposal, users need to make voting twice. After the first voting, development team will receive budget support, but only 50% of the budget will be provided for developers. Only after developers complete and launch the second voting, the user can receive the remaining 50% of budget support.

In concrete implementation, a super block will be automatically generated in every 17000 blocks, and funding for the community developers can be achieved through this block. The number of coinbase coin of super block is the sum of the blocks between the previous super block and the current super block after deducting of 10% of income, then txout is the budget address passing the budget. If the current super block has no budget, the funds will be automatically stored in the pool of funds, which is used for the following plan budget support.

5.Smart contract

Unified domain name mechanism

Ulord allows the users to call the API of platform layer to publish their own site service. In order to make Ulord users to get convenient access to other users’ resources on the Ulord platform, the readable character string easy to remember can be used as domain name. Before the user releases the resource, by specifying the domain name site, he can apply for the readable domain name easy to remember. But there is a need to bind certain amount of UlordTokens. With the passage of time, the quantity of UlordTokens will be gradually consumed with increasing of block; in other words, all the resources and websites on Ulord will be gradually consumed with the increasing block height. All UlordTokens consumed for applying for a domain name will flow into the underlying network and become a part of the cost of billing.

To support the readable domain name system, we introduce a new data structure Domain Claimtrie to store all domain names and the associated information on Ulord. As shown in Figure 5, in Domain Claimtrie, each node corresponds to a domain name, at the same time, each node also holds the node’s related transaction information, including a transaction. When the user applies for the domain name, it must be bound with a certain number of UlordTokens; the new domain name is allowed for registration, which is unique in Ulord. The user is supported for cancellation of domain name. After the domain name is cancelled, the domain name is automatically released. To support the integrity of the domain name tree, we modify the block structure of blockchain and adds a field Domain Claimtrie.

Properties of smart contract

Ulord has attribute of smart contract, and introduces the design concept of gas. But Ethernet gas consumes gas in each operation. Compared to the gas concept of Ethernet, Ulord adopts a more simplified and abstract method. The resources and site posted on Ulord by user will consume resources on the Ulord network. Therefore when the user releases resources or site, a certain amount of UlordTokens is needed to bound. With growing of block height, UlordToken will be gradually consumed, and the user needs to recharge the new UlordTokens to the corresponding address to ensure the ownership of domain name. At the same time, through sidechain technology, it can be compatible with Ethernet virtual machine, release smart contract, and allow users to publish their tokens. There is a certain proportion of exchange relationship between tokens and UlordToken. Ulord allows users to customize their releasing of site service, and through the issuance of their tokens, they can operate their own sites.

6 .Consensus algorithm

Ulord combines PoW (Proof of Work) and PoS (Proof of Storage) as the consensus algorithm. Among them, PoW uses the self-designed CryptoHello algorithm. The algorithm uses multiple serial cryptographic primitive operation. With the characteristics of computer architecture, it has the mining characteristics of permanent prevention of ASIC. POS mechanism is to encourage more master nodes to join. By providing more storage space, it brings in revenue for their own, and provides massive distributed storage space for Ulord.

PoW implementation mechanism

To make full use of idle resources for mining, Ulord uses the CPU mining algorithm CryptoHello. We have learned from the memory-hard PoW algorithm design ideas, combined with the features of the CPU, GPU, ASIC and other architecture, and designed a PoW algorithm CryptHello for CPU architecture optimization.

The method has 3 steps:use a pseudo-random sequence to initialize the working memory, modify the working memory, and produce the final result based on the working memory contents. As shown in Figure 8

In the initialization of the working memory stage, the input is calculated using the SHA3 function to initialize the linear congruence pseudo-random number generator seed. The working memory is continuously filled in units of K blocks (32 bytes per block), where the former K-1 block is generated by a pseudo-random number generator, and the last block is a random selection of one of the hash function families (16 different hash functions) based on the previously filled content and updates the random number generator seed.

At the initial modification of the memory, the SHA3 function is used to generate the seed of the random number generator based on the last piece of the work memory, and a state variable whose length is L bytes is initialized. This is followed by C main cycles, in each of which 64L subcycles will be performed. In the subcycle, a pair of addresses will be generated by the random number generator. The byte data in the two addresses in the work memory and the byte data in the state vector are combined and exchanged using exclusive OR methods to update the memory contents and state vector contents. After the end of the sub-cycle, the function vector of the hash function family will be used to update the state vector and re-initialize the random number generator seed. According to the existing parameter design, one quarter of the working memory will be modified.

In the final result generation phase, the content of d (a random number no greater than D) blocks in the contiguous XOR memory is updated with the hash function family, and d is recalculated to the last block of the working memory. Finally the SHA3 function is used to form the final result.

The main features of the above algorithm include:

a. The working memory capacity selects the CPU-oriented cache capacity optimization, but it is difficult for the GPU or the ASIC to meet the memory capacity requirement for executing a large number of PoW algorithms at the same time;

b. A family of hash functions constructed by 16 hash functions is randomly selected and executed. This will increase the chip area to realize ASIC, and it will cause the GPU’s multi-threaded execution of different paths, reducing its parallelization efficiency;

c. Strict serial execution sequence are used during the working memory modification stage, and they are accessed in units of bytes to control the execution parallelism of the ASIC or GPU and significantly reduce the memory system efficiency;

d. The control logic of the entire scheme is complex, the required memory capacity is large, and the memory access address is irregular. It is difficult to implement the ASIC by using a conventional method of stacking a large number of acceleration component modules.

The actual test shows that the above performance of PoW on the CPU is proportional to its number of cores.

PoS implementation mechanism

The main reason for collapse of bitcoin network node is lack of reward for running nodes. With the passage of time, more and more users will be connected to the whole network, so demand for bandwidth will become higher, demand for funds from node operator will be more, then the operation cost of the nodes increase. Considering rising cost, node operator must reduce their operating costs or operation light client, but this is not conducive to network health. The introduction of the master node technology can effectively avoid reduction of master node and prolong communication time. In Ulord, QoS is considered in the selection of master node, and master node is a full node. Block and trading can spread quickly through master node. Operation of a master node needs 10000 UlordTokens and more than 1TB of storage space. The deposit stored in the master node is not lost, which allows investor to earn certain return on investment when providing service for the whole net to reduce the UlordToken price volatility. In the Ulord network, the master node will account for 25% of the entire network revenue.

7. Privacy protection

Ulord uses the most popular privacy protection zk-SNARK technology to protect the trading privacy. In Ulord blockchain, to create a valid transaction includes the following three things:

a. Ensure that the currency in the address has not been spent in previous trading;

b. The sender proves that he is the currency “holder” in the way of authorized signature;

c. The transaction input is equal to output.

The ledger itself proves the money is not spent out before and does not require sender to do anything. The sender only proves that he is holder of the currency, and hopes to send out the currency in the way of electronic signature through the private key corresponding to address. To make the signature verified, the sender’s address must be open. Correspondingly, receiver must publicly accept his address to finish the transaction. In Ulord, it is simple to verify that the input and output of the transaction are equal, because the number of transmission is completely exposed.

Zero knowledge proof (specifically, zk-SNARKs) to verify the above three elements can protect privacy of users from revealing, without exposing sender, receiver and transferring amount. Every successful transaction is accompanied with zk-SNARK, and it proves that: the input asset exists, and has not been previously spent. The person who creates the transaction authorizes the transaction cost, and the input number and type are equal to the output number and type. The information for cost output (that is to create a new zk-SNARK) is attached to the transaction. It is encrypted with the public key of payee, and only used for the payee.

Figure 11 zk-SNARK technology protects transaction privacy

8.Instant payment

With the master node technology, the users can send and receive instant irreversible transaction. Once the instant transaction forms, the input of transaction is locked to the corresponding particular transaction, currently, the locking time of the whole net transaction is about 4 seconds. If a locking consensus is reached in the master node network, all transactions and blocks against it will always be refused, unless they can match the corresponding transaction ID which was locked at that time.

In this way, users can purchase goods and services through Ulord and receive payment confirmation quickly, without intervention from any centralized organization. Ulord can easily meet relevant business scenarios for instant payment.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade