Position: Home page » Virtual » How to calculate virtual currency transaction

How to calculate virtual currency transaction

Publish: 2021-05-19 13:41:41
1. In order to understand the technical principle of bitcoin, we need to understand two important cryptographic techniques: hash code: it converts a long string into a fixed length string, and its conversion is irreversible, that is, it is impossible to guess the original string from hash code. Sha256 is mainly used in bitcoin protocol
public key system: corresponds to a public key and a private key, keeps the private key in the application and publishes the public key. When Party A transmits information to Party B, it can use Party A's private key to encrypt the information, and Party B can use Party A's public key to decrypt the information, so as to ensure that the third party cannot impersonate Party A to send the information; At the same time, when Party A transmits information to Party B, it is encrypted with Party B's public key and sent to Party B, and then Party B decrypts it with his own private key, so as to ensure that the third party cannot eavesdrop on the communication between the two people. RSA is the most common public key system, but the lliptic curve digital signature algorithm is used in bitcoin protocol. What's the difference between cash and bank account? Bitcoin is an electronic currency in BTC. In this article, it is also used to refer to the whole bitcoin system. Like opening an account in a bank, the corresponding concept in bitcoin is address. Everyone can have one or more bitcoin addresses, which are used to pay and collect money. Each address is a string that starts with 1. For example, I have two bitcoin accounts, and. A bitcoin account is uniquely determined by a pair of public key and private key. To save the account, you only need to save the private key file. Unlike bank accounts, banks keep all transaction records and maintain the book balance of each account, while bitcoin's transaction records are jointly maintained by the whole P2P network through a pre agreed protocol. How much money is in my account address? Although the current account balance can be seen by bitcoin software, unlike banks, there is no place to maintain the book balance of each address. It can only calculate the account balance in real time through all historical transactions. How do I pay? When I pay from address a to address B of the other party, the payment amount is e. at this time, both parties will announce the transaction information to each network node, telling address a to pay to address B, and the payment amount is e. In order to prevent the third party from forging the transaction information, the transaction information will be encrypted with the private key of address A. at this time, the network node receiving the transaction information can use the public key of address a to verify that the transaction information is indeed sent by address a. Of course, trading software will help us do these things, we just need to input the relevant parameters in the software. What will the network node do after receiving the transaction information? This is the most important part of the bitcoin system, which needs to be elaborated. For the sake of simplicity, only bitcoin protocol has been implemented. In the current version, each network node will save all transaction information synchronously. There are two kinds of transaction information in history, one is & quot; Verified & quot; The transaction information, that is, the verified transaction information, is stored in a series of "blocks". Each & quot; block" Is the previous & quot; bock" The ID of each block is the hash code of the hash code of the block and the new transaction information (see an actual block). The other category refers to those who also & quot; Unverified & quot; The transaction information just paid above belongs to this category. When a network node receives new unverified transaction information (possibly more than one), it can calculate the book balance of each address at that time because the node keeps all the transaction information in history, so it can calculate whether the transaction information is valid, that is, whether there is enough balance in the payment account. After eliminating the invalid transaction information, it first takes out the last & quot; block" Then, the unverified transaction information is combined with the ID, and a verification code is added to form a new "block". It needs a lot of calculation to build a new block, because it needs to calculate the verification code, so that the above combination becomes a block, that is, the first several bits of the hash code of the block are 1. At present, the first 13 bits need to be 1 (generally, the specific method is uncertain), which means that if the block is generated by enumeration method, the average number of enumerations is 16 ^ 13. Using CPU resources to generate a block is called "gold mining", because the proction of the block will get a certain reward, and the reward information has been included in the block. When a network node generates a new block, it will broadcast to other network nodes. However, this network block may not be accepted by the network, because it is possible that other network nodes have proced the block earlier. Only the earliest block or the block with the largest number of subsequent blocks is valid, and the remaining blocks are no longer used as the initial blocks of the next block. How does the other party confirm that the payment is successful? When the payment information is distributed to the network node, the network node begins to calculate whether the transaction is valid (that is, whether the account balance is enough to pay), and attempts to generate blocks containing the transaction information. When six blocks (one direct block and five subsequent blocks) contain the transaction information, the transaction information is considered "verified", so that the transaction is formally confirmed, and the other party can confirm the successful payment. A possible problem is that I will pay the balance of address a to address B, and at the same time pay to address C. If I only verify that the single comparison transaction is valid. At this point, my way of cheating is to generate six blocks including B to B and six blocks including C to C before the truth is revealed. Because I need a very long CPU time to generate a block, compared with the whole network, the probability of my cheating success is very small. What is the motivation of network nodes to proce blocks? As can be seen from the above description, in order to make the transaction information effective, the network node needs to generate 1 and 5 subsequent blocks to contain the transaction information, and such block generation is very CPU intensive. How to let other network nodes help to proce blocks as soon as possible? The answer is very simple. The agreement stipulates that BTC will be rewarded for the address where the block is proced, as well as the Commission promised by both parties. At present, the reward for procing a block is 50btc, which will be halved every four years in the future. For example, the reward will be 25btc from 2013 to 2016. Is the transaction anonymous? Yes, and No. All bitcoin transactions are visible. We can check all transaction records of each account, such as mine. But what's different from the banking monetary system is that everyone's account itself is anonymous, and everyone can open many accounts. In general, anonymity is not as good as it claims. But bitcoin has another advantage in doing black market trading: it can't be frozen. Even if the police trace a bitcoin address, there is nothing they can do unless they trace the computer used by the exchange based on the Internet address. How to ensure that bitcoin does not depreciate? Generally speaking, in the case of equivalent trading activities, the value of money is inversely proportional to the amount of money issued. Unlike the traditional money market, the central bank can determine the amount of money issued. Bitcoin does not have a central issuing institution. Only by procing blocks can we get a certain amount of BTC currency. Therefore, bitcoin's new amount of money depends on: 1. The speed of procing blocks: bitcoin's agreement stipulates that the difficulty of procing blocks is fixed at an average of 2016 every two weeks, about 10 minutes. Moore's law of doubling CPU speed every 18 months will not speed up the proction of block. 2. The number of rewards for block proction: at present, 50 BTC is awarded for each block proced, which is halved every four years. In 2013, 25 BTC is awarded, and in 2017, 12.5 BTC is awarded. Considering the above two factors, bitcoin's currency issuing speed is not controlled by any single node in the network. Its protocol makes the currency stock known in advance, and the maximum stock is only 21 million BTC
2. According to the official reply of the State Administration of Taxation on the issue of indivial income tax on the income of indivials from buying and selling virtual currency through the Internet (GSH [2008] No. 818), the income obtained by indivials from purchasing players' virtual currency through the Internet and selling it to others after price increase belongs to the taxable income of indivial income tax, The indivial income tax shall be calculated and paid according to the item of "income from property transfer". The original value of an indivial's property in selling virtual currency is the price and related taxes paid for his purchase of network virtual currency. If an indivial is unable to provide evidence of the original value of his property, the original value of his property shall be verified by the competent tax authorities.
3. Their RMB spot trading is free, and there is no handling charge.
4. When choosing the registered account number of each mainstream exchange, trading in legal currency for TEDA currency, trading in other currencies through TEDA currency, the general website has a detailed process.
5. Bitcoin transaction refers to the transfer between an address and another address, which usually requires an additional service charge to miners

generally, an ordinary bitcoin transaction is composed of one input and two outputs, with the size of about 200 bytes. The default charge is 0.0001btc for every 1000 bytes, and the ordinary bitcoin transfer fee is about 0.001-0.002btc

however, e to the limited capacity of the block to hold transaction records, miners generally give priority to the transaction with higher handling charges. Therefore, when the transaction needs urgent confirmation, it is recommended to select custom charges. I also saw these in Yingfu College of Finance and economics.
6. It is often said that you can send bitcoin to any corner of the earth for free. Generally, you can transfer bitcoin for free, but in some cases, you have to pay transaction fees to complete the transfer. In version 0.8.3 bitcoin wallet, the default is 0.0001 bitcoin transfer fees. This service charge is awarded to miners to encourage them to continue mining and provide enough computing power for bitcoin to ensure the security of bitcoin network. At present, the main income of miners is to get 25btc reward by creating new blocks, but this reward is halved every four years. As time goes on, bitcoin transaction fee reward will graally replace the reward for creating new blocks. Under what circumstances do you need to pay the handling charge? How much does bitcoin charge? What is the handling charge? Bitcoin system has a series of network rules, including fee rules, which are "what the client should do". When you use bitcoin client (wallet, bitcoin QT) to send bitcoin, the whole process is roughly divided into the following steps:
1. Prepare the bitcoin you want to send. The client is responsible for collecting the balance of bitcoin in your wallet (bitcoin QT) to prepare for payment, because every bitcoin you receive is stored in your wallet until you spend it. If you receive two payments from 3btc and 2btc, their records in the wallet are independent of each other, that is, a 3btc and a 2btc, rather than merging them into 5btc (the wallet only records transaction details and does not merge the balance, but you can see the total balance on the interface of the wallet). As time goes on, many bitcoins of different amounts will accumulate in your wallet, So when you send bitcoin, the wallet has to decide which bitcoin is the most suitable for this sending. The bitcoin you get in a transaction is called "inputs" and the bitcoin you spend is called "outputs". There are multiple inputs and outputs in your wallet
2. If your outputs are less than 0.01btc (including the fund changes inside your wallet), you have to pay a handling charge of 0.0001, even if you transfer it to yourself. The wallet has an established rule when preparing your payment amount, that is, when preparing the payment amount in many inputs, try to avoid the amount change less than 0.01btc (for example, if you want to pay 5.005btc, the wallet should choose 3 + 2.005 or 1 + 1 + 3.005 instead of 5 + 0.005)
3. The larger the amount, the higher the age, and the higher the priority. If the amount you send is too small or your bitcoin has just been mined, then your transfer is no longer free. Each transaction will be assigned a priority, which is determined by the degree of currency, the number of bytes and the number of transactions. Specifically, for each input, the client will first multiply the number of bitcoins by the time they exist in the block (currency age, age), and then divide all the procts by the size of the transaction (in bytes). The calculation formula is: priority = sum (input)_ value_ in_ base_ units * input_ age)/size_ in_ If the calculation result is less than 0.576, then the transaction must pay the handling fee. If you do have a large amount of small input and want to transfer it out for free, you can add a large amount of bitcoin with a large age, which will increase the average priority, so that you can transfer out bitcoin for free
4. Charge per kilobyte. At the end of the transfer, the client will detect the size of the transfer (in bytes). The size generally depends on the amount of input and output. The calculation formula is as follows: 148 * input amount + 34 * output amount + 10. If the size of the transfer exceeds 10000 bytes, but the priority meets the free standard, you can still enjoy the free transfer, Otherwise, there will be a handling charge. The cost of 1000 bytes is 0.0001btc by default, but you can also add it in the client. Open the tab "settings & gt; Options & gt; The main purpose is to adjust the handling charge. If the service charge you are setting is less than 0.0001, BTC is calculated as 0.0001.
7.
8. Odd completed ÷ Odd completed + odd not completed)
Hot content
Inn digger Publish: 2021-05-29 20:04:36 Views: 341
Purchase of virtual currency in trust contract dispute Publish: 2021-05-29 20:04:33 Views: 942
Blockchain trust machine Publish: 2021-05-29 20:04:26 Views: 720
Brief introduction of ant mine Publish: 2021-05-29 20:04:25 Views: 848
Will digital currency open in November Publish: 2021-05-29 19:56:16 Views: 861
Global digital currency asset exchange Publish: 2021-05-29 19:54:29 Views: 603
Mining chip machine S11 Publish: 2021-05-29 19:54:26 Views: 945
Ethereum algorithm Sha3 Publish: 2021-05-29 19:52:40 Views: 643
Talking about blockchain is not reliable Publish: 2021-05-29 19:52:26 Views: 754
Mining machine node query Publish: 2021-05-29 19:36:37 Views: 750