前沿资讯网>比特币>正文

2018比特币算法,比特币节点处理接收到的交易

摘要
2018比特币算法,比特币节点处理接收到的交易,一个交易产生的输出,其包含的总金额可能比所有输入的总金额要少。此时,输入和输出总金额之间的差额成为交易费。交易费被用来激励系统的其他参与者(参见定义 7.19)。

  2018比特币,2018比特币算法,比特币交易


    1:接收到交易亡


    2: for each f 中的输入 (/i,〇 do


    3: if输 出 (M ) 不在本地的U T X O o r签名无效 then


    4: 将交易纟删除掉,并停止处理此交易


    5: end if


    6: end for


    7: if所有输入包含的金额之和 < 所有新创建的输出的金额之和then


    8 : 将交易 i 删除掉,并停止处理此交易


    9: end if


    i〇: for each t 中的输入 (/i,i) do


    li: 从 本 地 U T X O 中删除 (M )


    12: end for


    13:将 f添加到本地历史


    14:将 f发送给比特币网络中的邻居


    2018比特币算法,比特币节点处理接收到的交易,一个交易产生的输出,其包含的总金额可能比所有输入的总金额要少。此时,输入和输出总金额之间的差额成为交易费。交易费被用来激励系统的其他参与者(参见定义 7.19)。


    注意到到现在为止,我们仅仅描述了一个局部的接受策略。还没有讨论任何措施来避免:不同的节点接受不同的交易,但这些交易却使用同一个输出。


    交易将处于以下两个状态之一:未 确 认 (U n c o n f i r m e d ) 或已确认 (C o n f i r m e d )。从广播中接收到所有交易是未确认的,并且会被加入到一个名为记忆池的交易池中去。


    定 义 7.14 (重 复 使 用 (D o u b l e s p e n d )).重复使用指一个特殊状况,此时多个交易都尝试使用同一个输出。只有一个交易可以是有效的,因为输出只能被使用一次。当节点在重复使用的情形下接受不同的交易时,共享状态将变得不一致。


    重复使用可以很自然地出现,比如,当输出被多个用户共同拥有的时候。然而,很多时候重复使用是故意的行为— 这被称为重复使用攻击。在一个交易中,一个攻击者假装将一个输出转移给一个受害者,而实际只是重复使用在另一交易中的同一个输出,在那个交易中,该输出会被转回给攻击者自己。


    重复使用可以导致不一致的状态,因为一组交易的有效性取决于它们到达的顺序。如果两个相互冲突的交易被同一个节点看至IJ,该节点将认为第一个是有效的(参见算法 7.13),并认为第二个交易是无效的,因为该交易尝试使用已经被用过的输出。


    然而,不同的节点收到交易的顺序可能是不一致的,因此共享状态也就不一致。


    如果重复使用问题没有被解决,共享状态将出现分叉。于是就需要一个冲突解决机制来判定冲突的交易中,哪一个交易应该被 确 认 (即:被所有节点接受),由此实现最终一致性。


    定 义 7.15 (工 作 量 证 明 (P r o o f -of-W o r k )).工 作 量 证 明 (P r o o f -ofWo r k ,P o M 〇机制使得一个参与者可以向其他参与者证明:他己在一段时间内持续使用了一定数量的计算资源。特别地,定义工作量证明函数7^((:,:?)-^{斤 《6,/〇/?;},此处 0?是一个正实数,表明困难程度;挑战问 题 C 和随机数 Z 通常是比特字符串。工作量证明函数需要具备下面的性质:


    1 . 当 c?,c ,;r 都给定时,很 快 就 能 计 算 出 ' (c ,a;)。


    2 .对一组给定的参数d 和 c ,找 到 x 使 得 = t r u e 是可计算的,但是非常困难。困难系数d 被用来调节找到:c 的平均期望时间。


    定 义 7.16 (比 特 币 P o W 函数丨. 比特币 P o W 函数定义如下:〇224M c ,x ) ^ S H A 256(S H A 256(c |a;)) < — .


    此函数将挑战 c 和随机数: C 连起来,并且使 用 S H A 2 5 6 做两次哈希。S H A 2 5 6 的输出是一个密码学的哈希值,取值范围是{0,...,2256 —1}。将 这 个 输 出 值 和 目 标 值 ^进 行 比 较 。增大难 度系 数 4 目标值将减小,从而提高了找到z 的难度。


    S H A 2 5 6是一个用于加密的哈希函数,其输出是伪随机的。目前还没有比穷举更好的算法来寻找:r 使其满足函数 〇 〇 。从设计的层面来讲,这使得找到z 很困难,但是却很容易验证一个;r 是否合乎要求。


    如果所有计算P o W 函数的节点使用相同的挑战,那么计算能力最强的节点将总是获胜。然而,就如我们即将在定义7.19中所看到的,每个节点都使用一个节点特定的挑战来尝试找到合理的随机数X 。


    定 义 7.17 (区 块 (B l o c k )). —个区块是一个数据结构,在一个节点局部状态之上累积的改变将打包在区块中并传递给整个网络。一个区块包含了一组交易,一个指向上一个节点的引用,和一个随机数(即在工作量证明阶段找到的随机数)。一个区块包含了本区块创建者(矿工)所接受并存放在自己记忆池中的所有交易,这些交易都是在上一个区块之后产生的。一个节点在找到一个有效的随机数来满足它的工作量证明函数后,将广播一个区块。


    【免责声明】以上文章是今日小编为您介绍2018比特币的个人观点,请读者仅作参考,投资有风险,入市须谨慎!本站不拥有所有权,不承担相关法律责任。如需了解“2018比特币算法”请关注:【比特币今日价格 http://btc.whw999.com/】,如若转载,请注明。


什么是比特币(Bitcoin)

[1]什么是比特币(Bitcoin)在2009年诞生以来,刚开始几乎一文不值,并且只有小众的技术圈粉熟悉;短短几年发展迅速,

09月18日 10:51

比特币的意义和价值,比特币今日有哪些价值

比特币的意义和价值,比特币今日有哪些价值,直到今天,关于比特币的话题仍充满了不少争议。但大部分人应该都会认可,比特币 是数字货币历史上,

09月17日 15:00

美国的销售税和比特币可能令人困惑

美国的销售税和比特币可能令人困惑,在美国的过去两年中,联邦政府和各州一直试图掌握加密货币的概念,并将其应用于传统的金融法律,如税收。

09月13日 14:25

比特币价格应稳定在5000美元附近,比特币今日价格如何走势

比特币价格应稳定在5000美元附近,比特币今日价格如何走势,主流经济学家在其下行趋势期间对比特币说些好话并不常见,但Mohamad El-Erian再一次例外。

09月13日 14:11

重新审视ICO诈骗,ICO受证券法保护的美国法官规则

重新审视ICO诈骗,ICO受证券法保护的美国法官规则,布鲁克林的一位美国地区法官作出了具有里程碑意义的判决,对最初的硬币发行(ICO)市场产生了深远的影响。

09月12日 15:42