主页 > imtoken官方 > 【学习笔记】数字货币原理一、防伪币就是防伪币比特币的解决方案

【学习笔记】数字货币原理一、防伪币就是防伪币比特币的解决方案

imtoken官方 2023-01-17 10:36:28

数字货币原理

一、防止货币伪造

为了杜绝造假,比特币的解决方案是保留所有货币的所有流通信息(全网总账),从而保证每一种货币的来源都可以追溯到它被创造的那一刻;每进行一笔交易,流通信息都会记录在全网的总账上,并在点对点网络上广播,从而使所有节点(所有参与维护流通通道的计算机)保持所有的流通信息。所有货币的流通信息。这样,任何节点都可以轻松找到那些在交易前凭空出现的假币,从而防止假币的流通。

二、防止重复付款

为了防止同一种货币被同一个人重复消费,中本聪采用了工作量证明的方法。如前所述,每笔交易都会广播到网络上,多次重新消费意味着多次广播同一个比特币的交易。其他网络节点会将他们收到的一笔交易放入区块 A(一个区块包含多个最近的交易订单)进行验证。验证方法是执行耗时的计算。如果计算成功,则向全网广播。如果另一个节点在区块 A 的基础上完成了对下一个区块 B 的验证,那么它将在区块 A 之后将区块 B 挂起,以此类推,形成一个区块链。同一个比特币的多笔交易会形成多条区块链,最终的结果是哪条链最长,哪条交易被确认为有效,其他交易被丢弃。这确保了一个比特币只能由一个人支付一次。

三、无需第三方监督

比特币难度系数

通过工作量证明的方式,比特币也基本杜绝了非法篡改历史交易记录的可能性,因为一旦历史记录被篡改,就意味着在某一个交易记录中出现了一个新的分支。比特币,篡改者需要自己验证新分支;同时,所有其他网络节点仍在旧分支上进行验证,并继续构建验证链。除非篡改者的计算能力超过所有其他网络节点的总和,否则他的分支增长速度将永远赶不上旧分支,结果是他的篡改必然失效。

保存所有节点上的所有交易记录,通过耗时计算验证交易。两者结合构成了一个安全可靠的去中心化支付系统。其本质是将中心化监管的工作量交给一个人人参与的庞大网络,网络中的所有节点都承担着监管的责任。伪造货币或欺骗其他用户是对整个网络的破坏,因此无法成功。

四、比特币发行

比特币的发行源于货币流通渠道本身。由于每个比特币的每一笔交易都需要经过验证,为了鼓励节点致力于验证以维持系统的正常运行,中本聪提出了相应的激励机制:“对于每个区块的第一笔交易,Specialized,交易产生由区块的创建者(即第一个成功验证交易的人)拥有的新数字货币。这增加了节点支持网络的激励,并增加了节点支持网络的激励,而无需中心化权限发行货币,它提供了一种将数字货币分配到流通中的方式。” “如果一笔交易的输出值小于输入值,则差额就是交易费用,它被添加到 Block 激励中。”也就是说,第一批比特币可视为“创世”比特币,在“创世”后流通,后续比特币通过验证生成“创世”比特币参与的交易,然后加入流通渠道,产生滚雪球效应,使得比特币越来越多。

但比特币不可能永远增长。由于算法本身的设计,每 4 年产生的比特币价值将减半,因此比特币的数量最终将接近 2100 万。因为维护比特币系统的人可以通过复杂的计算获得比特币奖励,过程类似于矿工挖矿,所以维护者被称为“矿工”,他们的维护行为被称为“挖矿”。值得注意的是,“矿工”自带设备(通常是定制的电脑,也称矿机)自发参与维护,所以人数多且时刻变化,还有固定的“第三方主管” "不会形成。在特定的时间间隔内,只有一名矿工可以获得奖励,挖矿竞争非常激烈,从而保证了系统的安全稳定。

五、挖矿

比特币难度系数

比特币的本质是相互验证的公共记账系统,挖矿的本质是争夺记账权。

从工作内容来看,“挖矿”是对过去一段时间内发生的、未被网络识别的交易信息进行收集、检查、确认,最后打包加密成一笔交易记录不可篡改的信息块,从而成为在这个比特币网络上识别为已完成的交易记录,并永久保存。在比特币的世界里,大约每 10 分钟就有一个数据块被记录到公共账本上,这个数据块包含了这 10 分钟内全网经过验证的交易。因为所有的矿机都在尝试打包提交这个数据块,所以需要竞争谁提交了这个数据块作为最终的结果。最终成功生成“交易记录块”(块)的人将获得伴随这些交易的交易费用,以及额外的付款。交易手续费一般是转出方自愿提供给矿工的,不是系统新增的币种;额外的奖励是新生成的比特币——前面提到的“比特币发行”。

比特币的有限性质是由“额外报酬”的数额决定的。根据比特币系统的设计,大约每 10 分钟可以产生一个“交易记录块”,初始产生的每个“交易记录块”可以获得 50 个比特币的额外奖励,这意味着比特币网络可以每天增加 7,200 个。比特币,但是​​这个奖励每4年减半,所以最终整个系统最多只能有2100万比特币。

六、区块链

矿工为了争夺记账权而进行的计算,实际上是根据哈希值对随机数进行逆向计算。比赛是看谁能在 10 分钟内找到一个随机数。这个随机数,前一个数据块的哈希和10分钟内验证的新交易记录,可以得到满足某个条件的最小哈希。值越小,对应比特币网络的难度系数越高。由于哈希的结果是相当随机的,结果的大小无法预测,所以比较计算能力的唯一方法是使用穷举法。如果矿工在 10 分钟内没有抢到记账权,就只能等待下一轮比赛了。

之所以在解随机数的时候加上一个block hash,是因为所有的数据块都形成了一个可以从前到后不断验证的数据链。中间修改任意数据块的任意交易记录,会导致后续所有数据块的hash校验失败,如果尝试修改记录并找到合理的值计算出合格的hash并重新打包,这意味着之后,所有的数据块都需要重新计算哈希,而且即使找到了,也必须比整个比特币网络计算得更快,才能让网络接受你的结果,这意味着攻击者拥有更多比整个比特币网络。部分算力,即全网50%以上的算力用于保证攻击有效。

比特币难度系数

这条数据链就是狭义的区块链,也就是比特币区块链,也称为全网总账,永久存储在每个用户的电脑上。只有拥有全网50%以上的算力,才能篡改全网总账。比特币系统通过“区块链”和“挖矿”的机制实现了货币不可伪造、交易不可篡改、双重支付无法成功。目标。广义的区块链是一个集成的技术架构,它集成了支持数字货币的各种技术特性,我们也将在第 2 部分重点介绍。

七、计算难度和确认次数

矿工找到有效的哈希值后,会快速转发生成的数据块。其他矿工收到并批准该数据块后,将作为下一轮计算的依据。如果在此期间收到一个哈希值较小的块,则优先考虑数据链的长度,然后优先考虑较小的哈希值,丢弃之前的结果,继续下一轮计算一个新的基础。为了自动协调比特币的发行速度,系统根据上一代几个数据块的平均速度自动调整挖矿难度。如果上一个数据块的生成时间小于10分钟,难度会增加,大于10分钟,难度会自动降低。难度增加很简单,就是降低哈希值的下限。由于哈希算法的特性,这会导致计算量呈指数级增长,从而增加矿工的计算时间。

对于特定的比特币交易(主要是指转账,即将比特币从一个地址转移到另一个地址),一般情况下,该笔交易的交易顺序会被打包到当前数据块中。当矿工计算出满足当前数据块要求的哈希值并广播时,该交易首次被确认。 10分钟后,其他矿工将新数据块附加到当前数据块上,区块链被扩展,每扩展一个块就意味着收到的确认增加1。当一笔交易已经被确认6次时比特币难度系数,可以认为该交易已获得全网认可,合法、有效、不可撤销。

八、客户端钱包软件

在比特币系统中,用户的账户(地址)由本地客户端自动生成,为1Gz9XmfTK4aH89MVXky1QxtyMcG44NqDRv类的字符串。用户告诉别人这个地址后比特币难度系数,对方就可以向这个地址转账了。

比特币难度系数

比特币地址实际上是一组非对称密钥对中的公钥。这对密钥是由椭圆曲线算法生成的。它的独特之处在于,一条信息用公钥加密后,就不能再用公钥解密了。 ,必须使用私钥解锁;同样,一条信息用私钥加密后,不能用私钥解锁,只能用公钥解锁。更独特的是,公钥可以很容易地从私钥中计算出来,而私钥却很难从公钥中计算出来。因此,用户可以告诉其他人他们的地址(公钥)并与他们进行加密通信。例如,用户 A 告诉 B 他的公钥,然后用他自己的私钥加密信息。用户 B 使用 A 的公钥对加密信息进行解密,并且可以确认该信息是由 A 发送的(因为只有 A 的公钥用于加密信息) 用户 B 使用 A 的公钥对信息进行加密,用户 A 使用他的私钥对加密信息进行解密,并且可以确认信息是发送给他的(因为只有他自己的私钥才能解包)。但是用户不能将私钥告诉别人,因为私钥唯一决定了地址(公钥)的所有权,不能从公钥中计算出来。一旦你告诉了别人你的私钥,就相当于将地址中存储的比特币交给了对方。找到与该地址相关的比特币信息并花费这些比特币。

用户账户的地址和私钥存储在比特币钱包文件中。一般情况下,私钥是不可见的,加解密操作由比特币客户端软件自动进行。因此,钱包文件必须妥善保存。一旦丢失,钱包中所有地址中存储的所有比特币都将不安全,并可能被他人窃取。由于整个比特币系统的去中心化和匿名性,一旦比特币被盗,没有人有权力或能力去找回它。

用户帐号的地址和对应的私钥由客户端软件自动生成。由于可以使用的地址数量足够大,理论上有2160多个,而世界上大约只有263粒沙子,每粒沙子可以分配297个地址,这仍然是一个巨大的天文数字。因此,不同用户账户地址重叠的可能性基本不存在。因为账户地址输入错误,这个地址恰好是别人的账户地址的概率远小于飞入你眼中的一粒沙子恰好是你去年在沙滩上踩到的那颗的概率。

九、比特币转账

由于比特币没有现金交易的概念,所有的交易都依赖于账户之间的数字转账,所以比特币支付的概念类似于银行转账。假设 A 有 100 个比特币,他想把它转给 B,然后 A 写一条消息“将 100 个比特币从 A 的地址转移到 B 的地址”,然后用他钱包里的私钥加密并传播到整个比特币网络网络上的每个人都用A的地址(公钥)解密,验证这个信息确实是A发出的,通过历史交易数据,计算出A的地址确实有100个比特币,所以全网都认可了这个转账操作,并且抢到记账权的矿工把当前时间区间内的所有交易记录(当然包括从A到B的转账)打包挂在区块链上,钱包A的存款减少100比特币,钱包B的存款增加100比特币,转账确认。一次。大约一个小时后,完成了6次确认,B拿到了这100个比特币的控制权,转账完成。

非对称加密技术使得这一转移过程的顺利实现,矿工的挖矿保证了交易的合法性、有效性和不可撤销性。

比特币难度系数

十、匿名和公开

由于没有传统的银行开户和身份认证流程,比特币系统是纯匿名的,即无法将用户账户的地址与用户本人、拥有私钥的人关联起来一个地址具有唯一的所有权。虽然我们可以根据本地完整的交易记录查询每个账户的流量信息,但几乎无法知道这个账户的所有者是谁。如果他们愿意,任何人都可以拥有几乎无限的地址。同样,没有人有能力在其他人的账户上操作比特币。这是人类历史上第一次在技术上保证“货币”不可追踪、解冻和未经授权的占有。

相反,账户所有者可以轻松证明他拥有某个地址的财富。只需使用私钥加密一条信息并发布,每个人都可以确认自己对账户的所有权,而无需透露私钥。这同样适用于证明匿名付款确实是由某人发出的。当然,虽然比特币系统是匿名的,但如果有组织愿意公开自己的比特币账户,全网可以随时追踪该账户的所有流量信息。每次转账的到账时间、金额、支出都一目了然,相当于直接查询银行内部原始票据。对于NGOs(非政府组织)或非营利组织,可以大大降低账户维护成本,实现100%透明。 2013年庐山地震时,一基金会接受比特币捐款,其比特币账户在互联网上清晰可见。

十个一、不可撤销且不可挽回

如前所述,如果一笔交易被确认的次数足够多,则该交易是不可逆的,不可逆的。

这意味着如果一个人错误地将比特币发送到另一个人的合法地址,那么除非对方愿意将比特币发回,否则该人的比特币将永远无法收回。因为比特币世界没有仲裁者,用户不能被强制操作,所以错误的交易能不能挽回,只看对方的意识。

同理,如果用户的钱包文件(私钥)损坏,就意味着钱包中包含的所有地址上的所有比特币全部丢失,完全躺在交易记录的历史中,任何人都可以看到它,但你不能。因为这里没有把身份证拿回来的事情。而想要通过破解私钥找回丢失的比特币,就只能等到量子计算机出现了。按照目前的加密理论,只有量子计算机才能在较短时间内破解椭圆曲线加密算法。