主页 > 以太坊imtoken > 比特币原理介绍

比特币原理介绍

以太坊imtoken 2023-01-17 07:02:48

接触比特币并了解比特币的原理后,对于我作为一个开发者来说,对我的思维方式影响最大的就是它用一种游戏的方式来激励大家按照规则去参与这个游戏,并确保遵守规则的利益 承担最大损失或承担风险,违反规则。这是我这十年来接触过的完全不同的开发理念,但是非常有趣。本文将初步介绍比特币的原理,然后基于区块链技术进行详细介绍。

什么是比特币

比特币(BTC)是一种基于区块链技术的数字货币实现。

比特币网络是一个去中心化的网络,即分布式的点对点网络。网络中的矿工通过挖矿完成交易记录。区块链网络提供了一个公开可见的账本,任何人都可以随时查看其信息。注意账本不记录每个账户的余额,而是用来记录已经发生的交易的历史信息。

比特币是一种虚拟货币。既然是货币,那我们就不得不说比特币是怎么产生的,它的过程,它的安全性是如何保证的。简单来说,比特币是挖矿产生的,在每一笔交易中流通,主要是通过技术和游戏来保证安全。

两种虚拟货币

比特币是一种虚拟货币,那么比特币在现实社会中是如何像货币一样流通的呢?

1比特币钱包1)钱包

比特币使用非对称加密算法比特币能花吗,用户保留他们的私钥并发布他们的公钥。公钥是人对外界的唯一标识,私钥是用户打开钱包使用比特币的钥匙。

公钥对公众开放。在比特币规则中,公钥代表钱包用户在网络中的地址。比特币钱包的地址实际上是一个160位(20字节)的字符串,由用户的公钥经过一系列的hash和编码操作生成。

比特币能花吗_比特币分叉影响比特币总量_比特币怎么比特币钱包

可以简单的认为比特币钱包就是一把锁,锁的编号就是公钥,私钥就是开锁的钥匙;如果钥匙(私钥)丢失比特币能花吗,则无法打开钱包;当有人需要给你转账时,你只需要将公钥交给对方即可。收到钱后,你可以用你保存的私钥打开钱包,使用里面的钱。

2)非对称加密技术

非对称加密的典型特征:

²² 私钥签名,公钥验证(证明谁是发起人)。

²² 公钥加密,私钥解密(证明交易发给谁,其他人无法窃取)

签名和签名验证示例:A用私钥签名,然后用签名结果和A的公钥验证信息肯定是A发出的,而不是别人发的。

加解密示例:A和B互相传递东西,A有A的私钥和B的公钥; B拥有B的私钥和A的公钥;所以当A向B发送信息时,用B的公钥加密,只有B可以解密,保证了信息的安全。同理,B向A发送信息也是一样的。

在比特币转账交易中,需要通过出让方的私钥确保钱属于当前出让方,然后指定收款人的账户(即收款人的公钥);收款人收到钱后,你可以用自己的私钥解密。

2个比特币是从哪里来的

比特币钱包有两种资金来源:挖矿(系统奖励+服务费)和他人转账给你。

比特币怎么比特币钱包_比特币分叉影响比特币总量_比特币能花吗

3比特币使用1)花钱时解锁输入(私钥解密)

可以花的钱来自他人或您自己(在做出改变的情况下)为自己所做的投入。输入为你自己锁定,你必须解锁它以证明你可以拥有这个比特币。

2)花钱时锁定输出(指定收款账户)

输入输出相连,输出加锁,保证只有收款人才能解锁。如果锁定时使用的锁不正确,这笔钱要么转入陌生人的账户,要么转入黑洞并销毁。

3)输入/输出组成的交易列表不可篡改

在现实世界中,我们将交易单据交给银行,银行保证不被恶意篡改。比特币世界是去中心化的,所有的点都是平等的,他的实现是:工作量证明。详见“区块链”。

在比特币世界中,可以保证两点:现有交易不能被修改(不是根本不能修改,而是修改成本非常高);你钱包里的钱确实可以在以后花掉。

三矿

我们来说说比特币是如何产生的,它是如何流通的。

1 次挖矿

比特币能花吗_比特币怎么比特币钱包_比特币分叉影响比特币总量

在比特币网络中,每 10 分钟左右生成一个大小不超过 1MB 的块,并连接到最长链的末端。每个区块的成功提交者可以获得系统的比特币奖励,也可以获得用户附加在交易中的服务费。注意:即使网络中没有交易,矿工也可以自行生成合法区块并获得奖励。这整个过程称为挖矿。

2比特币分发

在挖矿过程中,系统会奖励每个区块成功提交者一定数量的比特币,这些比特币是整个比特币网络中新增的比特币。最初,每个有效新区块的奖励为 50 个比特币,奖励每 4 年减半。预计2140年全部奖励完成,最终总量稳定在2100万。

3 服务费

从比特币的分配规则我们可以看出,随着时间的推移,奖励的比特币越来越少,系统将不再有一天奖励比特币,也就是没有更多的矿可以挖,为了激励矿工继续挖矿,中本聪还设立了另一种激励措施:服务费(也叫手续费)。

区块中记录的主要信息是交易记录,每笔交易记录都是收费的,让矿机拥有无限的权力去挖矿。每个区块会根据手续费的高低来安排交易。没有手续费或者手续费很低的交易往往很难写入区块,也就是最终很难写入区块链。基于此,如果你想让你的交易被写入区块链并达成全网共识,你可以多给一些服务费(是不是很像现实社会的tips)。

4个挖矿过程

简单来说,挖矿过程大致如下:矿工出块头的数据(包括:前一个块的hash,当前块的hash,出块时间,难度系数,随机数 nonce 等)用于哈希计算。如果哈希结果小于目标(target=fixed constant value/difficulty),那么该区块将被认为是有效区块,这样的区块可以同步到区块链;如果哈希结果不小于目标,则需要更新。计算。区块生成后,需要将区块添加到区块链的尾部。

区块链是去中心化的。向区块链添加新区块的过程是一个集体协商的过程。简而言之,流程如下:矿工成功生成有效区块(如 Block1) 之后,有效区块会在全网广播,拥有完整区块链数据备份的服务器会收到区块信息,验证通过后,有效区块会被添加到区块链的末尾,注意这个A区块不是全网的共识区块,在比特币系统中,有机会添加一个每隔10分钟左右就会有一个新的区块到区块链上,当后续增加6个新区块时,这个区块就变成了一个共识区块,这里的6个区块实际上是按计算量计算的,锻造6个区块的成本非常高。

四笔交易

比特币能花吗_比特币怎么比特币钱包_比特币分叉影响比特币总量

比特币交易的过程就是比特币在网络中的流通过程。

1 交易基础

区块链中每个区块记录的主要内容是交易信息。详见“区块链-区块结构”。

合法交易是将现有交易的一些 UTXO 引用为交易输入并生成新输出的过程。

UTXO(未使用的交易输出)是指未使用的交易输出。只有 UTXO 可以作为新交易的输入,这很容易理解,即只有我收到的和没有花掉的钱可以使用;如果在之前的交易中已经用过,就不能再使用了(除非是假币)。与之对应的是STO,STO(Spent Transaction Outputs)指的是使用过的交易输出。

在交易过程中,转让方需要使用签名脚本证明自己是UTXO的合法用户并指定收款人。每笔交易的总投入应大于总产出,差值作为每笔交易的交易费,即服务费。

2 次交易

交易是比特币的核心概念。一个完整的交易可能包括以下内容:

- 付款人地址

-付款人对交易的签名确认:确保交易内容未被篡改。

比特币分叉影响比特币总量_比特币能花吗_比特币怎么比特币钱包

- 付款人资金交易ID的来源:该交易的输出用作该交易的输入。

-交易金额:多少钱,差额输入为服务费。

-收款人地址

-收款人的公钥

-时间戳

网络节点收到交易信息后,查看:

-交易是否已处理

-交易是否合法,包括地址是否合法,发起者是否为输入地址的合法拥有者,是否为UTXO。

- 交易的输入总和是否大于输出总和。

如果检查通过,则该交易被标记为合法的未确认交易并在网络内广播。该笔交易经过打包区块、生成有效区块、全网广播、挖矿达成共识等阶段,成为全网共识交易,之后交易不可修改。

因为交易的过程其实就是在区块链上生成新区块的过程,所以这里的描述比较简单,可以参考“区块链”。