美文网首页
比特币:一个点对点的电子现金系统(1-6节)

比特币:一个点对点的电子现金系统(1-6节)

作者: 晴天_da24 | 来源:发表于2018-03-08 09:37 被阅读0次

    摘要:一个纯粹的点对点版本电子现金能够允许线上支付直接从一方到另一方被发起而不需要通过一个财务机构。数字签名提供了一部分的解决方案,如果一个被信任的第三方仍然存在的话因为自身利益受损,它就会需要阻止这种双向支付。我们使用一种点对点的网络探索解决双向支付问题的方案。网络时间戳传输通过将它们重新表达到一个不间断的基于哈西工作证明运行的链上,形成一个无法重做工作证明从而不能被更改的记录。最长的链不仅服务于证明作为序发事件的目击者,更证明来自于最大的cpu算力池。尽可能使大量的的cpu算力源通过节点控制,从而使工作网络无法被协同攻击,这些算力源将会继承最长的链并且超越攻击者。工作网络本身需要最小的结构。信息通过最底层的协议传输,并且节点能够离开或者重新加入工作网络,当这些节点离开的时候接受最长的工作量证明链作为证明发生了什么。

    1、简介

    网络贸易依赖于几乎专有的财务机构作为被信任的第三方以提供电子支付服务。尽管这种系统工作的足够好从而能够应对大部分的传输,但是它仍然遭受与生俱来的基于信任第三方这种模式的弱点。完全不可撤销的传输是无法真正实现的,因为财务机构无法避免中介争论。中介花费增长了传输费用,限制了最小的传输规模并且切断了最小规模传输的可能性,有一片的费用在失去能力正对于不可撤销支付面向不可撤销服务。伴随着可逆交易的可能性,需要信任的扩展。商家必须提防他们的顾客,谨防顾客获得比他们原本需要的更多的信息。一个确定比例的骗子当不可避免的时候是需要被接受的。花费支付的不确定能够被避免个人使用实体货币,但是现在密码学的存在使得支付通过社群频道而无需一个被信任的第三方。

    一个基于密码学的工作证明而非信任在一个电子支付系统中是被需要的,允许自愿的双方直接交易而无需信任第三方。交易从计算方面讲是不可撤销的,从而禁止了销售者遭受付款欺诈可能性,并且沿用委托付款服务商能够很容易的执行以保护消费者。在这份论文中,我们使用点对点的分布式的时间戳服务通过继承算力证明按时间排序的交易探索一个双向支付问题的解决方案。系统是安全的因为它能尽可能长的真实节点搜集控制更多的cpu能源比任何攻击节点的协同组织。

    2、交易

    我们定义了一种电子币,作为数字签名链。每一个拥有者交易币给下一个人通过数字签名一个当前交易的哈西值和公钥到下一个交易者手中并且将这些增加到币的最终状态中。一次支付能够查证签名以核实链的拥有关系。

    存在的问题是支付不能核实某一个持币者是否重复支付币。一个普遍的解决方案是有一个权威的信任中心,或者铸币局,检查每一次交易是否存在双向支付的问题。每一次交易之后,旧币必须被退回到铸币当局去重新发型一个新币,并且只有旧币直接从被信任的铸币当局发型出来就不会出现双重支付的问题。伴随着这种解决方案的一个问题是整个货币系统的命运依赖于公司制运行的铸币当局,并且每个交易者必须通过它们才能交易,就像一家银行。

    我们需要一种支付方式:当前的持币者无法获得任意一个早期交易者的痕迹。为了实现我们的目标,最早的交易是一个账户,因此我们不必再乎后来尝试的双重支付。确认缺席交易的唯一方式是知道所有的交易。在铸币当局的基本模式下,铸币当局能够发现所有的交易者,并且决定哪一个交易者首先实现交易。为了在没有被信任一方的情况下实现这一点,交易必须被公开的广播,并且我们需要参与一致同意一个唯一的历史,在这个历史中他们的顺序能够被获取到。支付需要被证明同一时刻的每一次交易,大部分节点同意了它就是第一个实现的交易。

    3、时间戳服务

    我们探寻的解决方案始于一个时间戳服务。一个时间戳服务通过建立一个区块的哈西成为时间戳并且广泛的公开哈西,就像一份报纸或世界性的新闻组网络邮箱。时间戳提供的数据必须同时存在,明显的,为了进入哈西。每一个时间戳包含当前的时间戳及它本身的哈西,形成一个链,由每一个额外的时间戳加强之前的一个时间戳。

    4、工作量证明

    为了实现一个基于点对点的分布式的时间戳服务,我们需要使用一个类似于Adam backs Hashcash的工作量证明系统。而不是报纸或者世界性新闻网络邮箱。工作量证明包含浏览一个被分散的价值,例如伴随着SHA256,哈西始于一个零字节的数字。日常的工作呈指数级别增长的被需要,并且能够通过执行一个单独的哈西被核实。

    对于我们的时间戳工作网络,我们实施工作量证明通过区块中的增量直到赋予区块的哈西中零字节的值被发现。一旦CPU 的结果被扩展使他满足于工作量证明,区块因为无法重做工作而不能被改变。当后面的区块被链到前一个区块后面,篡改区块应该包含重做它之后所有的区块的工作证明。

    工作量证明也解决了代表大多数人决定的问题。如果大部分是基于一个Ip地址一个投票权。主要的决定通过最长的链来表现,在那个链里面投入了最大的工作量证明。如果一个主要的CPU 能源通过真实的节点被控制,真实的链将会增长最快并且超越任何与它竞争的链。为了修改过去的区块,攻击者必须重做区块上的工作证明以及所有以后的区块,并且超越真实节点的工作量证明。我们将会展示这样一种可能性:攻击者追赶并且减小以指数方式作为后来的区块被增加。为了抵消计算机硬件的增长速度和在运行节点方面利益的变化,工作量证明难度通过一个发展中的固定目标来决定,这个目标就是每小时产生区块的数量。如果他能继承的太快,难度就会增加。

    5、工作网络

    运行工作网络的步骤是如下的:

    1 新的交易被广播到所有节点

    2 每一个节点收集新的交易进入区块

    3每一个节点为它的区块发现一个困难的工作证明

    4当一个节点解出一个工作量证明,它就将这个区块广播到所有节点

    5节点仅仅接受合法有效且没有被支付的区块

    6节点通过创建下一个区块表达它们对链上区块的共识,使用哈西算法接纳区块作为当前的哈西值。

    节点总是会认为最长的链是正确的那一个并且始终保持对最长的链的扩充。如果节点们同时为下一个区块广播两个不同版本的内容,一些节点可能会首先收到不同版本的广播。在那种情况下,它们会为首先接收到的版本做计算,但是也会保存其他接收到的版本以防其他的版本会成为最长的那个链;在其他分支上工作的节点将会转换到更长的分支上去。

    新交易的广播不需要抵达所有的节点。它们会抵达尽可能多的节点,它们将会进入比之前更长的区块。区块广播也会容忍丢失的信息。如果节点没有接收到区块,当他接收到下一个区块且意识到自己丢失了前一个区块的时候做出反馈。

    相关文章

      网友评论

          本文标题:比特币:一个点对点的电子现金系统(1-6节)

          本文链接:https://www.haomeiwen.com/subject/jzhrfftx.html