BTC light node address
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
unlike most currencies, bitcoin does not rely on specific currency institutions. It is generated by a large number of calculations based on specific algorithms. Bitcoin economy uses a distributed database composed of many nodes in the whole P2P network to confirm and record all transactions, and uses cryptography design to ensure the security of all aspects of currency circulation. The decentralized nature and algorithm of P2P can ensure that it is impossible to artificially manipulate the value of bitcoin through mass proction. The design based on cryptography can make bitcoin only be transferred or paid by the real owner. This also ensures the anonymity of money ownership and circulation transactions. The biggest difference between bitcoin and other virtual currencies is that the total amount of bitcoin is very limited and it has a strong scarcity. The monetary system used to have no more than 10.5 million in four years, after which the total number will be permanently limited to 21 million
bitcoin can be cashed and converted into the currency of most countries. Users can use bitcoin to buy some virtual items, such as clothes, hats and equipment in online games. As long as someone accepts it, they can also use bitcoin to buy real-life items[ 1-2]
PPS means that the gold you dig is stored in the mine pool, and then transferred to your wallet after a certain amount. The handling charge is relatively high. PPLNs is generally more common in p2pool. When you dig the mine, it is directly stored in your wallet, and there is no handling charge. At present, the more popular is p2pool, which is relatively safe at present, and it is also highly praised by foreign heroes
a node is a network node in the blockchain distributed ledger system. By connecting servers, computers and other devices through the network, different types of blockchains have different ways to become nodes. For example, bitcoin participates in trading and mining, and EOS participates in election campaign to become a node
the following is what is a bitcoin full node
bitcoin full node is the node that downloads and preserves complete blockchain data by loading bitcoin clients (including bitcoin unlimited and bitcoin)
because of the congestion of the blockchain transaction network, the author solves the problem by adjusting the broadcast communication, information encryption and decryption, consensus mechanism and transaction verification mechanism. In the whole bitcoin network, from miners to ordinary users can be regarded as a node in the bitcoin network, but because bitcoin has the characteristics of multi centralization, In the whole network, its important role is "bitcoin all nodes."
first of all, the cost of hard disk has dropped from the lowest of US $0.025/gb in 2017 to US $0.15/gb, a 40% drop in three years. If this rate of decline continues, then by 2022, the decline rate of hard disk home will be faster than the growth rate of bitcoin, because over time, hosting a full node will be more economical
however, there are some technical solutions to solve this problem, which can rece the storage burden of the whole node. One of the most common solutions is light node. These nodes use a simplified payment verification method to verify transactions. Users only need to download a small part of the blockchain, but they need to rely on the third-party full node hosting the whole blockchain.
BTC means bitcoin
You can download a bitcoin wallet or register on a trading platform. Everyone's bitcoin address is unique. If you have an address, you can make a bitcoin transfer. Download bitcoin client or bitcoin wallet, you can also register your own bitcoin address. A bitcoin address is a string of 26 to 34 bits of letters and numbers, which looks a bit like garbled code
the bitcoin address is an indivial's bitcoin account, which is equivalent to your bank card number. Anyone can transfer bitcoin to you through your bitcoin address. The red box is the bitcoin address. Log in to my bitcoin bag and you can see the money
extended materials:
the concept of bitcoin was first proposed by Nakamoto in 2009. According to Nakamoto's idea, the open source software was designed and released, and the P2P network on it was constructed. Bitcoin is a kind of P2P digital currency. Point to point transmission means a decentralized payment system
unlike most currencies, bitcoin does not rely on specific currency institutions. It is generated by a large number of calculations based on specific algorithms. Bitcoin economy uses the distributed database composed of many nodes in the whole P2P network to confirm and record all transactions, and uses the design of cryptography to ensure the security of all aspects of currency circulation. The decentralized nature and algorithm of P2P can ensure that it is impossible to artificially manipulate the value of bitcoin through mass proction. The design based on cryptography can make bitcoin only be transferred or paid by the real owner. This also ensures the anonymity of money ownership and circulation transactions. The biggest difference between bitcoin and other virtual currencies is that the total amount of bitcoin is very limited and it has a strong scarcity. The monetary system used to have no more than 10.5 million in four years, after which the total number will be permanently limited to 21 million
bitcoin can be cashed and converted into the currency of most countries. Users can use bitcoin to buy some virtual items, such as clothes, hats and equipment in online games. As long as someone accepts it, they can also use bitcoin to buy real-life items
reference: network bitcoin
a person signed by Nakamoto Tsui has put forward a revolutionary idea: let's create a currency that is not controlled by the government or anyone else! This idea is crazy: there is no asset support behind a string of figures, and no one is responsible for it. How can anyone accept it when you pay it to the other party as money
Merkle tree
looks like a binary tree, but this is the lower two nodes. Take the hash value to get the upper node. Just remember the root node to detect whether the whole tree has been tampered
the root hash value is stored in the block header, and the transaction process is stored in the block body. All nodes include block header and block body, but light nodes (such as bitcoin wallets on mobile phones) only include block header. This tree can prove that a transaction has been written into the blockchain
3. Consensus agreement
two issues should be paid attention to in decentralized currency:
1. Who can issue digital currency: mining
2. How to verify the legitimacy of transactions: blockchain
double spending attack
double spending attack is a major challenge of digital currency
all transactions in bitcoin have input and output. Where does bitcoin come from and where does it go
under normal circumstances, there may be two bifurcations, because two nodes obtain the bookkeeping right at the same time, and the two nodes package the block and calculate the random number at the same time. At this time, the two bifurcations will coexist temporarily until one of the blocks finds the next block first, which becomes the longest legal chain, and the other one is discarded<
Sybil attack
a malicious node keeps generating accounts. If the total number of accounts exceeds half of the total accounts, it obtains the control of the blockchain
consensus protocol in bitcoin
some nodes are malicious, and most nodes are good
idea 1: pack some transactions into blocks as candidate blocks, let each block vote, and write them into the blockchain if they pass
No, because some malicious nodes have been publishing blocks containing malicious transactions, and they have been voting and occupying resources. And some nodes don't vote<
idea 2: vote not by the number of accounts, but by computing power. Each node can generate legal transactions and put them into the block. These nodes start to try random numbers until H (block header) ≤ target is found, then this node has the right to account
the only way to generate bitcoin
coinbase transaction. There is no need to point out the source of the currency. If you have the bookkeeping right, you will get a reward< br />
50BTC-> 25BTC-> 12.5btc, the reward will be halved for every 210000 bitcoins
the process of bitcoin competing for bookkeeping rights is called mining. The node competing for bookkeeping right is called miner.
does each node have complete blockchain data? You mean a user node? A user node needs to keep the of the block head of the longest workload proof chain, so it knows the data of all the block heads. It can move forward to know all the data on the block chain, but not all of them are saved. A block header is very small, only 80 bytes, which can be saved completely, because the generation of nodes is very slow. Even with the passage of time, the amount is not too large now.