Dash币资料

版权声明:本文为博主原创文章,转载请说明出处 https://blog.csdn.net/t46414704152abc/article/details/89365000

Dash学习资料

Dash 匿名性分析

Dash的主要特征

  • Launch: Dash was fairly launched under the name “XCoin”, very shortly after renamed “Darkcoin” on Janury 18th, 2014. It rebranded to “Dash” which stands for “Digital Cash” in March of 2015.

  • Limited Supply: Maximum coin supply of Dash will be somewhere around 18.4 and 19.7 million. It can’t be known for certain because it’s impossible to know how much Dash will be requested from the Treasury each month (more on the “Treasury” below). You can view one possible inflation schedule here. Here is a script developed by a Dash Core Team developer showing inflation until the year 2225. Click “Run” to see it in action.

  • Open Source: You can read the source code yourself here.

  • Masternodes: Pioneered by Dash. While anyone is able to run a full node and thus support the Dash network, anyone with at least 1,000 Dash (akin to a collateral but impossible to lose during or after operation) is also able to run a Masternode, which offers additional services to the network and earn 45% of the block reward. The Masternode count over time is shown in this graph. Masternode operators are also granted one vote per node (see below).

  • Decentralized Governance by Blockchain: Dash pioneered a blockchain governance system that is utilized for quick decision making in the project. Dash settled a debate on the size of its blocks in less than 24 hours. The same debate that has been going on in Bitcoin for several years. Dash is the first project that invented, developed and actively uses a blockchain based governance directed by “shareholders” with “skin in the game” (Masternode operators) looking out for their own and thus the network’s best interests.

  • The Dash Treasury & proposal grants: Each month Masternode operators vote on budget proposals that aim to produce value for Dash as a whole. Anyone can make a proposal, ask the Masternode electorate for a grant in Dash and receive funding directly from the Dash blockchain.

  • Self-sustainable development: The current Dash development team is paid directly from the blockchain, a novel approach that was pioneered by Evan Duffield, the creator of Dash, and has since then been copied by dozens of other projects in one way or another. Note that the Core Team could theoretically be voted out of a funding anytime, maintaining decentralization of the project unlike in other cryptocurrency projects.

  • InstantSend: Another first invented by Dash. This technology allows Dash to be used in point-of-sale situations where a locked payment is sent in about 1 second, while not being exposed to double spends that other cryptos are susceptible to. For many this is Dash’s “killer feature” because InstantSend makes Dash the first cryptocurrency fully suitable for use in brick and mortar businesses.

  • PrivateSend is the feature that gives Dash users the ability to erase the transactional history of received coins and thus send funds anonymously. Originally based on the CoinJoin-principle by Gregory Maxwell but heavily modified with mixing ahead of the spending transaction and other major improvements, avoiding the well known & fatal flaws of CoinJoin.

  • Fungibility is the result of offering PrivateSend mixing on the network. Erasing the history of each Dash transaction before you spend it makes your Dash just as valuable as freshly minted coins. No more tainted funds.

  • Dash-Evolution: This is the next generation of Dash. It will make Dash the most user-friendly cryptocurrency in the world. So user-friendly that even your grandmother could use it! Check out the Demo!

  • A very clear vision of the future via on-chain scaling: The current Dash roadmap details the path to Evolution. Founder Evan Duffield also put out two manifesto articles elaborating on what Dash wants to achieve and how to get there.

Dash Blaock Explorers

Dash’s network

There are two main tiers in Dash, the miners and the master nodes. The Miners carry out similar functions to those in the bitcoin network. The master nodes are responsible for governance functions and for carrying out special transactions- InstantSend and PrivateSend.

InstantSend enables near-instantaneous transactions and is claimed to prevent double-spending, a potential problem with other cryptocurrencies. Regular block times are two and a half minutes whereas InstantSend transactions can be processed in under a second.

Decentralized Governance by Blockchain(DGBB), Dash attempt to solve two problems: governance and funding.

  • Governance

  • The DGBB system allows each masternode to vote once for each proposal. This is a bit like block producer(BP) in EOS. If a proposal passes, it can then be implemented by Dash’s developers.

  • Funding

  • DGBB provides a means for Dash to fund its own development.
    The network funds itself by reserving 10% of the block reward for budget projects.

MasterNode

Masternodes are dedicated servers on the internet that enable instant transactions and perform the trustless anonymization of users’ funds. Further they’re the backbone of Dash’s governance model and the foundation of coming features in “Dash Evolution”. Masternodes require 1,000 Dash as “collateral” (you can’t lose the Dash, only its value), a secured server, a full-time Internet connection, and periodic updates. In return they receive 45% of the block reward which at current rates and number of nodes amounts to 1.8 Dash every 6-7 days.

Random Choose Masternode

A special deterministic algorithm is used to create a pseudo-random ordering of the masternodes. The pseudocode of selecting a masternode:

  for( auto& masternode : masternodes){
      current_score = masternode.CalculateScore();
      wining_node = masternode;
  }
  CMasterNode::CalculateScore(){
    pow_hash = GetProofOfWorkHash(nBlockHeight);// get the hash of this block
    pow_hash_hash = hash(pow_hash);// hash the POW hash to increase the entropy
    difference = abs(pow_hash_hash - masternode_vin);
    return difference;
  } 

Function of Masternode

1. Trustless Quorums

With the addition of the masternode network and the collateral requirements, we can use this secondary network to do highly sensitive tasks in a trustless way, where no single entity can control the outcome. By selecting N pseudo random masternodes from the total pool to perform the same task, these nodes can act as an oracle, without having the whole network do the task.

As an example, implementation of a trustless quorum , which uses quorums to approve transactions and lock the inputs or the proof-of-service implementation.

Another example use for trustless quorums can include utilizing the masternode network as a decentralized oracle for financial markets, making secure decentralized contracts a possibility.

2. Proo-Of-Service

To reduce the possibility of people using the system to their advantage nodes must ping the rest of the network to ensure they remain active. This work is done by the masternode network by selecting 2 quorums per block. Quorum A checks the service of Quorum B each block. Quorum A are the closest nodes to the current block hash, while Quorum B are the furthest nodes from said hash.

Block-Reward

  • 45% of block rewards go to miners.

  • 45% of block rewards go to masternodes.

  • 10% of block rewards go to the Decentralized Governance Budget.

Masternodes vs mining

  • masternodes powers the second tier, which enable financial privacy(PrivateSend), instant transactions(instantSend), and the decentralized governance and budget system. Since the masternodes carry out a great function, 45% of block reward goes to masternodes.

  • masternodes have the power to reject improperly formed blocks from miners, if a miner tried to take the entire block reward for themselves or tried to run an old version of the Dash software, the masternode network would orphan that block.

  • masternodes do not mine. each masternode is “secured” by 1000 DASH. Those Dash remain under the sole control of their owner at all times, and can still be freely spent. the funds are not locked in any way. if the funds are moved or spent, the associated masternode will go offline and stop receiving rewards.

  • Miners powers the first tier, which is the basic sending and receiving of funds and prevention of doublespending.

  • Miners do not serve as masternodes.

PrivateSend

PrivateSend is an implementation of CoinJoin. The privacy solution first proposed for Bitcoin by Bitcoin Core developer Gregory Maxwell. In PrivateSend, three users add their coins together in one big transaction, that sends the coins to freshly generated addresses belonging to the same three users. As such, the coins are effectively mixed between the three participants, breaking the blockchain trail of ownership between them. This process can be automatically repeated up to 16 times, with different mixing participants, for extra privacy.

PrivateSend is done by masternodes.

The step of PrivateSend is following:

  1. Breakingdown a user’s transaction input into discrete denominations, with these denominations being: 0.01 DASH, 0.1 DASH, 1 DASH and 10 DASH.

  2. A user’s Dash wallet will initiate a request to a Dash masternode, the masternode made aware that a user would like to mix a certain denomination of Dash coins. No identifiable information is sent to the masternodes, so they do not know who you are.

  3. The masternode then issue a message to the network indicating that is ready to mix a denomination, and there is a users waiting.

  4. Two other individuals who also wish to mix the same denomination of Dash coins can connect to the masternode that is hosting the other user’s transaction.

  5. Start a mixing session, the masternode mixes up the inputs and instructs all three users’ wallets to pay the now-mixed input back to themselves.

  6. A user’s wallet must repeat this mixing session multiple times(each time is called a round) to ensure that fund origins are fully anonymized.

  • NOTE 1: Funds involved in the mixing process never leaves a user’s wallet, ensuring the entire process can remain trustless and secure.

  • NOTE 2: Your wallet only contains 1000 of these “change addresses”. Every time a mixing event happens, one of your addresses is used up. Once enough of themn are used, your wallet must create more addresses. It can only do this, however, if you have automatic backups enabled. Consequently, users who have backups disabled will also have PrivateSend disabled.

  • NOTE 3: To address DOS attacks, Dash developers propose all user submit a transaction as collateral to the pool when joining. When a user submits a request to the mixing pool, they must provide collateral at the beginging of this exchange. if at any point any user fails to cooperate, by refusing to sign for example, the collateral transaction will be broadcast automatically. This will make it expensive to carry out a sustained attack on the privacy network.

  • NOTE 4: As of December 2018, PrivateSend is only available in Dash Core wallets.

An example of PrivateSend

PrivateSend Security Considerations

as transactions are merged, masternodes can possibly “snoop” on users funds as they pass through. This is not considered a serious limitation due to the requirement for masternode’s to hold 1000 DASH, on the other hand, users utilize random masternodes to host their joins, so the probability of following a transaction throughout a chaining event can be calculated as follows:

Attacker Controlled Masternodes / Total Masternodes Depth Of The Chain Probability of success ( n / t ) r (n/t)^r DASH Required
10/1010 2 9.80e-05 10,000DASH
10/1010 4 9.60e-09 10,000DASH
10/1010 8 9.51e-11 10,000DASH
100/1100 2 8.26e-03 100,000DASH
100/1100 4 6.83e-05 100,000DASH
100/1100 8 4.66e-09 100,000DASH
1000/2000 2 25% 1,000,000DASH
1000/2000 4 6.25% 1,000,000DASH
1000/2000 8 0.39% 1,000,000DASH
2000/3000 2 44.4% 2,000,000DASH
2000/3000 4 19.75% 2,000,000DASH
2000/3000 8 3.90% 2,000,000DASH

Where:

  • n is the total number of nodes controlled by the attacker.

  • t is the total number of masternodes in the network.

  • r is the depth of the chain.

Blinding Masternodes

Alough the probability of masternodes to snoop the user’s join is low, but the security problems still exists. This potential danger can be addressed by blinding masternodes so they cannot see which inputs/outputs belong to which users.

  • relay system

    Dash uses relay system to protect user’s identity. Instead of a user submitting the inputs and outputs directly into the pool, they will pick a random masternode from the network and request that it relays the inputs/outpus/signatures to the target masternode. This means that the masternode will receive N sets of inputs/outputs/ and N sets of signatures. Each set belong to one of the users, but the masternode can’t know which belongs to which.

Dash Wallet

There are many wallet that support dash, details are in here.

猜你喜欢

转载自blog.csdn.net/t46414704152abc/article/details/89365000
今日推荐