主页 > imtoken多签钱包 > 比特币原理介绍

比特币原理介绍

imtoken多签钱包 2023-02-20 07:42:56

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

一、什么是比特币

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

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

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

两种虚拟货币

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

1比特币钱包1)钱包

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

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

比特币原理详解

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

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),会在全网广播该有效区块,拥有完整区块链数据备份的服务器会收到区块信息,并在验证通过后将有效区块添加到区块链末尾。注意这个区块仍然不是全网共识的区块。在比特币系统中,有机会添加一个每隔10分钟左右就会有一个新的区块到区块链上,当后续增加6个新区块时,这个区块就成为共识区块,这里的6个区块其实是根据计算量,

四笔交易

比特币原理详解

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

1 交易基础

区块链中每个区块记录的主要内容是交易信息。有关详细信息,请参阅“区块链 - 块结构”。

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

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

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

2 笔交易

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

- 付款人地址

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

比特币原理详解

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

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

-收款人地址

- 收件人的公钥

- 时间戳

网络节点收到交易信息后,会进行以下检查:

- 交易是否已经处理

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

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

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

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