区块链网站|NFTS 比特币现金(BCH) 文佳股份——比特币:一个点对点的电子现金系统

文佳股份——比特币:一个点对点的电子现金系统

广告位

佳文分享——比特币:一种点对点的电子现金系统

比特币:点对点电子现金系统比特币:点对点电子现金系统

作者:中本聪(中本聪)

[摘要]:本文提出了一个完全用P2P技术实现的电子现金系统。它使网上支付能够由一方直接发起,支付给另一方,中间不经过任何金融机构。虽然数字签名部分解决了这个问题,但是如果仍然需要第三方的支持来防止重复花费,那么这个系统就失去了价值。我们(我们)特此提出一个解决方案,使现金系统在点对点环境中运行,并防止重复支付的问题。网络通过随机哈希为所有事务添加时间戳,并将其合并为一个不断扩展的基于随机哈希的工作证明链,作为事务记录。除非重新完成所有的工作证明,否则不会更改已形成的交易记录。最长的链不仅会作为观察到的事件顺序的证明,还会被视为CPU计算能力最大的池。只要大部分CPU计算能力不打算合作攻击整个网络,诚实节点就会产生超过攻击者的最长链。该系统本身需要很少的基础设施。只要信息尽可能地遍布网络,节点可以随时离开和重新加入网络,最长的工作量证明链被用作节点离线期间发生的事务的证明。

1 .简介

几乎所有的网上交易都需要金融机构作为可信的第三方来处理电子支付信息。在大多数情况下,这些系统工作得很好,但是它们仍然受到“基于信任的模型”的弱点的困扰。人们无法实现完全不可逆的交易,因为金融机构必然会出面协调纠纷。金融中介的存在也会增加交易成本,并限制实际最小交易规模,也限制了日常的小额支付交易。而潜在的损失在于很多商品和服务无法退货。如果没有不可逆转的支付手段,互联网上的贸易将受到极大限制。因为退款的潜在可能性,

你需要双方的信任。此外,由于商家也必须小心对待顾客,他们会向顾客索要完全不必要的个人信息。在实际业务操作中,一定比例的欺诈客户也被认为是不可避免的,相关损失作为销售费用处理。而在使用实物现金的情况下,由于此时没有第三方信用中介,可以避免这些销售费用和支付问题的不确定性。因此,我们非常需要这样一种电子支付系统,它是基于密码学原理而非信用原理,任何达成协议的双方都可以直接进行支付,从而不需要第三方中介的参与。杜绝反向支付交易的可能,可以保护特定卖家免受欺诈;对于想要保护买家的人来说,在这种环境下设置通常的第三方保障机制是一件轻松愉快的事情。在本文中,我们(们)将提出一种点对点的分布式时间戳服务器,以时间顺序生成和记录电子交易证书,从而解决重复支付的问题。只要诚实节点控制的计算能力之和大于合作攻击者的计算能力,系统就是安全的。

2.交易(交易)

我们将一枚电子硬币定义为一串数字签名:每一个拥有者在前一次交易和下一个拥有者的公钥上签署一个随机散列的数字签名,并将这个签名附在这枚电子硬币的末尾,电子硬币被发送给下一个拥有者。收款人可以通过检查签名来验证链的所有者。

这个过程的问题是,收款人很难检查前一个所有者是否对该电子货币进行了双重支付。通常的解决办法是引入可信的第三方权威机构,或者类似于mint的机构,对每一笔交易进行检查,防止重复支付。每次交易结束,这个电子货币会被造币厂收回,造币厂会发行新的电子货币;只有造币厂直接发行的电子货币才有效,这样可以防止重复支付。但这种解决方案的问题是,整个货币体系的命运完全取决于经营造币厂的公司,因为每笔交易都要经过造币厂的确认,造币厂就像一家银行。

我们需要收款人有某种方法来确保以前的所有者没有签署以前的交易。从逻辑上讲,为了达到目的,其实我们只需要关注这个交易之前发生的交易,不需要关注这个交易之后是否会有重复支付的企图。为了确保某个交易不存在,那么唯一的办法就是知道之前的所有交易。在Mint模型中,Mint知道所有的交易,并确定交易完成的顺序。如果要把第三方中介排除在电子系统之外,那么交易信息就应该公开公布。我们需要整个系统中的所有参与者拥有唯一公认的历史事务序列。收款方需要保证交易过程中大多数节点都同意本次交易是第一次。

1 W戴(),一组不可追踪的数字幻象在没有外部帮助的情况下相互支付金钱并在其中执行合同的方案(一种电子现金机制,可以通过电子假名在组内相互支付,并迫使个人在没有外部帮助的情况下遵守规则),“B-money”,1998 2 H. Massias,X.S. Avila和J.-J. Quisque,“具有最低信任要求的安全时间戳服务的设计, (基于最小化信任设计时间戳服务器)1999年5月在比荷卢经济联盟召开的第20届信息理论研讨会。3 S. Haber,W.S. Stornetta,如何对数字文档进行时间标记,“如何对电子文件进行标记”,载于《密码学杂志》,第3卷,第2期,第99-111页,1991年。4 D. Bayer,S. Haber,W.s. stornetta,“提高数字时间标记的效率和可靠性”,载于sequences ii:通信、安全和计算机科学方法5 S. Haber,W.S. Stornetta,“位串的安全名称,(位串的安全命名),第四届ACM计算机和通信安全会议论文集,第28-35页,1997年4月。关于计算机和通信安全,第28-35页,1997年4月。

3.时间戳服务器(时间戳服务器)

这个解决方案首先提出了“时间戳服务器”。服务器通过执行随机哈希以块的形式给一组数据加时间戳,并广播随机哈希,就像在新闻或新闻组2345中发布一样。很明显,这个时间戳可以证明某个数据在某个时间一定存在,因为只有在那个时间存在,才能得到对应的随机哈希值。每个时间戳应该在其随机哈希值中包含前一个时间戳,每个后续时间戳加强前一个时间戳,从而形成一个链。

4.工作证明。

为了在点对点的基础上建立一组分散的时间戳服务器,仅仅像一家报纸或一个世界范围的新闻网络组那样工作是不够的。我们还需要一个类似于Adam Back提出的Hashcash) 6。当执行随机散列操作时,工作负载证明机制引入了对特定值的扫描。例如,在SHA-256下,随机哈希值以一个或多个零开始。然后,随着零个数的增加,寻找这个解所需的工作量会成倍增加,但测试结果只需要一次随机哈希运算。我们给块添加一个Nonce,这使得给定块的随机散列值根据需要出现尽可能多的零。我们通过反复尝试找到这个随机数,直到找到为止。这样,我们就构建了一个工作量认证机制。只要CPU消耗的工作量能够满足工作量证明机制,这个块的信息就不能改变,除非重新完成相当大的工作量。由于后续块是在这个块之后链接的,所以如果要更改这个块中的信息,需要再次完成所有后续块的所有工作量。

同时,工作量认证机制也解决了集体投票中谁占多数的问题。如果大部分决策都是基于IP地址,一个IP地址一票,那么如果有人拥有分配大量IP地址的权力,机制就会被破坏。工作量认证机制的本质是一个CPU,一票。“大多数”决策被表示为最长的链,因为最长的链包含最大的工作量。如果大部分CPU由诚实节点控制,诚实链会以最快的速度延伸,并超越其他竞争链。如果要修改一个已有的块,攻击者必须完成该块的工作量加上该块之后所有块的工作量,最终赶上并超过诚实节点的工作量。我们将在后面证明,如果一个较慢的攻击者试图赶上后面的块,其成功概率将呈指数下降。还有一个问题是硬件的运算速度在高速提升,节点参与网络的程度会有波动。为了解决这个问题,工作证明的难度将通过移动平均目标来确定,即难度将指向一个预设的每小时生成块的平均速度。如果生成块太快,难度会增加。

5.网络

运行网络的步骤如下:

1)新的交易被广播到整个网络;

2)每个节点将把接收到的交易信息合并到一个块中;

3)每个节点试图在自己的块中找到一个足够困难的工作量证明;

4)当一个节点发现一个工作负载证书时,向全网广播;

5)当且仅当此块中包含的所有事务都是有效的,并且以前没有存在过,其他节点同意此块的有效性;

6)其他节点表示接受该块,方式是在该块的末尾做一个新块来扩展链,将接受块的随机哈希值作为比新块更快的随机哈希值。

节点总是将最长的链视为正确的链,并继续工作和扩展它。如果两个节点同时广播新块的不同版本,则其他节点收到该块的时间会有所不同。在这种情况下,它们将在第一个接收到的块的基础上工作,但是它们还将保留另一个链,以防后者成为最长的链。如果在找到下一个工作负载之前平局被打破,并且其中一个链被证明是更长的链,则在另一个分支链上工作的节点将切换阵营并开始在更长的链上工作。

所谓“新政待播”,其实并不需要到达所有节点。只要交易信息能到达足够多的节点,就会很快整合成一个块。并且块的广播对丢弃的信息是容错的。比特币:一种点对点的电子现金系统。由8btc.com翻译。由Bitcoinblogger.com独家赞助。

是的。如果一个节点没有收到一个特定的块,它会发现自己丢失了一个块,所以它可以自己请求下载这个块。

6.动机

我们对此达成一致:每个区块的第一个交易是专门的,该交易生成一个新的电子货币,归该区块的创建者所有。这样,增加了节点支持网络的动机,并且提供了一种将电子货币分配到流通领域而无需中央机构发行货币的方法。这种不断向货币体系中增加一定数量的新货币的方法,很像消耗资源开采金矿,将黄金注入流通领域。这时候CPU的时间和功耗就是消耗的资源。另一个激励来源是交易费。如果一笔交易的产值小于投入值,那么差额就是交易费,交易费会加到区块的激励里。只要给定数量的电子货币进入了流通,那么激励机制就可以逐渐转变为完全依赖交易费,然后货币体系就可以免于通货膨胀。激励制度也有助于鼓励节点保持诚实。如果一个贪婪的攻击者能够调动比所有诚实节点加起来还要多的CPU计算能力,那么他就面临着一个选择:要么将其用于诚实工作以产生新的电子货币,要么将其用于二次支付攻击。然后他会发现循规蹈矩老老实实工作更有利可图。因为这些规则使他能够拥有更多的电子货币,而不是破坏这个系统来损害他自己财富的有效性。

7.回收硬盘空间

如果最新的事务已经包含在足够的块中,那么可以丢弃事务之前的数据以回收硬盘空间。同时,为了保证块的随机散列值不被破坏,在对交易信息进行随机散列时,以Merkle树7的形式构造,使得块的随机散列值中只包含根。通过铲除树枝,旧块可以被压缩。而不需要保存内部随机散列值。

R.C. Merkle,“公钥密码系统的协议”,(公钥密码系统的协议),在Proc。1980年安全和隐私研讨会,IEEE计算机学会,122-133页,1980年4月。S. Haber,W.S. Stornetta,“位串的安全名称,(位串安全命名),第四届ACM计算机和通信安全会议论文集,第28-35页,1997年4月。关于计算机和通信安全,第28-35页,1997年4月。H. Massias、X.S. Avila和J.-J. Quisquater,“具有最小信任要求的安全时间戳服务的设计,(在最小化信任的条件下设计时间戳服务器)”,1999年5月在比荷卢举行的第20届信息论研讨会。比特币:一种点对点的电子现金系统。8btc.com高级翻译。由Bitcoinblogger.com独家赞助

没有事务信息的块标题的大小只有80字节。如果我们将块生成速率设置为每10分钟一个,则每年生成的数据位为4.2 MB(80字节* 6 * 24 * 365=4.2MB)。2008年,PC系统通常的内存容量是2GB。根据摩尔定律的预测,即使所有的块头都存储在内存中,也不成问题。

8.简化支付验证

也可以在不运行完整网络节点的情况下检查支付。用户需要保存最长工作量证明链的块头的副本,并且它可以不断地向网络进行查询,直到它确信它具有最长的链,并且可以通过merkle的分支导致它被加时间戳并被包括在块中的事务。节点本来不可能自己检查事务的有效性,但是通过追溯到链中的某个位置,可以看到某个节点曾经接受过,之后添加的块进一步证明了整个网络曾经接受过。

在这种情况下,只要诚实的节点控制网络,验证机制就是可靠的。但是,当整个网络被计算能力超强的攻击者攻击时,就会变得更加脆弱。因为网络节点可以自己确认交易的有效性,只要攻击者能够保持计算能力的优势,简化的机制就会被攻击者编造的交易欺骗。那么一个可行的策略就是一发现无效区块就发出警报,收到警报的用户会立即开始下载被警告问题的区块或交易的完整信息,从而判断信息的不一致性。对于日常收付量较大的商业机构来说,可能还是希望运行自己的完整节点,以保持更大的独立性和完整性以及快速检查。

9.组合和分割价值。

尽管电子货币可以被单独处理,但是单独为每种电子货币启动交易将

这是一种笨拙的方式。为了使价值易于组合和划分,事务被设计为包括多个输入和输出。一般来说,是由一笔金额较大的前期交易组成的单一输入,或者是由几笔金额较小的前期交易组成的平行输入,但最多只有两个输出:一个是支付,一个是找零(如果有)。需要指出的是,虽然一个事务依赖于之前的几个事务,而这些事务又分别依赖于几个事务,但是并没有问题。因为这种工作机制不需要测试所有之前的交易历史。

10.隐私

传统的mint模型为交易的参与者提供了一定程度的隐私保护,因为它严格限制试图从可信任的第三方获取交易信息。但如果交易信息广播到全网,就说明这种方法无效。但是隐私仍然可以得到保护:保持公钥匿名。公众所知道的是,有人给了另一个人一定的钱,但很难将这笔交易与具体的人联系起来,也就是说,公众很难确定这些人到底是谁。这个信息类似于证券交易所发布的信息。每只股票的时间和交易量都有记录,可供查询,但不公开交易双方的身份信息。作为额外的预防措施,用户可以要求每个交易生成一个新的地址,以确保这些交易不会追溯到一个共同的所有者。然而,由于平行输入,一定程度的可追溯性是不可避免的,因为平行输入意味着这些货币都属于同一所有者。这时候的风险就是,如果一个人的公钥中有一个被确认是属于他的,那么这个人的其他很多交易都是可以追溯的。

1.计算

想象以下场景:攻击者试图以比诚实节点生成链更快的速度生成替代区块链。即使达到了这个目的,整个系统也不完全受制于攻击者的任意意志,比如凭空创造价值,或者掠夺不属于攻击者的金钱。这是因为节点不会接受无效的事务,诚实的节点永远不会接受包含无效信息的块。攻击者最多能做的就是更改自己的交易信息,试图拿回刚刚付给别人的钱。

诚实链和攻击者链之间的竞争可以用二叉树随机游走来描述。成功被定义为诚实的链条延伸出一个街区,使其领先于他人,而失败则是攻击者的链条。

被延长了一个街区,使差距-1。

攻击者成功填补给定缺口的可能性可近似视为赌徒的破产问题。假设一个赌徒无限透支信用,然后开始无限次数的赌博,试图弥补自己的亏空。然后我们就可以计算出他补洞的概率,也就是攻击者追上诚信链的概率,如下图。

假设pq,攻击成功的概率随着块数的增加呈指数下降。因为概率是攻击者的敌人,如果他不能幸运而快速地成功,那么随着时间的推移,他成功的机会会越来越渺茫。那么我们来考虑收款人要等多久才能确信付款人很难更改交易。我们假设付款人是一个支付攻击者,希望让收款人相信他已经支付了一段时间的钱,然后马上把支付的钱重新支付给自己。虽然收款人会发现这一点,但为时已晚。接收者变成一对新的密钥组合,然后只留出一小段时间把公钥发送给支付者。这样可以防止以下情况:付款人事先准备一个区块链,然后不断计算这个区块链,直到运气使他的区块链超过诚实链,然后立即执行付款。在这种情况下,一旦事务被发出,攻击者就秘密地准备一个包含事务的替代版本的并行链。然后收款人会等待交易出现在第一个区块,然后一直等到后面链接了Z个区块。此时,他仍然不能确切知道攻击者已经进展了多少个块,但是假设诚实块将花费平均期望时间来产生一个块,那么攻击者的潜在进展是泊松分布,并且该分布的期望值是

=zqp

12.结论

我们提出了一个没有信用中介的电子支付系统。

首先,我们讨论了电子货币的电子签名原理。虽然这种制度对所有权提供了强有力的控制,但不足以防止重复支付。为了解决这个问题,我们提出了一个具有工作量证明机制的对等网络来记录事务的公开信息。只要诚实节点能够控制大部分CPU计算能力,攻击者就很难真正改变交易记录。这个网络的优点在于结构简单。节点之间的大部分工作都是相互独立的,只需要一点点的配合。每个节点不需要知道自己的身份。因为对交易信息的流动路径没有要求,只需要尽力传播就可以了。一个节点可以随时离开网络,重新加入网络非常容易,因为它只需要在接收和离开期间补充工作量证明链。节点通过自己的CPU计算能力来投票确认自己的有效块。他们不断延长有效区块链以表示确认,并在无效区块后拒绝延长区块以表示拒绝。这个框架包含了P2P电子货币系统所需的所有规则和激励机制。(全文结束)

值得思考的几个问题(以股换金):

1)电子货币的安全问题,安全隐患造成的后果会更严重,甚至无法追查;

2)奖励本身会付出成本,随着参与者的增加(竞争激烈,实际上会变成资本之争。现在,它显示谁的电脑更多,谁的电脑更快。这种竞争其实就是资本的竞争,最终羊毛出在羊身上。),这个成本在成本效率上能比原来的第三方系统高?

3)这个制度对金融体系的影响有多大?如果银行消失了,谁来提供原金额的保全服务?比如双方的交易可以直接交易,但是保证金怎么保值?还需要金融机构吗?

其他问题请在评论区留言,一起讨论。

广告位
本文来自网络,不代表区块链网站|NFTS立场,转载请注明出处:https://www.qklwz.com/jzb/bch/2487.html
上一篇
下一篇

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

返回顶部