比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。
Bitcoin, an electronic currency based on cryptography, was published on November 1, 2008, with China’s White Paper on Bitcoin, which proposed a decentralised electronic accounting system, in which our electronic cash is accounted for by banks because of the country’s credit behind them. Decentralizing the electronic accounting system is shared by participants. Bitcoins can prevent sovereign crises and credit risks. Its benefits are less detailed, and many articles are presented at this level, mainly from a deeper technical point of view.
假设现有4个人分别称之为ABCD,他们之间发起了3个交易,A转给B十个比特币,B转给C5个比特币,C转给D2个比特币。如果是传统的记账方式,这些交易会记录在银行的系统中,这些信息由银行来记录,我们相信银行不会随意添加、删除或修改一条交易记录,我们也不会关注到底有哪些交易,我们只关注自己的账户余额。而比特币的记账方式为ABCD每个人保存了这样一份账本,账本上记录了上述交易内容,如果每个人账本实时的一致,ABCD就不再需要银行。
& nbsp; assuming that there are four individuals called ABCDs, they have initiated three transactions, A to B10 bitcoins, B to C5 bitcoins, and C to D2 bitcoins. If it is the traditional way of bookkeeping, these transactions are recorded in the bank's system, and this information is recorded by the bank, we trust that the bank will not add, delete or modify a record of the transaction at will, we will not be concerned about what the transaction is, and we will focus on our own account balances. Bitcoin keeps a copy of the account book for each ABCD, which records the transaction, and if everyone's book is consistent in real time, ABCD no longer needs the bank.
比特币是这样做的,每当有人发起一笔交易,他就要将一笔交易广播至全网,由全网中的某一个人,把一段时间内的交易打包好记录到一个区块上,再按照顺序把这些区块,一个一个的链接在一起,进而形成了一个链条,这就是所谓的区块链。
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & & nbsp; & Bitcoin does this, and whenever someone initiates a deal, he broadcasts a transaction to the whole network, and a person on the whole web, wraps the transaction over a period of time into a block, then links the blocks, one by one, and then forms a chain, the so-called block chain.
那么问题来了
So, here's the question.
1、我凭什么要参与这个系统,我为什么要动用自己的计算机资源来存储这些信息呢?
1. Why should I be involved in this system and why should I use my own computer resources to store this information?
2、以谁的记录为准呢?比如上面的账单顺序,A用户可能是这个顺序,但是B可能顺序不一样,甚至可能B根本就没有接收到C给D转账的这个消息。
2. Whose records prevail? For example, in the bill order above, the A user may be in that order, but B may be in a different order, or even B may not even receive this information about the C-D transfer.
3、比特币如果做到支付功能,保证该是谁的钱就是谁的钱,而且只有其所有者才能花。
3- Bitcoin, if it performs the payment function, ensures that the money is whose money it is, and that only its owner can spend it.
4、如何防伪、防篡改以及双重支付,防伪是验证每条交易的真的是某人发出的,比如B可能杜撰一条消息,说某某给我转了一笔钱,这就是一个假消息,或者B说我给某人转了多少钱,但是实际上他并没有这么多钱,又怎么办。防篡改指的是B可能想从区块链上把自己曾经转给某人钱的记录删掉,这样他的余额就会增加。双重支付是指,B只有10比特币,他同时向C和D转10个比特币,造成双重花费。
4; how to protect against forgery, tampering, and double payment, which is to verify that every transaction is actually sent by someone, such as B, who may create a message that someone has transferred me a sum of money, which is a false message, or B, which says I have transferred to someone, but in fact he does not have that amount of money, and what to do with it. Counterfeiting may mean that B may want to delete from the chain of blocks the record that he has transferred money to someone, so that his balance increases. Double payment means B has only 10 bits of currency, and he transfers 10 bits to C and D at the same time, causing double expense.
因为记账有奖励,记账有手续费的收益,而且打包区块的人有系统奖励,奖励方案是,每十分钟生成一个区块,每生成一个区块会奖励一定数量的比特币,最开始是50个BTC,过4年会奖励25个BTC,再过4年再减少一半,以此类推。这样比特币的产生会越来越少,越来越趋近于一个最大值,计算公式是:50×6×24×365×4×(1+1/2+1/4+1/8+…)≈2100万,其中最初奖励50个比特币,每小时有6个区块,每天24小时,每年365天,前四年是如此,之后每四年减半。
Because there are incentives for bookkeeping, fees for bookkeeping, and systematic incentives for packagers, the incentive is to generate a block every 10 minutes in which a certain amount of bitcoin will be rewarded, starting with 50 BTCs in four years, reducing 25 BTCs in four years and then by half in four years. Thus, Bitcoins will be generated less and closer to one of the largest values, calculated as: 50 × 6 × 24 × 365 & Times; 4 × 1 + 1 + 1/4 + 1/8 & Hellip;) & asymp; 21 million, of which the initial reward is 50 bitcoins and 6 bits per hour, 24 hours per day, 365 days per year, 365 days per year, for the first four years, halving every four years thereafter.
此外,记账奖励还有每笔交易的小额手续费,每个交易发起都会附带一定的手续费,这些手续费是给记账的矿工的。
In addition, the billing incentive includes a small fee for each transaction, which is accompanied by a certain fee for the initiation of each transaction, which is paid to the billed miners.
各个节点通过工作量证明机制来争夺记账权,他们计算一个很复杂的数学题,第一个计算出来的节点就是下一个区块的产生者。这个数学题很难,难到没有一个人能同过脑子算出来,它是基于概率的方法,矿工必须通过遍历、猜测和尝试的办法才能解开这个未知数。那么这个数学难题到底是什么呢?下面详细介绍。
Nodes compete for bookkeeping by means of workload proof mechanisms, and they calculate a very complex mathematical question, the first of which is the generator of the next block. This is a difficult question, so that no one can figure it out with his brain. It's a probabilities-based approach. Miners have to go through history, speculation, and trying to solve the unknown. So what is this mathematical dilemma?
4.1哈希函数
4.1 Hashi function
哈希函数又称为数字摘要或散列函数,它的特点是输入一个字符串,可以生成另外一个字符串,但是如果输入不同,输出的字符串就一定不同,而且通过输出的字符串,不能反推出输入。举个简单的例子,对1-100内的数模10,可以认为是一种哈希方法,比如98%10=8,66%10=6,98和66是输入,模10是哈希函数,8和6是输出,在这个模型中,通过6和8无法推断输入是66和98,因为还可能是56和88等,当然因为这个例子比较简单,所以会出现哈希碰撞,即66和56的结果都是6,输出的结果相同。一个优秀的哈希函数,可以做到输出一定不同,哈希碰撞的概率几乎为0。常见的哈希函数有很多,比如MD系列和SHA系列等,比特币采用的SHA256算法,即输入一个字符串,输出一个256位的二进制数。下面是程序运行的结果。
The Hashi function, also known as the numerical summary or hash function, is characterized by the input of a string that can generate another string, but if the input is different, the output string may be different and cannot be inverted through the output string. To give a simple example, for example, a 10-digit number in 1-100, it can be considered a Hashi method, such as 98%10=8, 66%10=6, 98 and 66 is input, and models 10 is Hashi function, and 8 and 6 are output, and in this model 66 and 98 are not extrapolated by 6 and 8, because it may be 56 and 88 etc., and because this example is simpler, there will be a Hashi collision, that 66 and 56 results are 6 and the output results are the same. An excellent Hashi function, which can produce a certain amount of output, the probability of which is almost zero.
通过程序结果可以看出,输入的源信息不同,得到的结果也不同(为了方便,结果用64位16进制表示),即使是orange多了一个句号,也会产生截然不同的结果。同时,通过输出的十六进制字符串,也无法倒推出输入。对于比特币,只要了解SHA256的功能即可,如果感兴趣可以深入了解SHA256的具体算法。需要SHA256的C++源码留言邮箱或私信。
As can be seen from the results of the program, the source information entered is different and the results are different (for convenience, the result is expressed on a 64-bit 16-digit basis), even if the orange has an extra stop, it produces a very different result. At the same time, a hexadecimal string of output does not reverse the input. For Bitcoin, it is sufficient to understand the functions of SHA256 and, if interested, the exact algorithm of SHA256 can be understood in depth. requires a C++ source message box or a private message from SHA256.
4.2挖矿原理
首先介绍一下比特币每个区块的数据结构,每个区块由区块头和区块体两部分组成。
First, a description of the data structure of each block in Bitcoin, each of which consists of two parts: a block head and a block block.
区块体中包含了矿工搜集的若干交易信息,图中假设有8个交易被收录在区块中,所有的交易生成一颗默克尔树,默克尔树是一种数据结构,它将叶子节点两两哈希,生成上一层节点,上层节点再哈希,生成上一层,直到最后生成一个树根,称之为默克尔树根,只有树根保留在区块头中,这样可以节省区块头的空间,也便于交易的验证。
The blocks contain a number of transactional information collected by miners. The figure assumes that eight transactions are recorded in the blocks, that all transactions generate a Merkel tree, that the Merkel tree is a data structure that generates two or two hazes of leaves, that generates the upper node, that produces the upper node, that produces the upper layer until the final generation of a root, known as the Merkel root, is kept only in the block, which saves the space of the block and facilitates the validation of the transaction.
区块头中包含父区块的哈希,版本号,当前时间戳,难度值,随机数和上面提到的默克尔树根。
Block header includes Hashi of the parent block, version number, current time stamp, difficulty value, random number and the Merkel root mentioned above. & nbsp;
假设区块链已经链接到了某个块,有ABCD四个节点已经搜集了前十分钟内全网中的一些交易信息,他们选出其中约4k条交易,打包好,生成默克尔树根,将区块头中的信息,即发区块哈希+版本号+时间戳+难度值+随机数+默克尔树根组成一个字符串str,通过两次哈希函数得出一个256的二进制数,即SHA256(SHA256(str))=10010011……共256位,比特币要求,生成的结果,前n位必须是0,n就是难度值,如果现在生成的二进制数不符合要求,就必须改变随机数的值,重新计算,只到算出满足条件的结果为止。假设现在n是5,则生成的二进制数必须是00000……(共256位)。一旦挖矿成功,矿工就可以广播这个消息到全网,其他的矿工就会基于该区块继续挖矿。下一个区块头中的父区块哈希值就是上一个区块生成的00000……这个数。
Assuming that the block chain has been linked to one block and that the four ABCD nodes have collected some of the transactions in the entire network for the previous 10 minutes, they have selected about 4 k of them, packaged them, generated Merkel root, and generated the information in the block head, i.e. the Hashi+version+time stamp+randial + Merkel root, which consists of a stringstr, using two Hashi functions to produce a binary number of 256, that is, SHA256 (SHA256(str) = 10010011… & Hellip; a total of 256 bits, which is required by bitcoins, the result of which must be zero, n is the difficulty, if the current number of bins does not match the requirements, the random value must be changed and recalculated until the condition is met.
解决这个数学难题要靠运气,理论上,运气最好的矿工可能1次哈希就能算出结果,运气差的可能永远都算不出来。但是总体来看,如果一个矿工的算力越大,单位时间内进行的哈希次数就越多,就越可能在短时间内挖矿成功。
It's only luck to solve the math problem, and theoretically, the best-luck miners can calculate the results one time, and the worst-luck can never be. But, on balance, the more a miner can count, the more than he can do in a unit time, the more likely it will be that the mine will succeed in a short period of time.
那么n是如何确定的呢?比特币设计者希望,总体上平均每十分钟产生一个区块,总体上来看,挖矿成功的概率为1/2^n。现假设世界上有1W台矿机,每台矿机的算力是14T次/s=1.4×10^13次/s,单位次/s称之为哈希率,10分钟是600s,所以10分钟可以做8×10^19次哈希运算,从概率角度看,想要挖矿成功需要做2^n次运算,可以列出等式2^n=8×10^19,可以解出n约为66。所以对于这种方法,我们没有办法使得自己的运气变的更好,只能提高自己的算力,尽快的算出结果。
So how does n determine? Bitcoin designers want to produce a block on average every 10 minutes, and generally the probability of success is 1/2 per cent. It is assumed that there are 1W machines in the world with 14 Ts/s=1.4× 10%13/s, which is called Hashi rate, 600s per unit/s, so that we can do 8× in 10 minutes; 10:19 Hashi calculations, which, from a probabilistic point of view, would require a 2⁄n = 8 × 10:219, which can be decoded at about 66. So there is no way for this approach to make our luck better, we can only improve our ability to calculate as quickly as possible.
另外,需要模拟挖矿过程的C++代码可以回复邮箱,代码可以通过调整难度值,模拟比特币的挖矿算法,控制区块产生的速度。
In addition, the C++ code, which is required to simulate the mining process, can respond to the mailbox by adjusting the difficulty values, simulating the mining algorithm of Bitcoin and controlling the speed at which blocks are generated.
这部分是理解比特币很重要的部分。
This part is important to understand bitcoin.
5.1电子签名技术
身份认证技术在生活中很常见,可以是人脸识别、签字、指纹等,但是这些方法在数字货币领域并不安全,因为它们一旦数字化,都可以通过复制的方法伪造。所以比特币采用了电子签名的方法。
Identification techniques are common in life, and can be facial recognition, signature, fingerprinting, etc., but they are not safe in the digital currency field, as they can be forged by means of reproduction once digitized. Bitcoin uses electronic signatures.
注册成为比特币用户时,系统会根据随机数生成一个私钥,私钥会生成一个公钥,公钥又会生成一个地址,其中私钥必须保密,可以保存到硬盘里或者记到脑子里,因为这个私钥是使用相应地址上的比特币的唯一标识,一旦丢失,所有的比特币将无法使用。下面介绍具体的转换过程,不感兴趣可以不看,只要知道随机数->私钥->公钥->钱包地址这个过程,其中私钥可以对一串字符进行加密,而公钥可以对其进行解密,这就是非对称加密,这类算法总体上的功能都是一样的,只是具体算法有区别,由于这些算法比较复杂,与SHA265算法一样不多做介绍,感兴趣可以深入了解具体算法,但是对于比特币系统,只要了解其功能即可。典型的算法是RSA,比特币采用椭圆曲线加密算法。
When registered as a Bitcoin user, the system generates a private key on the basis of random numbers, a private key generates a public key, and a public key generates an address in which the private key must be kept confidential, kept on a hard disk or kept in the brain, because the private key is the only sign that uses bitcoin on the corresponding address, and if it is lost, all bitcoin will be unusable. The following describes the specific conversion process, which is as complex as the SHA265 algorithms, is not interesting to look at, as long as the random numbers -> private keys - > public key - > and the wallet address is a process in which the private key can encrypt a string of characters and the public key can decipher them, which is a non-recognize cryptography, which is generally the same function of the algorithms, which are different, given the complexity of the algorithms, which are as the SHA265 algorithms, which allows for a better understanding of the exact algorithm, but for a bitcot system, which is typical.
转换过程(选读,不影响理解)
Conversion process (selection, without prejudice to understanding)
1、首先使用随机数发生器生成一个私钥,它是一个256位的二进制数。私钥是不能公开的,相当于银行卡的密码。
& nbsp; & nbsp; & nbsp; 1 The first to generate a private key using a random number generator is a 256-digit binary number. The private key is non-public and corresponds to the password of the bank card.
2、私钥经过SECP256K1算法生成公钥,SECP256K1是一种椭圆曲线加密算法,功能和RSA算法类似,通过一个已知的私钥,生成一个公钥,但是通过公钥不能反推出私钥。
& nbsp; & nbsp; & nbsp; 2. Private keys are generated through the SECP 256K1 algorithm. SECP 256K1 is an elliptical encryption algorithm similar to the RSA algorithm that generates a public key through a known private key, but cannot reverse the private key through the public key.
3、同SHA256算法一样,RIPEMD160也是一种HASH算法,由公钥可以得到公钥的哈希值,而通过哈希值无法推出公钥。
& nbsp; & nbsp; & nbsp; 3, like the SHA256 algorithm, RIPEMD160 is also a HASH algorithm where the public key can get the public key Hashi value and the public key cannot be rolled out through the Hashi value.
4、将一个字节的版本号连接到公钥哈希头部,然后对其进行两次SHA256运算,将结果的前4字节作为公钥哈希的校验值,连接在其尾部。
& nbsp; & nbsp; & nbsp; 4, connect a byte version number to the public key Harshi's head and then calculate it twice as SHA256 and connect the first four bytes of the result to the public key Harshi's verification value at the end.
5、将上一步的结果使用BASE58进行编码,就得到了钱包地址(相当于银行账户)。比如A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
& nbsp; & nbsp; & nbsp; 5; using BASE58 to encode the results of the previous step, the wallet address (equivalent to a bank account) was obtained. For example, A1zP1eP5QGefi2DMTfTL5Slmv7Divfna
所以,通过以上的过程我们可以总结出私钥、公钥、钱包之间的关系如下图。可以看到通过私钥可以推出所有的值,公钥哈希和钱包地址之间可以通过BASE58和BASE58解码算法相互转化。
So, by doing so, we can summarize the relationship between the private key, the public key, and the wallet as follows. It can be seen that all values can be rolled out through the private key, and that the public key Hashi and the wallet address can be converted between BASE58 and BASE58 decoding algorithms.
了解了公钥、私钥、地址的概念后,防伪验证的过程就很容易理解,当A发起一笔交易后,对消息进行哈希,生成数字摘要,对数字摘要,通过私钥加密,生成一个密码。之后A会广播这个条交易消息、公钥以及密码。收到消息的人首先对交易信息进行哈希生成摘要1,再通过公钥对密码进行解密,生成摘要2,这样,如果两个摘要相同,说明这个消息确实是A发出的。所谓的签名,就是密文。
When you understand the concepts of public key, private key, and address, it is easy to understand the process of anti-false verification. When A initiates a transaction, it creates a digital summary, a digital summary, a password via private key encryption. The A then broadcasts the transaction message, a public key, and a password. The person who receives the message first produces the transaction information in Hashi summary 1, then decrypts the password through the public key, and generates summary 2, so that, if the two summaries are the same, the message is actually A. The so-called signature is a secret letter.
5.2余额检查
5.2 Balance check
余额的概念应该说根深蒂固,余额是伴随着称之为借贷记账法而产生的,也是目前银行普遍采用的方法,将一个人的交易记录统计好后算出一个余额,但是在比特币中没有余额这个概念,因为其采用的是UXTO模型的记账方法。比如A->B10个比特币,B->C5个比特币,对于第二笔交易来说,B在发起这笔交易时要注明第一笔交易的信息,这样就可以知道B曾经从A那里收到过10个比特币,说明满足第二笔交易发起的条件。所以比特币中余额的检查是通过追溯的方法。
The concept of the balance should be said to be firmly entrenched, since the balance comes with what is known as the lending accounting method, and is the method now commonly used by banks to calculate a balance when a person's transaction record is properly accounted for, but there is no concept of the balance in Bitcoin, because it uses the UXTO model accounting method. For example, A-> B10 Bitcoins, B-> C5 Bitcoins, for the second transaction, B notes the information on the first transaction when initiating the transaction, so that it is known that B has received 10 bitcoins from A indicating that the conditions for initiating the second transaction are met. So the check of the balance in Bitcoins is done retroactively.
上图描述了两笔交易,交易10001中,B向C转了10个比特币,验证这笔交易的过程是:首先将B的签名通过B的公钥解密,然后再和交易的具体内容(B签名左侧)对比,如果相同,说明消息是B发出的,然后再检查10000这个交易是否真的存在以及它的内容的真实性。这两点都满足了,就说明交易10001是可以被接受的,否则拒绝接受。
The above chart describes two transactions, in which in transaction 10001, B transferred 10 bitcoins to C. The process of verifying the transaction was: first decrypting B's signature through the public key of B, then comparing it to the specific content of the transaction (to the left of B's signature) and, if the same is the case, indicating that the message was sent by B, then checking whether the 10,000 transaction actually existed and the trueness of its content.
实际上,真实的交易比这个复杂的多,因为有可能是多笔交易构成了输入,比如B->C20个比特币,是由多笔交易A->B10,D->B10构成的,则前一笔交易ID就是两个ID,甚至可能更多。这里为了简单描述,只列举一笔交易。
In fact, real transactions are more complex than this, because it is possible that multiple transactions constitute inputs, such as B-> C20 bitcoins, consisting of multiple transactions A-> B10, D-> and B10, where the previous transaction ID is two IDs, or even more. Here, for the sake of a simple description, only one transaction is listed.
5.3双重支付
5.3 Double payment
A同时发了两条消息,同时给B和C转了10个比特币,实际上他只有10个会怎么样?假设D节点先收到了转给B10个BTC,然后收到了转给C10个比特币,通过上面的验证方法,自然会拒绝后面的一个,与此同时,E节点可能先收到了转给C10个BTC,然后收到了转给B10个比特币,他自然会拒绝后者。至于哪一笔交易最终会上链,就要看D和E哪个先解决难题,成功挖矿。
A sent two messages at the same time and transferred 10 bits to B and C. What would happen if only he had 10 bits? Assuming that node D first received the transfer to BTC and then received the transfer to C10 bitcoin, by means of the verification method above, the latter would naturally be rejected, while node E might receive the transfer to C10 and then the transfer to B10 bitcoin, which he would reject.
5.4防止篡改
5.4 to prevent tampering
假设A转给B10个比特币,但是他想把这个信息从区块链上删除,这样大家就都不知道这个事情存在,就可以赖账。
首先说一下最长链原则,假设某一个区块后面有两个矿工同时挖到了矿,或者由于网络延迟等原因产生了分歧,这时,各个节点先随意根据自己认为对的区块挖矿,只到下一个区块产生,这时会有两条链,但是有一条是长的,比特币规定,以最长的链为准。如果某个节点仍然的固执的以较短的链为准,他就是在和大多数算力作对,这样做的结果是,他挖的块不被大家认可,会浪费时间和算力。
Assuming that A is transferred to B10 bitcoins, but he wants to remove this information from the block chain so that no one knows that it exists and can depend on it.
first of all, the principle of the maximum chain, assuming that two miners are digging at the same time behind a block, or because of network delays, among other reasons, when the nodes dig at will according to what they consider to be the block, and only at the next block, there will be two chains, but there will be one that is long, compared to the currency, depending on the longest chain.
回到上面的场景,A想赖账,就只能从记录了A->B10个比特币这个消息的区块的前一个区块开始重新挖矿,造出一个支链来,但是实际上的区块已经前进了很多,他只能不停的追赶,而且在追赶的同时,主链也在前进,他必须以比主链快的速度前进,如果他的算力足够大,理论上通过较长的时间确实可以追赶成功,就实现了对交易信息的篡改。然而其实这几乎是不可能的,因为就算算力再大,平均出块速度也是10分钟,从非技术的角度讲,一个人如果掌握了全网一半以上的算力,他为什么不在主链上继续挖矿呢?一个富可敌国的人应该不会甘愿去做一个小偷吧。
Returning to the scene above, the A-> can only begin to dig again from the first block of the B10 bitcoin, which is a piece of information, to create a chain, but in fact the block is moving a lot, he has to catch up, and while catching up, he has to move faster than the main chain, and if his calculations are strong enough to be successful in theory over a longer period of time, then he has to tamper with the transactional information. But that is almost impossible, because, even if the calculation is strong, the average output is 10 minutes, and from a non-technical point of view, if a person has more than half of the value of the net, why does he not continue digging on the chain?
区块链并不等同于比特币,比特币也不是区块链,区块链只是比特币应用的一种技术,这个技术能给我们带来启发,比特币的伟大之处在于应用了前所未有的区块链技术。区块链技术还能在哪些方面应用还需继续探索。
The block chain is not the same as bitcoin, and bitcoin is not the block chain. The block chain is just a technology for bitcoin, a technology that inspires us. Bitcoin’s greatness is the application of block chain technology that has never been seen before.
比特币是区块链技术最成功的应用,但是比特币本身也有很多问题,它想通过发行货币来挑战主权货币,这个动机有待商榷。此外,由于比特币的匿名性,只需要一个公钥或地址就能进行交易,为黑色产业提供了很好的平台。另外,比特币并不是一个成熟的支付系统,它具有吞吐率低,可拓展性差等缺点。
Bitcoin is the most successful application of block chain technology, but Bitcoin itself has many problems, and the motivation to challenge sovereign currencies by issuing money is questionable. Moreover, because of its anonymity, Bitcoin only needs a public key or address to be traded, providing a good platform for the black industry.
以上就是比特币原理是什么?比特币原理详解的详细内容,更多关于比特币原理知识分享的资料请关注脚本之家其它相关文章!
And that's what the bitcoin principle is? The bitcoin theory is detailed in detail, and more information about bitcoin knowledge sharing can be found in other relevant script house articles!
注册有任何问题请添加 微信:MVIP619 拉你进入群
打开微信扫一扫
添加客服
进入交流群
发表评论