Skip to content
davinci_coin(DAC)
Branch: master
Clone or download
thkim
Latest commit 45c078e Nov 23, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
contracts Supporting sub chain Nov 23, 2018
dac_mainnet Supporting sub chain Nov 23, 2018
migrations DaVinci ERC20 Token generating & Token Vesting Nov 12, 2018
services/wallet A storage service to save/load information used by users and spaces w… Nov 12, 2018
src DaVinci ERC20 Token generating & Token Vesting Nov 12, 2018
test
.gitignore changed genesis block extradata on PoA testnet, setting new validator… Sep 19, 2018
DAI_DescriptionPaper.pdf Add files via upload Nov 7, 2018
README.md Update README.md Oct 5, 2018
bs-config.json DaVinci ERC20 Token generating & Token Vesting Nov 12, 2018
package.json DaVinci ERC20 Token generating & Token Vesting Nov 12, 2018
truffle.js fixed options in truffle.js Nov 12, 2018

README.md

3rd Generation A.I Block Chain DaVinciWhite Paper (0.6)

Alt text



Paul koh(cto@davinci.vision)

Davinci Partners Inc.

October 05.2018

(version 0.6)



Davinci Chain & AI (0.6)

October.2018

The mainnet means building a new platform out of the existing block-chain platform. The main net can attract companies that use various tokens. The mainnet will issue a coin directly to act as a kind of base currency. Davinci is a third-generation coin that builds a new mainnet. How do you count the generation? The first generation of blockchain is a Bitcoin. The second generation is Ethereum. Ethereum has implemented smart contracts and is capable of distributed applications(Dapp).

Davinci is a third generation blockchain. What does the third generation mean? At present, various cryptocurrencies are based on the second generation platform, Ethereum. These Ethereum-based cryptocurrencies are called 'ERC20 tokens'. The problem with the second-generation blockchains is that second-generation technology makes it difficult for people to create real-life technologies and services. The oxymoron of capacity and speed can be handled by blockchain technology, but the method of mining (consensus algorithm) is unclear. The solution to this problem is the third generation blockchain.

Davinci, as a third generation of blockchain, is capable of using a variety of DApp. In addition, it can speed up transaction processing in lower costs. As a result, the most practical blockchain is the third generation. The third generation of blockchain should increase transaction processing speed. Ethereum has a slow processing speed and limited transaction (transaction record between users) capacity. For this reason, Ethereum is rarely applied to business.

Let's look at the concept of velocity in blockchain. Ethereum's trading per second (TPS) is 20 TPS. It processes 20 transactions per second. It is better than Bitcoin’s processing speed(4TPS) but it is still not practical for business use.

The block generation time has a great effect on the blockchain speed. In a situation where there are not many transactions, TPS is meaningless. If the block creation time is short, the speed of the blockchain is fast. If the block creation time is long, the speed of the blockchain is slow. As a result of the agreement method in the blockchain, the transaction processing method and the overall performance of the system are different. "Do not agree if you have a completely reliable network. " The above sentence simply means that you do not need a blockchain that increases speed.

Blockchains were created because of the need for strong trust. If you have strong trust in your system, you do not need a blockchain. If you need trust in the system, the throughput will be sacrificed. This is the problem of current blockchain theory. Until now, blockchain’s main focus were speed and security. However, enhancement of security was achieved at the expense of speed and vice versa. Resolution of this contradiction is DAI, Davinci project’s AI technology. What role should artificial intelligence play in the block chain? Let's take the speed as an example. POS is faster than POW. Davinci adopted the POS system. The Davinci chain can support fast block creation up to 1000 TPS. The Davinci chain must limit the number of nodes to achieve maximum speed. The chain has greatly improved processing speed by introducing parallel processing using multi-thread.

Due to the limited number of nodes in the Davinci chain, attack targets become clearer. After securing 51 percent, the Davinci chain can be neutralized. The Davinci chain divides the blocks according to their importance. AI evaluates the importance of Davinci chain blocks. In the Davinci chain, machine learning can be used in networks.

Blockchain technology is an ideal tool for managing network transactions. However, the blockchain based framework must be designed so that AI agents can interact with external customers. Artificial intelligence should be used to automatically classify the importance of incoming customers. The Davinci chain must manage the creation cycle of the blocks through an external business.

DAI(DaVinciArtificial Intelligence)

The Davinci chain must be vested to make mining possible. The mainnet defines mining which was justified based on the following data. (the hash of the previous block, the time it took for the previous block to be mined, the time it took for the current block to be mined, the address of the miner, the amount of DAC left by the miner in the vest contract)

DAI is the abbreviation of AI engine. DAI enables machine learning and manages the whole process of block verification of Davinci mainnet. Artificial intelligence learns the generation cycle of blocks. Artificial intelligence is to find out that dangerous events occur on the main net.

For example, if a person who withdraws $ 1 suddenly withdraws $ 10,000. If the artificial intelligence perceives these changes, it can stop the mainnet since DAI oversees the main net. Problems can arise with this system. It is the excessive intervention of artificial intelligence within the mainnet. Automation problems may arise too. However, this is a problem to be solved in the future.

Dapp is associated with blockchain technology. The existing centralized system and decentralization based philosophy are strictly different. It's impossible to build an app with only blockchain yet. Currently only a hybrid of app and blockchain is possible.

There is a server that hosts the DApp code and acts as a mediator between the user and the database. Data can be protected through a blockchain, but if the central server is disabled, the system will be broken down. The Davinci AI engine is responsible for the stability of the central server and the ability to control the connection to the block chain.





Artificial Intelligence Checkpoint of Davinci Chain

Scalability

The result of the aggregation of the seven extensibility factors is the actual transaction rate / throughput (TPS / throughput). In addition, the seven scalability factors go beyond simple throughput, and show how flexible they can be applied in real life.

Main checkpoint of scalability

  1. DPS(Data processing speed)
    The Davinci chain has a fast DPS(data processing speed). This is due to the appropriate block size. Assignment of block size is determined by artificial intelligence(DAI).

  2. DVS(Data validation speed)
    DVS(Data validation speed) in the Davinci chain Validation within POS systems is important. As the validation speed increased, it becomes less secured. It is a matter of the POS system as well as Davinci chain. To solve this problem, we construct an artificial neural network DAI.

  3. DNS(Data network relay speed)
    The problem of DNS (data network relay speed) is the problem of connecting to an external network. The network problem with the outside is important to understand. Moreover harmonization of inside and outside the chain is also necessary.

  4. Increasing Data Size (storage)
    Removal of obsolete data. To be able to use this function, artificial intelligence learning is required.

  5. Number of nodes participating in consensus structure (The number of validators)
    Adjustment of the number of nodes participating in the consensus structure (the number of validators) is related to stability.

  6. Scalability on codes and applications

  7. On-chain/off-chain governance
Davinci mainnet will combine the three methods to enhance the speed
  1. Raiden Network
    Raiden Network minimizes block-chain records and saves commissions through off-chain method, which does not record intermediate transactions between opening and closing payment channels. Since the Raiden Network does not wait for a block transaction, the approval is fast. We plan to apply it to highly reliable networks, which refer to network of nodes that verify data.

  2. Plasma
    Plasma is a technology that minimizes the recording of a block chain through a subchain in case of Leiden utilizes off-chain through the channel opening and closing process. Currently, DApp records all data in the Ethernet block chain (Main-chain). This causes speed problems and creates unpreferable conditions such as block size problems and increase of gas consumption due to data volume.

  3. Sharding
    'Shard + ing' means to shred data. In the conventional method, if all of the processing data have 1 to 10000 pieces of data, sharing stores 1 to 10000 pieces. The result is that the nodes are lighter and the transaction processing speed is improved significantly. In addition, plasma technology that utilizes subchain to minimize the recordings stored in the main chain is expected to be 100 times faster, which resulted in raising Ethereum's operating speed by 10,000 times faster than current. The problem is the forgery and falsification of data. Vitalik Buterin referred Sharding to an island. A new algorithm is required for each of these islands to be compatible.

DAI makes a secure blockchain

Block chain is not a perfect system. It can be vulnerable to attack at any time. On May 15 in 2018, Monaco used Block Withholding Attack (BWA). The definition of BWA is that blocks are generated by mining to find the computed value. Normally, miners declare on the network as soon as they find a block. The first person who finds it is given a coin as a payoff.

However, if the hash power (computation speed) is high, the block that has already been found may not be declared intentionally. It is then possible to mine the next block without informing the network




BWA is illustrated as an example. As the blockchain(blue) is created, the attacker secretly mines his own blockchain(gray). Because the attacker's hash power (computation power) is higher, the secretly mined block chain is also longer. At this time, the attacker deposits the coin to the targeted exchange. For example, if the exchange handles the deposit with the approval of 3 times, the deposit is completed from the red arrow in the figure below.




At this time, the attacker swaps the coin of this system to another coin and quickly withdraws it. After that, declare blocks from the behind that have been secretly mined.




When a new block appears, the chain is split into two bifurcations. In a blockchain of PoW (Proof of Work) method, since the chain is longer, the attacker’s blockchain is justified and considered a legitimate chain. Existing chains are culled and disappear. This phenomenon is called block reorganization.

Transaction history existed (existing chain coin -> other coin) in coin exchange. If the existing chain disappears, the transaction history disappears as well. For this reason, the coin that was used to purchase another coin is returned. An attacker will vanish as soon as he or she moved the returned coin to the personal wallet. Coins of existing block chain and new block chain overlaps. At this time, the existing coin that had purchased another coin disappears and only the coin in the attacker's personal wallet is left. To become an attacker, the abundance of coin's liquidity is necessary. Next, high hash power is required for BWA. For this reason, PoS method is preferred in PoW method. But PoS is not fully secure.

In the case of PoS (proof of stake), 'Nothing at Stake' problem can occur. In PoS, there is a validator instead of a miner. The verifier has the authority to verify the blocks according to the assets. The validator adds a proof of own asset to the block, which is considered as a valid block, and places a bet. In the network, the block with the greatest sum of the betted assets is recognized as a legitimate block. Suppose an attacker made a fake block to attack a blockchain. The verifier must sign only the real block. However, since a fake block is able to camouflage as a legitimate block, both fake and legitimate blocks can be approved. Eventually, the whole network can be fall into chaos.

In the PBFT (Practical Byzantine Fault Tolerance) algorithm, there is no recurrence of the blockchain. However, if you have more than one-third share, you can attack against the blockchain. This is lower than 51% of PoW. Therefore, PoS is more vulnerable in terms of defending against malicious attack than PoW. In order to defend against malicious attacks, the number of nodes must be increased.

In PBFT, as the number of nodes are increased, the amount of traffic increases sharply. Therefore, additional time is required for block generation. In general, the block generation time (waiting time to complete the transaction) is shorter and faster. People preferred 5 minutes rather than 10 minutes, 1 minute than 5 minutes, 10 seconds than 1 minute.

However, since short block generation time and security are currently incompatible, the number of approvals must be increased accordingly. In order to improve the speed of transactions, new method should be developed.

The bottom line is that mainnet can be used well without increasing the block length as the transaction speed improves. Based on AI, Davinci chain offers to satisfy these conditions. Davinci's mainnet enhances the stability of block generation using artificial intelligence. Using the machine learning process of the smart contract and the block creation process, the stability of the mainnet improved.

The ether block explorer, Etherscan, can verify smart contracts. But even proven contracts tend to have bugs and vulnerabilities. Meaning of 'verified' means that only the source code provided matches what is distributed in the blockchain. It is difficult to guarantee mainnet’s security in this way. Thus, the security standards need to be established for Ethereum Smart contracts and conduct smart contract validation.

DAI is an automatic verification system of smart contract. Artificial intelligence automatically validates creators of smart contract and sends them to verifier nodes in real time. The learned artificial intelligence senses and analyzes the dangerous alteration of blocks. First, artificial neural networks learn the changes of smart contracts and blocks and then collect data. As a result, it learns the pattern of smart contract and block mechanically. Finally, the stability of the chain is maintained by using deep learning.

The deep learning is also called as 'Deep Neural Network' (DNN) that imitates a human neural networks. And DNN solves complex problems through iterative process of updating parameters which affects relations between layers. Davinci’s artificial intelligence system uses deep learning to create a pattern of repetitive process of blocks.

Davinci's Artificial Intelligence (DAI) automatically learns repetitive processes in block chains and Dapp. Therefore, AI itself is able to prepare for problems that may arise. Davinci AI engine aims to unsupervised learning. Unsupervised learning is a process in which the algorithm itself learns data’s the relationship and specificity without providing a solution to specific data.

Let's take an example of supervised Learning, which is the opposite of unsupervised learning! The photo materials given to us are "Joe, this is David, this is puppy ... "If you have a label for each picture, you can learn about it and find other photographs of Joe, David, and puppies.

On the other hand, unsupervised learning is something like automatic group categorization among mixture of several animal pictures. Even if you have not learned to categorize a 'dog', unsupervised learning is able to classify all of the similar species as puppies.

Davinci platform's Artificial Intelligence Engine (DAI) aims to use unsupervised learning. DAI’s unsupervised learning allows automatic detection of abnormal changes in block generation and to take action. In addition, it will be able to solve the problems automatically by learning and forecasting the problems that occur in the distributed environment.

Davinci AI recognizes dangerous patterns in the blockchain. This is similar to the way a self-driving car detects an obstacle and stops a car. For example, the artificial intelligence can automatically select and process the algorithm depending on the importance of the payment by itself. DAI is possible to recognize and control the process of $1 and $100,000 differently.




You can’t perform that action at this time.