主页 > imtoken1.0钱包下载 > 比特币——一种点对点电子现金系统

比特币——一种点对点电子现金系统

imtoken1.0钱包下载 2023-05-30 05:13:05

1.比特币介绍

2008 年全球金融危机爆发。2008 年 11 月 1 日,一位自称中本聪的人在 P2P 基金会网站上发表了比特币白皮书《比特币:一种点对点的电子现金系统》。 ,表示他对电子货币的新愿景——比特币诞生了。 2009 年 1 月 3 日,比特币创世区块诞生。

我们今天使用的现金系统都是由银行进行货币发行和交易记录的,而比特币没有中心化的发行者,而是通过网络节点的计算产生的。任何人都可以参与比特币的创造,它可以在全世界流通,可以在任何一台连接到互联网的计算机上进行买卖。无论身在何处,任何人都可以开采、购买、出售或接收比特币,而外人在交易过程中无法识别用户身份信息。 2009年1月5日,不受央行和任何金融机构控制的比特币诞生。比特币是一种数字货币,由计算机生成的一串复杂代码组成。新比特币是通过预设程序制作的。总上限2100万。

如果有A、B、C、D四个人在比特币交易平台上交易,A支付B 10个比特币,那么他会将交易记录广播给其他三个人,另外三个人记录这个消息在他们自己的分类帐上。然后 B 支付 C 8 个比特币,B 也将这条消息广播给其他三个人,D 的交易记录也是一样的。这些交易记录会被记录在一个区块——一个区块中,每个区块会存储大约4000条交易记录。这个区块打包后,这个区块就和前一个区块相连,这条链就叫做区块链。打包这个区块称为挖矿。但是这个系统需要解决以下问题:

比特币现金

1)以交易记录的账本为准。比如由于网络延迟问题,C会先收到B支付给C的交易信息,然后再收到A支付给B的交易信息,而D正好相反,所以需要一个账本作为基准。

2)为什么要记账。我们每个人的硬盘资源都是有限的,为什么还要花费资源去记录别人的交易记录呢?

3)如何防伪。比如A发布了“A支付了B 10个比特币”的记录,但实际上并没有支付B 10个比特币,那么这个记录就是伪造的。

比特币现金

2.为什么要记账

记账会有奖励。一是手续费奖励:每个用户都可以记账,那么这个记录的发起者要支付一部分手续费作为记账奖励;另一个是打包奖励:打包成功,系统会给予奖励。硬币奖励。中本聪在设计比特币系统时制定了一个规则:每十分钟制作一个包裹,前四年,包裹成功打包后,他将获得 50 个比特币的奖励。四年后,奖励变为 25,然后四年变为 12.5。所以比特币的总数是2100万。有了这两种奖励,人们将这些交易记录打包,然后全部打包,应该以哪一种为准?

3.分类帐标准 - 工作证明

比特币现金

挖矿就是做数学题来解决一个特定的数字。谁找到这个号码就可以打包,即获得挖矿奖励。没有人能用大脑解决这个数学问题,他们只能依靠计算机。

散列函数也称为数字摘要或散列函数。意思是字符串经过运算后可以转换成摘要的形式。该算法计算容易,逆向困难。哈希算法中有一个算法叫SHA256算法,它是美国国家安全局发明的一种算法:如果你在这个算法中输入一个字符串,它会输出一个256位的二进制数。挖矿就是利用这个算法进行两次SHA256运算,即SHA256(SHA256(string))。

挖矿的输入值应该由什么组成?前一个区块的头部+票据信息+时间戳+个人签名等+随机数,放入算法中,输出结果是一个256位的二进制数,前n为0。假设n为30,满足这个条件所需要的随机数就是这个块的解。获得随机数后,将输出的哈希值(256位二进制数)打包并连接到链上,作为新区块的头部。 ,即挖矿成功,获得奖励。因为每个人记录的交易信息不同,时间戳、签名等不同,计算随机数的难度也不同,但基本上算力更强的电脑更容易挖矿。 n的位数越多,计算越困难。为了满足设计初期每十分钟打包一次的速度,需要根据全球矿机的算力调整n。例如,全球有 10,000 台矿机。每台计算机每秒可以执行 14T(1.4*10^13) 次哈希运算,十分钟内可以执行 8*10^19 次运算。大约是 2^66 次运算,这意味着概率前 66 位为 0 接近于 1,此时设置前 66 位为 0 的规则,第一个计算前 66 位的人为 0。他所写的法案的标准。

比特币现金

4.如何防止虚假交易记录

我们必须确保每笔交易记录均由比特币持有者发布,而非他人伪造。这要求每个用户都有一个电子签名。当用户注册时,系统会为用户生成一个随机数,通过该随机数生成一个称为私钥的字符串,私钥可以生成公钥和地址。私钥由用户保管,公钥和地址对其他人可见,私钥用于加密字符串,公钥可用于解密加密后的密文。例如,A发送一条消息“A支付B 10比特币”交易记录,然后他将消息散列得到摘要,然后用私钥加密摘要,然后加密公钥,交易记录“A 支付 B 10 比特币”的加密密文一起广播。收到消息的人将验证消息的真实性。他们会对交易记录进行hash得到摘要1,并解密密文和公钥得到摘要2。如果摘要1和摘要2相同,则说明是这样。 A确实发送了一条信息,这个过程称为电子签名。

我们如何确保不会出现余额不足和双花问题?比如A发送了一条“A支付B 10比特币”的交易记录,但是A没有那么多比特币,或者A只有10比特币,但是​​同时支付了B和C 10比特币。这就需要进行余额检查:如果A在当前所有交易记录中的计算余额大于10比特币,那么A出具的“A支付B 10比特币”的交易记录就会被人们接受,如果不满足条件, 直到将记录打包成块,系统才会接受该消息。解决了余额不足的问题,那么如何解决双花问题呢? A只有10个比特币,但同时发出两条消息“A支付B 10比特币”和“A支付C 10比特币”。用户收到消息后比特币现金,返回验证余额。第二条消息在第一条消息之后被拒绝。但是有些用户可能会先收到第二条消息,然后拒绝第一条消息。虽然用户收到了消息,但此时交易不会被确认,直到消息被打包成块。当这个区块被确认后,其他用户会放弃自己记录的消息,然后从新生成的链中打包出来。如果该区块中记录了“A 支付 B 10 比特币”的消息,则“A 支付 C 10 比特币”的记录将被丢弃。所以,当我们收到别人的付款时,不能马上认为钱已经到了,应该等到区块形成后再确认。

第三个问题是如何防止篡改交易记录?我们不能伪造别人的电子签名,但我们可以伪造消息记录。例如,A 支付了 B 10 个比特币,但他想删除这条记录。我们应该如何预防?比特币的另一个原则——最长链原则:区块链总是以最长的分支为标准。例如比特币现金,如果两个矿工同时打包一个新区块,那么可能有两组人收到不同的新链(1和2),那么无论他们是否知道另一个分支的存在,他们将每个在自己收到的链上进行打包,直到一个人打包一个新的区块并广播该链(如第1条链),那么全网将接受较长的分支并继续打包为主链。一个人找2链然后挖矿打包,那么他需要比其他人计算得更快,才能使2链成为最长的链,这样人们才能接受这条链。除非你有超过50条全球矿机 % 的算力可以篡改交易记录。