On Aug 27, 2019, Jinse Finance released the in-depth interview with DxChain Co-founder & CEO James Li, discussed the achievement recently. Please refer to the interview down below.
With the development of technology, we keep changing the way of data storage, from tape CDs to flash drive and mobile hard disk, then to the current popular cloud storage. However, as a centralized storage solution, cloud storage has a high cost for establishing data centers, data center management and operations, including hardware and software procurement, and workforce. There are also privacy leaks and service suspensions leading to file loss and other problems.
With the increasing drawbacks of cloud storage, blockchain storage has gradually attracted people's attention. Blockchain storage is a decentralized storage system built with blockchain incentives and is an effective combination of blockchain and storage systems. Blockchain storage builds nodes around the world into a large-scale globally storage pool, which can effectively reduce storage costs and improve the security of private data.
DxChain is a project dedicated to building a decentralized big data storage and computing public chain. In July this year, the DxChain team officially announced Testnet 3.0 and Godx Project is now open source on GitHub (https://github.com/DxChainNetwork/godx).
James Li, co-founder and CEO of DxChain, pointed out that "The development of technology will never stop. If you relax at this time, it will be surpassed by others. Instead of being revolutionized by others, it is better to revolutionize ourselves. From Testnet 2.0 to 3.0, the DxChain team rewrote the system and implemented several new features."
What’s the new improvements in Testnet 3.0 this time? What is Godx project? Please refer below to James Li’s detailed interpretation.
Storage Contract Implementation
DxChain Testnet 3.0 implemented the smart contract feature that is compatible with Ethereum Virtual Machine and storage contract protocol with the lightning network. By optimizing the data verification algorithm, a file can be verified in a second.
Once the storage client and host reached an agreement on cost and storage duration, a contract will be signed by both of them. During the contract effective period, each interaction between the client and the host will be considered as a transaction which will be recorded off-chain. To ensure the nonrepudiation of the storage contract and avoid storing excessive data, only the last transaction will be recorded on the chain. At the end of the contract effective period, the storage host will get the collaterals back along with the profits, and the client is able to take back the unspent funds.
In terms of data verification, the entire process is performed off-chain, which improves the storage performance and throughput efficiency while ensuring the security of the data. Once a file is uploaded, it will be encrypted and divided into data shards using a specific encryption and sharding mechanism. Each encrypted data shard will then be distributed to a distinct storage host. At the time a file needs to be restored, only parts of the total data shards are required to recover the original file. In case a storage host went offline or some data shards got corrupted, the file is still accessible by the owner. Since each storage host only has encrypted pieces of the file, it is impossible for them to reveal the content of the original file.
Adaptability and Compatibility Enhancement
Solidity is the most common programming language used in the Ethereum Dapp development. By analyzing the Ethereum codes, the DxChain team has combined the Ethereum protocol and the storage protocol. As the result, Dapps running on the Ethereum can directly run on the DxChain.
Modularized Consensus Protocol
The DxChai team optimized the system architecture by modularizing the consensus protocol. It not only minimized the code changes when there is a need to upgrade the consensus algorithm, but also provided convenience to developers.
Introduction to DxChain Three Key Features
In the blockchain world, code is the law. Open source the Godx project not only eliminates everyone's concerns, but also is a great opportunity for community believers to supervise and to provide valuable suggestions. Ultimately improve DxChain ecosystem and promote DxChain to a community like Bitcoin and Ethereum.
The Godx project includes three key feature highlights: Ethereum Virtual Machine (EVM) compatibility, storage protocol with lightning network, and zero-second file storage verification algorithm.
Dapp development is based on the public chain, where Ethereum is one of the most popular public chains nowadays. EVM has its unique advantages which makes the development of smart contracts similar to coding. The DxChain team expanded the original EVM by adding the storage contract functionality which is fully compatible with the original virtual machine commands. Thus, the original Ethereum Dapp developers can directly run their application on the DxChain without any modification, which can potentially save developers tons of time on solving issues occurred while migrating the application from Ethereum to DxChain.
By adapting and optimizing the lightning network protocol, the DxChain has implemented its own storage protocol. Through the storage protocol, the two parties who store the file in the main chain are able to sign the contract, carry out the pledge fund and follow up on many details activities (such as uploading/downloading files). When the contract expires or is terminated by other factors, the parties will perform a final settlement and will finalize the results on the chain. By adapting the lightning network protocol, it ensures that the chain can carry out numerous file storage requests without affecting its performance.
The third key feature is zero-second file verification algorithm. DxChain has extended the Merkle Tree, known as Hash Tree, which means a tree that stores hash values. The leaves of the Merkle tree are the hash values of the data blocks. A non-leaf node is a hash of its corresponding child node concatenated string. The main function of Merkle Tree is to get the Top Hash, which represents the information summary of the whole tree. When any data in the tree changes, the value of Top Hash will change. Through the extension of Merkle Tree, DxChain greatly improves the efficiency of verifying and storing files, while reducing the interaction between storage parties in order to eradicate cheating.
James Li revealed that the team has a clear view about our next goal after the Testnet 3.0 release, we will make more efforts on the following three aspects:
1) DPoS consensus protocol implementation
2) petabyte storage supportive
3) overcoming difficulties with file transfering caused by bandwidth limitation
The pursuit of technology is endless. DxChain coruscates new energy and vitality in every breakthrough. We believe DxChain will provide us with a more efficient and safe data storage solution in the future.