中本聪& # 039;原文:比特币:APeer_币圈行情_鼎鸿网

中本聪& # 039;原文:比特币:APeer

angula 0

比特币最近站上了价值高地,23000元/枚比特币。2012年推出一个比特币20元,5年涨了1000多倍。这可能是世界上最赚钱的行业了。我们要么鼓吹比特币,要么诅咒比特币,但有一个人是无法回避的。这就是比特币的创造者中本聪。2008年,他发表了一篇题为《比特币:点对点电子现金系统》的文章,宣布发明了比特币。2009年发布第一款比特币软件,正式推出比特币@

金融系统。。接下来,@把这篇文章分享给大家学习复习:

(*巴比特译,英文原文链接:/。pdf)

[摘要]:本文提出了一个完全通过点对点技术实现的电子现金系统,可以实现在线支付。

可以由一方直接发起,不经过任何金融机构支付给另一方。虽然数字

word()部分解决了这个问题,但是如果还需要第三方支持

,为了防止重复花费(-)。,那么这个制度就失去了存在的价值。

我们(我们)特此提出一个解决方案,使现金系统能够在点对点环境中运行,并防止重复支出

支付的问题。网络时间戳()随机散列()所有事务,

将它们合并成一个不断增长的基于随机哈希的工作量证明链

对于事务记录,生成的事务记录不会改变,除非再次完成完整的工作量证明。Max

的链不仅可以作为观察到的事件序列()的证明,还可以看作来自CPU

的最大计算能力池。只要大部分CPU计算能力不打算配合

网络进行攻击。,诚实节点将生成超过攻击者的最长链。系统本身

只需要一点基础设施。信息可以尽可能遍布网络,节点可以随时离开。

打开并重新加入具有最长工作负载证明链的网络。,作为节点脱机时发生的事务

的证据。

1。简介

互联网上几乎所有的交易都需要金融机构作为可信的第三方来处理电子支付信息。尽管这种系统在大多数情况下工作良好但是他们仍然受制于"基于信任的模型"内生的。我们可以';我们无法实现完全不可逆的交易,因为金融机构不可避免地会出面调解纠纷。金融中介的存在也会增加交易成本,限制实际最低交易规模,限制日常小额支付交易。。潜在的损失是,许多商品和服务本身无法退回。如果没有不可逆的支付手段,互联网贸易将受到极大限制。因为有退款的可能,所以双方需要有信任。企业也必须警惕他们的顾客。因此,他们要求客户提供完全不必要的个人信息。在实际业务操作中,一定比例的欺诈客户也被认为是不可避免的,相关损失被视为销售费用。在实物现金的情况下,可以避免这些销售费用的不确定性和支付问题。因为这个时候没有第三方信用中介。

因此,我们确实需要这样一种基于密码学而非信用的电子支付系统,让达成协议的任何两方都可以直接支付,无需第三方中介的参与。消除回滚()支付交易的可能性。,可以保护部分卖家免受欺诈;对于想要保护买家的人来说,在这种环境下很容易建立通常的第三方保障机制。在这篇文章中,我们(我们)将通过提出点对点分布式时间戳服务器来生成按时间顺序排列和记录的电子交易证书,从而解决双花问题。

2。交易()

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

这个过程的问题是接收者很难验证前一个主人是不是双币。通常的解决方案是引入一个可信任的第三方组织或类似造币厂的组织。检查每笔交易,防止重复消费。每笔交易完成后,电子货币由造币厂回收,造币厂发行新的电子货币;而且只有造币厂直接发行的电子货币才被认为是有效的,可以防止重复支出。然而,这种解决方案的问题是整个货币体系的命运完全取决于经营造币厂的公司,因为每笔交易都要经过造币厂的确认,就像银行一样。

我们需要某种方法让收款人确保以前的所有者没有';不要签署以前的交易。逻辑上,为了达到目的。事实上,我们需要关注在此交易之前发生的交易,而我们不';不需要关注这次交易后是否会有双花企图。确保事务不存在的唯一方法是知道所有以前的事务。在薄荷模型中,Mint被告知所有交易,并确定交易完成的顺序。如果我们要把第三方中介排除在电子系统之外,那么交易信息就应该是公开的()[1],我们需要整个系统的所有参与者都有一个唯一可识别的历史交易序列。。收款方需要保证在交易过程中,大部分节点都同意交易是第一次。

3。时间戳服务器()

这个解决方案首先提出了一个"时间戳服务器"。。通过对其应用随机散列并广播随机散列,时间戳服务器将块中的一组数据()标记为与[2][3][4][5]相同,就像全球新闻组网络上的新闻或帖子一样。明显地时间戳可以确认特定的数据必须在特定的时间存在,因为只有在时间存在的情况下才能获得对应的随机哈希值。每个时间戳都应该将前一个时间戳合并到它的随机哈希值中,每个后续时间戳都将扩展前一个时间戳()。,从而形成一个链条。

4。工作负载证明

为了在点对点的基础上构建一个去中心化的时间戳服务器,仅仅像一家报纸或一个全球新闻网络组那样工作是不够的。,我们还需要一个hashcash()类似于AdamBack[6]。当执行随机散列时,工作负载证明机制引入了对特定值的扫描。例如,在SHA-256下,随机散列值以一个或多个0开始。。然后随着零个数的增加,寻找这个解所需的工作量呈指数级增加,只需要一次随机哈希运算就可以检查结果。

我们向块添加一个随机数。以便给定块的随机散列值具有所需数量的0。我们通过反复实验直到找到这个随机数,所以建立了工作量证明机制。只要CPU消耗的工作负载能够满足工作负载证明机制,就不能改变块信息。除非重新完成相同的工作量。由于后续块是在块之后链接的,如果要更改块中的信息,需要再次完成所有后续块的全部工作量。

同时,工作量证明机制也解决了集体投票中谁占多数的问题。。如果大部分决策都是基于IP地址,一个IP地址一票,那么如果有人有权分配大量IP地址,机制就被打破了。工作量证明机制的本质是一个CPU,一人一票。"大多数"决策表示为最长的链01。比特币。因为最长的链包含最多的工作负载。如果大部分CPU都由诚实节点控制,诚实链扩张最快,比竞争链更好。要修改现有的块,攻击者必须重做该块和所有后续块的工作。,最终赶超廉政节点的工作。

另一个问题是硬件的运算速度在快速提升,节点参与网络的程度会有波动。为了解决这个问题,工作量证明的难度将采用移动平均指标来确定。也就是说,难度被引导,使得块排出的每小时速率是预定的平均值。如果生成块太快,难度会增加。

5。网络

运行网络的步骤如下:

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

所谓"要广播的新事务"实际上不需要到达所有节点。。只要交易信息能到达足够多的节点,很快就会整合成一个区块。块的广播对于丢弃的信息是容错的。如果一个节点没有';如果没有接收到特定的块,它会发现丢失了一个块,并可以请求自己下载。

6。激励措施

我们同意每个块中的第一个交易是专门化的,这将产生块创建者拥有的新电子货币。这增加了节点支持网络的动力。,并提供了一种无需中央组织发行货币即可将电子货币分发到流通中的方法。这种在货币体系中增加一定数量新货币的方式,与消耗资源开采黄金,将黄金注入流通领域非常相似。此刻,CPU时间和功耗都是消耗资源。

另一个激励来源是交易成本。如果一笔交易的产值小于投入价值,差额就是交易成本,会加到区块的激励里。只要有一定数量的电子货币进入流通,激励机制就可以逐渐转向完全依靠交易成本。,货币体系可以不受通货膨胀的影响。

激励系统也有助于鼓励节点保持诚实。如果贪婪的攻击者能够调动比所有诚实节点加起来还多的CPU能力他将面临一个选择:要么将其用于诚实的工作以产生新的电子货币,要么将其用于二进制支付攻击。然后他会发现,按规矩办事,老老实实做事,更有利可图。因为这些规则允许他有更多的电子货币。而不是破坏系统,损害自己财富的有效性。

7。回收硬盘空间

如果最近的事务已经包含在足够的块中,您可以在事务之前丢弃数据以回收磁盘空间。。同时,为了保证块的随机哈希值不被破坏,在对事务信息进行随机哈希时,以树的形式构造[7],使得块的随机哈希中只包含根。价值。旧块可以通过()树的分支进行压缩。不需要保存内部随机哈希值。

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

8。简化支付确认()

支付也可以在不运行完整网络节点的情况下进行验证。。用户需要保留最长工作负载证明链的块头的副本,并且它可以一直查询网络,直到它确定它具有最长的链,并且可以通过时间戳和合并的块事务通向它的分支。节点本身不能验证事务的有效性。但是,回到链中的某一点,我们可以看到一个节点已经接受了它,它后面的附加块进一步证明,一旦全网接受了它。

在这种情况下,只要诚实节点控制网络,认证机制就是可靠的。但是当整个网络被拥有超强计算能力的攻击者攻击时,会变得更加脆弱。因为网络节点可以自己确认交易的有效性,只要攻击者能够继续保持计算优势,简化的机制就会被攻击者欺骗';s焊接()交换。。那么一个可行的策略就是一发现无效块就发出警报,收到警报的用户会立即开始下载被警告问题的块或者交易的完整信息,这样就可以纠正信息不一致的情况。决心。对于每天大量收付的企业,

9。值组合和除法(sum)

虽然电子货币可以单独处理,但单独为每种电子货币启动交易会很尴尬。为了使值易于合并和拆分,事务被设计为包含多个输入和输出。一般而言,它是一个由以前的一个大值事务组成的单个输入,或者是一个由以前的几个小值事务组成的并行输入,但最多有两个输出。一个用于付款,另一个用于找零(如果有的话)。

需要指出的是当一个事务依赖于多个以前的事务时,这些事务中的每一个都依赖于多个事务,但是没有问题。因为这种工作机制不需要展开之前发生的所有交易历史。

10。隐私()

传统的mint模型为交易参与者提供了一定程度的隐私保护,因为从可信第三方请求交易信息的尝试受到严格限制。但如果交易信息广播到全网,则说明这种方法无效。但是您仍然可以保持隐私:保持公钥匿名。。公众所知道的唯一信息是,一个人给另一个人送了一定数额的钱,但很难将这笔交易与特定的人联系起来,即公众无法确定这些人是谁。这类似于证券交易所发布的信息。记录股票交易的时间和交易量,以备查询。然而,交易双方的身份并未透露。

作为额外的预防措施,用户可以让每个交易生成一个新的地址,以确保这些交易不会追溯到共同的所有者。但是,由于并行输入的存在,某种程度的回溯是不可避免的。这说明所有的硬币都属于同一个主人。此时的风险是,如果一个人';的公钥被确认是属于他的,那么这个人的许多其他交易都可以被追溯。

11。计算

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

诚实链和攻击者链之间的竞争可以用二叉树中的随机游走来描述。成功事件定义为诚信链延伸一个街区,使其领先一个街区,而失败事件定义为攻击者链延伸一个街区,使gap-1。

攻击者成功填补给定空白的概率可以近似为一个赌徒的破产。假设一个赌徒无限透支信用,开始无限次数赌博,企图弥补自己的不足。那么我们就可以计算出他填空的概率,也就是攻击者赶上诚信链的概率,如下[8]:

假设p

q,攻击成功的概率随着块数的增加呈指数下降。既然概率是攻击者的敌人,如果他运气不好,可以';如果他不能很快成功,随着时间的推移,他成功的可能性会变得越来越小。。然后我们考虑收款人需要等待多久才能完全确信付款人很难更改交易。让';s假设付款人是一个支付攻击者,想让收款人相信他在一段时间内支付了,然后马上把货款还给自己。虽然收件人届时会发现,但为时已晚。

收款人生成一对新的密钥,然后只留下很短的时间将公钥发送给付款人。这样可以防止付款人提前准备好区块链,继续在区块链上操作,直到运气让他的区块链超越诚实链,立即执行付款。在这种情况下一旦事务被发送,攻击者将秘密地准备一个包含事务的替代版本的并行链。

然后收款人会等待交易出现在第一块,然后等待z块链接。在这一点上,他仍然没有';我不知道攻击者推了多少块。但是,假设一个诚实的块产生一个块需要平均的期望时间,攻击者的潜在进度是一个带期望值的泊松分布:

在这种情况下,为了计算攻击者赶上的概率,我们用泊松分布的概率密度乘以攻击者已经取得进展的块数,以及攻击者仍然能够追上这个数的概率。

转换为以下形式,以避免对无限序列求和:

编写以下C代码:

#(q,intz)

{

p=1.0q;

=z*(q/p);

总和=1.0;

整数我,k;

中本聪& # 039;原文:比特币:APeer文档下载: PDF DOC TXT