主页 > 多语言仿imtoken钱包系统 > 书摘|比特币与区块链

书摘|比特币与区块链

多语言仿imtoken钱包系统 2023-04-30 07:08:36

比特币私钥公钥签名_比特币私钥生成导出_碰撞比特币私钥

第34章

比特币和区块链

(比特币实现)完全纯点对点版本的电子货币支付系统,无需通过金融机构即可实现从一方到另一方的支付。

- 中本聪,“比特币:一种点对点电子现金系统”

34.1 公认的会计制度

想象这样一个场景:你正在排队等候,焦急地等待着银行里的钱从银行取款。 在繁荣时期,人们通常认为把钱存在银行就没什么好担心的了。 但在漫长的历史长河中,银行并不总是可靠的。 就在2015年6月,希腊爆发债务危机,发生银行挤兑。 两天之内,撤回了 12 亿欧元。 很快,大量银行无法取款,一度让希腊陷入混乱。

第33章讨论了“如果簿记可以实现价值交换,那我为什么还需要现金?”的问题。 也就是说,如果记账能够实现价值交换的能力,那大家是不是都需要愁眉苦脸地在银行门口排队,只要手里有别人认可的记账记录就可以了。

比特币私钥生成导出_比特币私钥公钥签名_碰撞比特币私钥

在赌场玩过老虎机的人应该都知道,将钱投入老虎机开始赌博后,可以随时停止游戏,老虎机会立即打印出当前余额的收据。 样式类似于电影票或音乐会门票。 这张票可以随时兑换成现金,也可以像现金一样将票据投入任何老虎机,等同于现金。 因为这张票据是赌场背书的,跟赌场里的现金没什么区别。

是银行每天保存人们的簿记记录。 银行作为中介,保存着个人与银行之间的所有货币兑换记录。 银行支票和汇票有点类似于赌场现金券。 为什么经济出了问题大家都去银行取钱,挤兑就一定会发生? 一是因为银行靠经营信贷为生。 一旦发生金融风险或特殊事件,银行借出的钱大部分不能立即收回,但所有存入银行的人都要求银行立即兑现自己的“存款记录”。 二是风险来了,人人自危。 大家都认为银行可能会破产,无法支付他们的存款,或者至少需要很长时间才能拿到,所以他们要求先拿到自己的那份。

这时候,人们就无法相信银行能够保护他们的利益。 核心是在危机时刻,大家都认为风险真的很大,而且银行的“账本”对个人不透明,银行的账目错综复杂,银行本身就是操作信用风险的人,当风险被放大夸大了,大家都觉得银行不靠谱。 因此,人们需要一个可靠、统一、透明的会计系统。

34.2 新的“我欠你”令牌

回到货币的描述上,货币最初可能不是兑换的等价物,更可能是“我欠你”交易方式的代币。 那么,如果我们回到价值交换的记账方式,如何创造出可以在全球范围内交换的代币呢? 中本聪(比特币整体架构的神秘创始人)设计了一套无法以人的意志转移的超级账本。 该分类账记录了自成立以来的每笔账单。 代币是这个货币体系中每个人的交易记录。 要使用它,您需要使用您的设备终端(如手机)复制账本数据。 每个人的令牌都是完全相同的一组数据。

无论是花钱还是收钱,都需要对比之前的交易记录,产生新的记录。 这样,另一个问题就产生了,每个人都能看到的账本,如何防止别人看到自己的账本后偷走我的钱呢? 如何让它对所有人可见,但只有所有者可以访问? 解决方案就是第四篇提到的公钥加密技术。

碰撞比特币私钥_比特币私钥生成导出_比特币私钥公钥签名

简单地说,比特币是一套公共互联网协议和记录,只能通过私钥使用账本中的账户资金。 在比特币协议中,有“钱包”的概念。 “钱包”是一串26-34位数字。 这串数字就是比特币的“钱包地址”,也就是“公钥”。 比如这样一串1L42J8t7Fz9QYchws1bQso3NvKdz6v7XeX的数字。 公共账本中的数字是完全公开的,所以每个“钱包”里有多少钱,任何一台电脑或手机都可以查询。

如何保证这么多人看“钱包”里的钱,只有真正的户主才能用? 能够使用“钱包”里的钱,核心在于“私钥”。 私钥是一个证明“我是我”的字符串。 公钥是私钥通过保密算法计算出来的,但是公钥是公开的,私钥绝对不能公开。 私钥的字符串可以通过加密算法证明,对应“账本包”中对应的“钱包”地址。 第四篇介绍过,公钥是从私钥推导出来的,所以如果知道公钥,私钥是可以破解的,但是破解时间太长了,破解时间够长也没意义。 账本中“钱包地址”中的钱只有在交易由私钥签名的情况下才能使用。

如果记忆力足够好,甚至可以在没有外力的情况下实现货币交易。 比如私钥对应的32位字符可以自己设置。 您甚至可以将其设置为 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 或类似“我是超人、蝙蝠侠和钢铁侠”之类的内容。 但它与1L42J8t7Fz9QYchws1bQso3NvKdz6v7XeX之类的字符串不同的是,它们的“信息熵”比较小,非常容易被破解,非常不安全。 在比特币的历史上,有很多黑客都是通过这种方式盗取设置钱包地址的人。 字符串的排序越混乱、越不规则,信息熵就越大。 所以一般用计算机随机生成一个字符串。 为了安全起见,请记住更复杂的数字。 当然还有更好的办法,用笔写在纸上保存,或者存到U盘里。 第四篇文章也提出了一个思路,用你的生物识别结果作为32位数字,比如指纹、虹膜、心跳。 这些数据的随机性会比不上完全随机的数据,但好处是它属于你。 不需要死记硬背。

如何保存这个账本? 答案是利用广播和P2P(Peer to Peer,点对点)。 各交易方对外广播,接收广播的节点(Peer)进行计算和打包。 比特币消费就像发微博一样,只不过句子是“从A地址转xx币到@B地址”。 系统在过去的账簿中验证您“钱包”中的金额。 一旦“钱包”是真实的,并且“币”的数量大于你转出的币值,交易就有效并记录在新的账本中。

话虽如此,你可以在脑海中构建这个账本的样子。 一系列转账的数据就像一条长长的链条,一个个铁环扣着另一个铁环。 现在的戒指之所以是这个样子,是因为之前的铁戒指的出现。 这种技术称为区块链。 区块是指每10分钟将这些10分钟的交易打包成一个区块。 “链”是指块一个接一个地连接起来。 后一个区块记录了前一个区块的最终交易结果。 这套账本相当于从第一笔到最后一笔的所有交易,可以理解为保存了所有的“转账微博”。 这个账本有多大? 从 2009 年 1 月成立到本书写作,这个账本有近 100GB,相当于约 20 部高清电影,或约 1500 首高品质音乐。 就目前的电脑性能而言,问题不大。

英文全称为Encrypted Currencies,即加密货币。 这种货币不是物品,而是更好地理解为账本。 因此,比特币并不是传统印象中孤立的“硬币”,更像是一种基于电子数据的支票簿。 这本账本,就像是村里500年的账本。 村里每个人的每一笔收入和支出都记录在里面。 一代。 比特币系统相当于整个村子的账本,家家户户都有这个账本,任何一笔交易都必须同时记录在每个家庭的账本上。 村里每个人的户口本上都有一个唯一的户名。 只需提供户名,全村即可实现财产的交易和存储。

比特币私钥公钥签名_碰撞比特币私钥_比特币私钥生成导出

34.3 每个人都是“银行”

在创造之初,比特币就像一座未开采的金矿,由计算机(“矿机”)通过程序计算(“挖矿”)将其挖出。 比特币每 10 分钟打包一个区块,该区块包含这段时间内收到的所有交易信息。 这个区块的头部会产生新的比特币,这是对打包这个区块的计算机用户(“矿工”)的奖励。 奖励每4年减半。 比如2009年50个​​比特币,2012年7月25个,2016年7月12.5个,等等。 按照目前的进度,推测该币将在2040年前后全面发行,总量为2100万枚。 最小单位是比特币的十亿分之一,称为1聪,即比特币系统最多可以交易2100万亿单位的“钱”。

比特币协议集成了货币生成(“挖矿”)和记账(区块打包)。 “挖矿”除了产生新的流通比特币外,还要确认交易、记账、在账本上加块(即打包交易形成“矿场”)。 最后通过工作量Proof-of-Work,即谁计算得最快,谁就被认可,从而使比特币账本无法被随意篡改。 比特币协议允许系统只识别最长的链,然后借助 P2P 技术,将这条链发布到附近的服务器上。 大约60分钟后,全网大部分机器都会记录这个数据。 由于系统本身认可的数据是由最强的计算机计算得出的,如果要篡改数据碰撞比特币私钥,必须有超过51%的计算机认可被篡改的数据,这几乎是不可能的。

比特币协议创建了一套每个人都同意的公共会计方法。 货币的交易和流通不依赖于中央银行机构,而是成为一个人人参与的自动化系统。电子货币系统本身不需要转账手续费等,但可以为“矿工”提供一定的奖励",即帮助记账的计算机。 就像银行服务一样,没有绝对免费的服务。 即使比特币交易支付了一部分费用,该费用也远低于目前的银行系统。 本书的第一部分描述了支票和信用卡等银行服务。 这些服务在当时带来了极大的便利,但成本也不低。 比如VISA的全球结算费率在3%左右,在中国刷信用卡也有0.4%到1.4%的手续费。 跨境支票服务费一般不低于0.1%,兑换费不低于40元。 包括电报费和其他费用,以及1至2个月的换汇期,一张小面值的支票,总费用可能超过1.5%。 对于摆脱实体银行和服务人员的比特币系统,“通行费”大大降低。 肯·廷德尔(Ken Tindell)当时曾转让价值8000万美元的比特币,成本仅为4美分比特币。 而且,这种转换是跨国、跨地区的,对现有的VISA、SWIFT等转账支付系统提出了挑战,未来有可能取而代之。

34.4 记账完全靠“算力”

在数字信用时代,资金的转移和流转成为一种在一套规则下不可抗拒的数据交换和记录活动; 资金的融资本质上变成了一种“算力”,即计算机的计算能力。 比特币系统通过计算票据的哈希结果来完成记账,算力的大小决定了系统哈希计算的难度。 截至2016年10月,比特币的算力约为2000P,相当于每秒计算200亿次哈希碰撞。 相比之下,中国超级计算机天河二号的计算能力约为33P。 与此同时,整个比特币网络的算力还在呈指数级增长。

比特币私钥公钥签名_比特币私钥生成导出_碰撞比特币私钥

对于用户而言,服务机构“银行”本质上是为用户提供金融服务的机构。 作为存款人和贷款客户的会计机构,它通过记账和会计统计,不断地寻找两种资金之间的差距,在为自己赚取收入的同时为他人的资金融资。 比特币系统将这种记账行为变成了一种网络自动化服务。 “银行”可能从一个机构转变为人与人之间的信息流动。 比起那些在网络端不断算计的“矿工”,显然银行的“过路费”更高,而且还有被挤兑的人。 风险。

现在的比特币系统相当于在自己支付的同时帮助别人转移和容纳一些货币。 就像使用互联网P2P协议下载电影一样,在下载文件的同时,上传文件。 每个人都参与交易,同时也记录交易,证明交易。 Bank(银行)原指在意大利街头坐在长椅上进行货币兑换和储存的人。 后来,由于其业务规模和范围,它成为了一家现代化的银行。 如今,这项工作被电脑所取代,每个人的口袋里都可以揣着这样一个“银行机器人”。 他们可以秒级进行交易结算、存储和存储,既为他人,也为自己。

这将使银行业务自动化并让每个人都参与进来。 想象一下,如果比特币成为一个货币结账系统,网络上所有的“矿机”都将等同于“银行”。 这些矿机是按照既定规则服务的记账服务器。 普通电脑也可以成为这样的“矿机”。 如果你想让你的“节点”更强大,你可以直接购买商用“矿机”。 买矿机和去商场买洗衣机没什么区别。 遍布全球的节点有可能以极低的价格真正实现货币“连接世界”。 这些“矿机”天生就是为了记账,处理互联网上的记账数据是他们义不容辞的职责。

在这个系统中,银行不会消失,而是会成为算力不可或缺的一部分。 然而,传输和记录的计算能力已经不再是一种先进的生产力。 只有进行更高级的分工,银行业才能焕发出新的价值。

34.5 区块链实现数字合约

除了银行业,法律是另一个非常技术性的分工。 人们订立契约是为了限制人为不确定性带来的变数。 比特币核心技术中的区块链技术将改变合约制度,有望实现“合约不变”。

比特币私钥公钥签名_比特币私钥生成导出_碰撞比特币私钥

在古代契约制度下,契约具有时间、权责、权益归属三个重要要素。

当人类还缺乏一个精确的时间概念时,先民们开始用各种天文历来记录时间,以期分段记录混乱的时间。 因此,出现了中国的黄道十二宫历、玛雅历、天主教统辖下的公历(公元历)。 日历是人类前互联网时代的“时间戳”技术,它让流动的时间具有前后和长度的属性碰撞比特币私钥,这与比特币的包装时间相同。 时间还有助于对繁琐的法律文书工作和历史记录进行编号和存档。 在时效条件下,权利和责任是指合同双方各自的权利和义务; 权益归属是指取得权、收付权、利益分割权等。

在智能合约中,一个租赁合约可以在系统中表述如下:时间[2016年10月1日至2016年10月30日],权利[支付租金的人可以租用这个房间],责任[承租人不得免费]损坏租赁物品,或按价赔偿],权益归属[租赁人用个人私钥支付到主人公钥钱包1L42J8t7Fz9QYchws1bQso3NvKdz6v7XeX],合约程序[支付完成,合同生效,门牌号为***的门锁可由承租人私钥开启]。

合同生效后,房屋的智能门锁可由承租人开启。 如果房主在智能合约中设置了一个房间不能多次出租,则承租人不能以该门牌号在系统中签订第二份合同; 作为租户,如果他不选择在10月30日之前续租,他的私钥将无法再打开门锁; 如果房屋内的物品在到期时被摄像头“智能”发现损坏,租客的信用就会被降级,租客同意按照价格进行赔偿,从他的公钥钱包中支付后,信用就会再次恢复。

区块链的智能合约技术将实现无人化的智能化,实现一个一旦定型就不再需要人力更改的系统。 合约一旦签订,将作为数据打包到区块链中。 它记录在每一台联网的计算机中,成为不可更改的原始合同。 作为合约背书征收的印花税将不再有效,这笔费用可能成为对打包合约数据的“矿工”的奖励。 印花税是荷兰政府在17世纪通过信用背书合同征收的一种税种。 几百年过去了,就算合同上盖上了印花税票,也无法阻止“老赖”故意不履行合同。

传统合同依赖于后见之明。 例如在租房子上,如果租客故意拖欠租金不肯离开,户主很难立即将他赶出家门。 他只能依靠警局和法院的力量,这需要极高的时间和资金成本。 智能合约可以通过使门锁失效、家庭停电、家用电器失效等方式实现合约的自动执行。

智能合约的真正本质是借助区块链不可篡改和集体共识的特性,预先编写的代码可以直接调用区块链上的数据,执行所有可以计算的逻辑,无需人工干预。 函数并输出和执行结果。 智能合约实现了合约签署双方之间规则的智能化,实现了各种复杂的逻辑功能,通过链接货币或其他区块链避免了合约双方之间的违约。

比特币私钥公钥签名_碰撞比特币私钥_比特币私钥生成导出

碰撞比特币私钥_比特币私钥生成导出_比特币私钥公钥签名