tp钱包下载app官网正版|bsv双花攻击

作者: tp钱包下载app官网正版
2024-03-15 18:38:26

8.4趋势简更(BSV的51%攻击) - 知乎

8.4趋势简更(BSV的51%攻击) - 知乎切换模式写文章登录/注册8.4趋势简更(BSV的51%攻击)面条要不要8月4日消息,据Coin Metrics消息,BSV遭到51%攻击,导致有三个版本的链同时在挖矿,最高有14个区块进行深度重组。Coin Metrics的风险管理平台见证了这次攻击,其网络数据产品经理表示:“有人正试图摧毁BSV。在超过3个小时的时间里,攻击者已能够接管该链。在此期间收到BSV存款的所有交易所可能都被双花了。”主要矿池之间存在同步问题,且尚不清楚攻击是否已经结束。这已经是一个月内BSV第二次遭遇双花攻击。7月8日,BSV网络遭受恶意攻击,攻击者多次对BSV网络进行区块重组,并借此进行双花攻击。BSV官方协会发表声明,对 Bitcoin SV 网络的非法攻击零容忍。此外,官方表示,据调查,与此次攻击相关的一个地址长期以来与勒索攻击软件和BTC、BCH以及BSV的其他攻击相关。澳本聪的BSV,号称要颠覆比特币的存在,可是现在却在经历区块链世界中最可怕的一种网络攻击形式51%双花,整个BSV的网络,一半以上的算力被恶意控制,网络的安全性形同虚设,攻击者可以随意进行双花,为自己谋取利益,而且会造成BSV网络崩溃,因为已经没有安全性了。BSV网络的哈希率从创始区块开始一直在下降,现在只有原来的20%,全网算力现在只有368PH/S。而在发生51%攻击的几天里,BSV的算力突然上升,说明是外部算力的介入,这说明攻击者用外面的矿机直接在BSV网络运行造成的,这只能怪BSV自身的网络算力太低。1台蚂蚁S19的算力是95T,而BSV网络的算力之和相当于3873台蚂蚁S19,发动51%攻击只要1975台S19就可以了完成了,攻击者只要随便买通一个小矿场就行了。他的竞争对手BCH的全网算力在1.43EH/S,总算力是BSV的3.88倍币王比特币的全网算力是108EH/S,是BCH的75倍,是BSV的293倍。区块链网络的算力是他的根本,对 BSV发起51% 攻击的成本仅为6500美元左右,控制网络1个小时,,这里只是电费和租赁费的一个估算,实际话费要比这个高。而对比特币现金(BCH)发起 51% 的攻击成本约为2.5万美元左右,是BSV的4倍。由此可见不是攻击者太厉害,而是BSV的网络台脆弱了,经不起折腾。澳本聪其实是一个很有想法的人,BSV也是按照他的想法在发展,但是他非得说自己的中本聪,这种营销方式让圈内的人很是反感,2019年因为此事,币安索性下架了BSV,现在BSV的价格也不像之前那样有冲击力,澳本聪的新闻也慢慢变少,没想到这次是以BSV51%攻击的事件上了头条,也真是让人唏嘘不已。发布于 2021-08-04 22:16比特币 (Bitcoin)区块链(Blockchain)金融市场​赞同 2​​5 条评论​分享​喜欢​收藏​申请

8.4趋势简更(BSV的51%攻击) - 知乎

8.4趋势简更(BSV的51%攻击) - 知乎切换模式写文章登录/注册8.4趋势简更(BSV的51%攻击)面条要不要8月4日消息,据Coin Metrics消息,BSV遭到51%攻击,导致有三个版本的链同时在挖矿,最高有14个区块进行深度重组。Coin Metrics的风险管理平台见证了这次攻击,其网络数据产品经理表示:“有人正试图摧毁BSV。在超过3个小时的时间里,攻击者已能够接管该链。在此期间收到BSV存款的所有交易所可能都被双花了。”主要矿池之间存在同步问题,且尚不清楚攻击是否已经结束。这已经是一个月内BSV第二次遭遇双花攻击。7月8日,BSV网络遭受恶意攻击,攻击者多次对BSV网络进行区块重组,并借此进行双花攻击。BSV官方协会发表声明,对 Bitcoin SV 网络的非法攻击零容忍。此外,官方表示,据调查,与此次攻击相关的一个地址长期以来与勒索攻击软件和BTC、BCH以及BSV的其他攻击相关。澳本聪的BSV,号称要颠覆比特币的存在,可是现在却在经历区块链世界中最可怕的一种网络攻击形式51%双花,整个BSV的网络,一半以上的算力被恶意控制,网络的安全性形同虚设,攻击者可以随意进行双花,为自己谋取利益,而且会造成BSV网络崩溃,因为已经没有安全性了。BSV网络的哈希率从创始区块开始一直在下降,现在只有原来的20%,全网算力现在只有368PH/S。而在发生51%攻击的几天里,BSV的算力突然上升,说明是外部算力的介入,这说明攻击者用外面的矿机直接在BSV网络运行造成的,这只能怪BSV自身的网络算力太低。1台蚂蚁S19的算力是95T,而BSV网络的算力之和相当于3873台蚂蚁S19,发动51%攻击只要1975台S19就可以了完成了,攻击者只要随便买通一个小矿场就行了。他的竞争对手BCH的全网算力在1.43EH/S,总算力是BSV的3.88倍币王比特币的全网算力是108EH/S,是BCH的75倍,是BSV的293倍。区块链网络的算力是他的根本,对 BSV发起51% 攻击的成本仅为6500美元左右,控制网络1个小时,,这里只是电费和租赁费的一个估算,实际话费要比这个高。而对比特币现金(BCH)发起 51% 的攻击成本约为2.5万美元左右,是BSV的4倍。由此可见不是攻击者太厉害,而是BSV的网络台脆弱了,经不起折腾。澳本聪其实是一个很有想法的人,BSV也是按照他的想法在发展,但是他非得说自己的中本聪,这种营销方式让圈内的人很是反感,2019年因为此事,币安索性下架了BSV,现在BSV的价格也不像之前那样有冲击力,澳本聪的新闻也慢慢变少,没想到这次是以BSV51%攻击的事件上了头条,也真是让人唏嘘不已。发布于 2021-08-04 22:16比特币 (Bitcoin)区块链(Blockchain)金融市场​赞同 2​​5 条评论​分享​喜欢​收藏​申请

一个月内接连遭受两次攻击,BSV网络安全被质疑_区块链_褚杏娟_InfoQ精选文章

一个月内接连遭受两次攻击,BSV网络安全被质疑_区块链_褚杏娟_InfoQ精选文章

从白皮书的视角看“隐藏链”和“双花”_utxo白皮书-CSDN博客

>

从白皮书的视角看“隐藏链”和“双花”_utxo白皮书-CSDN博客

从白皮书的视角看“隐藏链”和“双花”

BSV区块链

于 2021-08-19 19:03:59 发布

阅读量438

收藏

点赞数

分类专栏:

技术博客

文章标签:

区块链

比特币

BSV

双花

隐藏链

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/BitcoinSV/article/details/119751441

版权

技术博客

专栏收录该内容

23 篇文章

0 订阅

订阅专栏

发表时间:2021年8月13日 信息来源:bitcoinsv.io

简介

Bitcoin SV最近遭到了攻击,攻击者拥有大量算力,试图骗取价值数百万美元的BSV。像这样的事件总是迫使你以全新的方式重新思考比特币的基础和原理。

本文将概述攻击过程和为抵御攻击所做的动员和努力,讨论为了促成最终积极的结果而采取的应对措施。我们还重新审视了比特币白皮书,探寻在这样的攻击场景下应该如何正确的回应。

简而言之,我完全相信矿工会按照白皮书的指引行事。我比以往任何时候都更有信心,即便面对攻击者拥有压倒性优势算力的情况,比特币也依旧牢固且有生命力。

背景

第一次攻击

2021年6月24日,BSV主网发生了4个区块的重组,看起来与使用Hat¬¬hor协议聚合挖矿的新矿工“Zulupool”有关。当时,它们的节点有着大量的算力但连通性不好,所以区块重组只是个意外。Bitcoin SV基础架构团队联系了该矿工,希望提供技术支持以改善他们与其他矿工的连通性,但没有收到回复。

7月的第一周,又发生了多次类似长度的区块重组。我们再次联系了Zulupool,但他们却表示这些区块并不是自己生产的。攻击者通过在coinbase交易中使用“Zulupool”的名字和支付地址来冒充他们从而混淆视听。我们认为Zulupool的说法是可信的,他们实际上并没有挖出与重组有关的区块,原因会在下文解释。

Bitcoin SV基础架构团队立即设置了检查双花交易的工具,同时联系比特币协会和BSV矿工,建立起合适的交流反馈渠道。比特币协会同时向各交易所发出预警,让他们留意和识别是否有可疑的双花交易。在第一次攻击后,我们就部署了工具来自动检测和通知交易双花,没有任何受害者联系我们告知他们遭受了损失。(后来从Bitmart数字资产交易所公开的法庭文件中了解到,攻击者通过将非法双花的BSV交易成其他币种,让他们受到了损失。)

在这些工具准备妥当后,攻击者消失了数周。

第二次攻击

8月3日和4日,在三次不同的时间段,未知的恶意攻击者秘密挖掘了包含双花交易的隐藏链,这些双花交易涉及价值数百万美元的BSV。之后攻击者在BSV网络上一次性的公布了这些长度暂时超过诚实链的隐藏链。这次,攻击者冒充了诚实矿工TAAL。

响应

继上次攻击后,比特币基础架构团队做了充足的准备,因此这次欺诈区块被发布后几秒就被团队检测到了。我们迅速联系了愿意用自己的算力拒绝欺诈区块的已知的诚实矿工,最终抵御了攻击者的分叉,并成功防止了双花的发生。与此同时,比特币协会联系了诸多交易所,告知他们正在发生的事情,并建议他们采取保护性措施,让他们与大多数矿工的做法保持一致。

在8月3日和4日三次试图从交易所盗取资金都失败后,攻击者最终放弃了尝试,他们显然已经意识到,诚实的矿工会拒绝包含双花交易的隐藏区块。

注意到在此期间,比特币协会发布了诚实矿工用来拒绝攻击者先前隐藏的、包含了双花交易的区块的命令。众所周知,诚实矿工可能需要一些时间才能超越攻击者的链,这也为其它(非矿工)Bitcoin SV节点运营商(例如监听区块的应用)提供了一种机制,可以选择跟随大多数诚实矿工在期望能成为最长链上持续构建的链。第二次攻击没有发生双花。攻击者花费了大约20万美元,希望能通过欺诈获得更大的经济收益,但未能如愿,最终损失了20万美元。与此同时,网络一直畅通无阻,不仅处理的交易量破了纪录,甚至还诞生了创纪录的1GB区块。

比特币白皮书对矿工行为的阐释

负责执行比特币协议规则的矿工,应根据比特币白皮书中定义的“先见原则”(first seen rule),适时采取行动拒绝无效交易和包含无效交易的区块。

什么是“先见原则”?

“先见原则”就是以“最先被看到”为原则。

当我们想决定一系列事件的顺序时,要进行直接观察来决定谁“最先被看到”。比特币区块链提供了一种机制,可以将对一组对等节点的直接观察,转换为一系列事件首次出现时的准确记录。

在讨论“先见原则”时,我们需要注意区分两种主观视角。

一种视角是在事件发生时参与者正在网络上活动。通过观察他们能直接掌握谁先出现的第一手信息。当两个相关事件发生的间隔时间很长(超过广播延迟)时,直接观察的结果是无可争议的。我们称之为“观察视角(point-of-view)”。

另一个视角是人们事后根据历史得出的结论。我们称之为“历史视角”。由于他们在事件发生时并未出现,所以无法直接观察事件发生的顺序,只能以节点通过最长区块链记录下的信息为依据。如果这些观察者像他们最近一样可靠的按照先见原则来产生记录,那么对于两个相关事件(双花)谁先发生的问题,“观察视角”和“历史视角”将给出相同的结论,这正是比特币的主要目的。通过顺序正确的记录,新加入网络的参与者可以准确的了解所有UTXO的状态,确保他们在之后确认比特币交易时,这些比特币都是存在的并且都是尚未花费的。

在加入网络时,如果网络中同时存在多个具有争议(相互竞争的区块包含了双花交易)的活跃链,新的参与者可能会对一小段“历史视角”产会困惑。但这种情况比较少见并且可以在短时间内解决。而且解决争议也仅与在此期间加入网络的矿工有关。其他的区块链监听者依旧只需要进行观察,因为他们并不参与创建记录。与此同时,对于绝大多数没有争议的交易,即使在这个窗口期产生,也依旧是清晰和明确的。

有趣的问题是,比特币白皮书是否描述了“观察视角”或“历史视角”。 这引出了另一个问题:是否应该接受包含明显错误记录的更长的链。如果白皮书描述了“观察视角”,那么毫无疑问,节点应该拒绝不正确的记录(区块)。只有当你无法知道事件发生的顺序必须依赖节点共识时,才需要“历史视角”。

我自己的理解是,白皮书描述了一种将“历史视角”转换为可信记录的机制,从而形成十分准确的“历史视角”数据。

试想,如果“历史视角”是决策机制,那么白皮书中的好几处陈述都无法自圆其说。比如下面的几段内容。

第1节:简介

目标:

“一个点对点的分布式时间戳服务器对交易产生的时序生成可计算的证明”

注意到在生成时序证明之前,必须先通过对事件发生时的主观观察来确定事件发生的先后顺序。大多数节点在当时接受了这些观测结果(以区块的形式)就是一种确认,意味着这些观测结果是正确的,并且被当时网络中活跃的大多数观测节点所认同。

利用点对点现金系统欺诈的定义:

“在计算上无法逆转的交易将保护卖家免受欺诈”

也就是说,交易在接收和接受后发生逆转,被作者视为欺诈。

第2节:交易

当双花交易出现时对有效交易的定义:

“我们需要一种方式让收款人知道以前的所有者没有签署任何更早的交易。就我们而言,最早的交易是最重要的交易,因此我们不关心后来的尝试双花的交易。”

请注意,最长的区块链中不可能出现同一笔交易的两个版本。仅从区块时间戳也不能确切的断定两个竞争区块实际谁先产生或谁先公开广播。因此,这里的“最早”一词仅适用于当时网络上活跃节点主观观察到的结果。

没有对区块中的交易赋予特殊权重或其他考虑来改变和覆盖“最早”的概念。

公开广播的必要性:

*“确认没有漏掉交易的唯一方式就是知道所有交易”

“所有交易”包括已确认的和未确认的交易。

“为了在没有可信方的情况下实现这一目标,交易必须被公开”*

这种公开广播至关重要,它让网络上所有的活动节点都能进行主观观察,这使我们回到……

回到“目标”:

“收款人需要证据,能证明当时大多数节点都认同这个交易他们是第一次收到”

从收款人的角度来看这很重要,因为他们需要确认自己收到的比特币是有效的。

再次重申,以双花事件发生时网络中活跃节点的主观观测结果为依据,才有可能达成这个目标。这正是交易必须被公开宣布的原因。

第5节:网络

网络定义的说明:

“新交易被广播到所有节点”

这非常明确。在广播交易的同时隐藏相同交易的冲突版本违反了这条规则,而且定义明确说明了广播的交易是有效的,隐藏的交易是无效的双花交易。

区块必须被广播:

“当节点找到了区块的工作量证明,就广播给所有节点”

这条规则明确了何时需要广播区块。就是在找到一个有效的工作量证明并生成有效的区块头后,立即执行。

有效区块包含的交易(里的资金)必须尚未花费:

“只有当区块中的所有交易都有效且尚未花费时,节点才会接受该区块。”

正如我们之前看到的,“尚未花费”是从观察者角度的描述。如果他们之前观察到了跟新区块中任一交易相冲突的交易,则该区块无效。

区块竞争:

“如果两个节点同时广播了下一个区块的不同版本,其他节点收到这些不同版本的区块的顺序是不同的。在这种情况下,他们会基于先收到的区块继续构建,但同时会保存其他分支以防止它在之后变得更长。当找到下一个工作量证明并且某个分支变得更长时,这种关系就会被打破;在其他分支上构建的节点就会切换到更长的链上。”

中本聪在本节没有说明隐藏竞争区块的情况,而只讨论了几乎同时广播的竞争区块。在截然不同的时间点看到竞争区块的场景,仅在白皮书中抵御网络攻击的章节里有所讨论。

第11节:计算

比特币白皮书明确了挖掘隐藏的区块链是不诚实的:

“交易发出后,不诚实的发送者会开始在包含该交易替代版本的平行链上秘密挖掘”

秘密挖掘区块的矿工被认为是“攻击者”:

“了解攻击者现在仍然可以追赶上的概率……”

第12节:总结

我们在这里又看到了对比特币目标的描述:

“为了解决这个问题,我们提出了一个使用工作量证明的点对点网络来记录交易的公共历史,从计算能力的角度考虑,当诚实节点控制了大部分CPU算力时,这些交易就无法被攻击者逆转。”

时间戳服务器的目的是防止“攻击者”更改在事件实际发生时,网络中的大多数节点都主观观察到并已认同的 “公共”历史记录。这些记录包括被观察到的事件(交易和区块)的出现顺序。这并不意味着成功的隐藏区块攻击应该被视为“诚实的”记录,尤其是在事件发生时链上活跃的每个人都知道它是不诚实的。

有效的区块:

“他们用自己的CPU算力投票,通过努力延长有效区块来表示自己接受了这些区块,并拒绝在无效区块上构建”

这回到了有效区块的定义。我们已经从第5节了解到:有效的区块只包含有效的交易,还从第2节了解到:有效的交易一定是当时诚实的参与者主观观察到的任意一组双花交易中最先被看到的交易。

最后让我们跳回到摘要的最后一句话:

“节点可以随意离开和重新加入网络,接受最长工作量证明的链作为他们离开后的网络事件的证明”

当你不在场时接受最长工作量证明的链作为网络事件的证明,和你身处事件发生过程中明知最长链无效却依然接受它,这两者有着明显的区别。第1节中概述的目标是生成这样的证明,并且当时处于活跃状态的节点有责任生成该证明。白皮书明确指出,无效的历史应该被意识到它们无效的节点拒绝,并在其位置写入正确的历史,确保正确的历史可以成为最长工作量证明链的一部分。

这正是攻击发生时,那时所有诚实的矿工所做的事。

代码不是法律也不是比特币的定义

比特币是一个描述预期行为的经济系统。因此软件和算法不会改变和覆盖这个特性。软件本身是算法的一种实现,它会在几乎所有的情况下自动执行预设的目标,但算法从来都不是完美的。在具有对抗性的系统中,尝试用算法对规则编码可能会导致该算法被有违本意的利用,被别有用心的人用来攻击系统。现实情况是,有些规则也很难以预防攻击的方式编码。

根据规则编码来自动检测包含双花交易的区块并孤掉这个区块便是一个例子。为了这个目标,我多次尝试定义一个可行的规则集,这对于一般场景很容易做到,也会很好的保护用户,但这可能被攻击者利用,用精心策划的攻击让区块链分叉。

即便是先见原则本身,在网络延迟下也很难可靠的编码,虽然在大多数情况下可以通过代码强制让区块竞争来解决,但涉及多组双花的复杂情况可能会引起两组节点的持续不一致,最终导致永久分叉。我非常确信这就是为什么最初的比特币会按当时那样的方式编码,而不是在毫秒级的时间内鲁莽的强制执行这个规则。

关键的一点是,代码并不完美,有时候需要人为干预。这在比特币的整个历史中都发生过。比特币的目标是对网络上发生的事件产生永久和可靠的记录。为了实现这个目标,节点需要观察、记录并在必要时人为干预以确保记录准确且没有欺诈。矿工们可以独立的执行这些操作,几乎不需要协调,因为面对真相大家都能相对容易的达成共识。

这些记录超越了区块链中记录的内容本身。这些记录可以很好的作为过去事件进一步发展的证据。匹配数百台独立机器的日志文件是一个更加手动的过程,但该证据同样有用。

MinerID的作用

近期有很多问题和讨论聚焦于MinerID在应对近期攻击时起到的作用。我们看到的不寻常之处在于,攻击者冒充了其他矿工(Zulupool和TAAL),甚至还使用了这些矿工的支付地址。TAAL被假冒是很明显的,因为按照惯例TAAL会用自己的MinerID对他们挖掘的区块签名,所以大量未签名区块的出现就是一个危险信号,表明TAAL被冒名顶替了。这个方法正好可以更容易的识别攻击者的区块。

MinerID 可以为矿工积累来之不易的工作量证明声誉,在帮助用户与矿工建立信任方面发挥更多的作用。未来,它将确保矿工在遭受攻击或遇到其他关键的网络事件时,彼此之间拥有快速可靠的通信渠道。

有关 MinerID 的更多详细信息请参考:https://github.com/bitcoin-sv-specs/brfc-minerid

未来如何进行响应

这次的响应虽然有效且可以复制,但还能进一步优化。可以改变Bitcoin SV节点软件的一些默认行为,还有许多其他的缓解措施、工具以及操作流程等。

众所周知,出于安全方面的考虑,这些措施将在部署完成后才会公开,以避免暗示出潜在的攻击向量。比特币基础架构团队中许多优秀的人一直在研究这些问题,并且会持续的做下去,直到把我们从这些事件中得到的经验和积累,都转化为行动和代码响应。

这次事件反映出的主要问题之一,是我们需要主动监控网络上的事件,需要有经验的人参与进来,需要企业用户间保持健壮的沟通渠道。任何有价值的金融系统都配套了全天候不间断运行的运营中心和监控系统。Bitcoin SV网络上已经有了这些设施,并且现在的系统监控能力更强也更具关联性。

总结

比特币白皮书从根本上描述了比特币协议正常运行所需的一系列行为。其中大部分可以通过算法实现自动化,并且随着时间的推移其自动化的程度也越高。当算法被恶意利用但未发现潜在的攻击向量时,用算法表达规则的做法便不总是可行的,这也是为什么偶尔需要人工判断和人为干预。比特币并不是代码,它是多个独立的参与方按照规则集行事的一个系统,在这个系统里,参与方会集体拒绝破坏规则的其他参与方。

目前,全球已有超过400个项目构建于BSV区块链之上。凭借坚如磐石的协议及超高的网络性能,BSV生态系统迅猛发展,我们期待未来出现更多前所未有的商业应用。

对BSV区块链开发感兴趣的朋友可以通过CSDN站内私信联系我们,申请加入BSV开发者交流群。同时,您也可以扫描下方二维码,关注BSV区块链官方微信公众号,了解更多区块链领域的实时资讯。

优惠劵

BSV区块链

关注

关注

0

点赞

0

收藏

觉得还不错?

一键收藏

知道了

0

评论

从白皮书的视角看“隐藏链”和“双花”

发表时间:2021年8月13日信息来源:bitcoinsv.io简介Bitcoin SV最近遭到了攻击,攻击者拥有大量算力,试图骗取价值数百万美元的BSV。像这样的事件总是迫使你以全新的方式重新思考比特币的基础和原理。本文将概述攻击过程和为抵御攻击所做的动员和努力,讨论为了促成最终积极的结果而采取的应对措施。我们还重新审视了比特币白皮书,探寻在这样的攻击场景下应该如何正确的回应。简而言之,我完全相信矿工会按照白皮书的指引行事。我比以往任何时候都更有信心,即便面对攻击者拥有压倒性优势算力的情况,.

复制链接

扫一扫

专栏目录

参与评论

您还未登录,请先

登录

后发表或查看评论

博客

活动回顾 | 波兰大会展现出BSV区块链上的全新商业机会

09-27

2395

2022年9月13日,BSV区块链协会与波兰区块链协会合作于波兰波兹南举行了首届“企业级区块链——全新机遇”主题大会。本次大会邀请到了多家公司和初创企业,此外还有多名熟悉区块链技术并已在该领域构建项目的专家。也有一些与会者是刚刚接触到这项技术,渴望对其潜力有所了解。目前,波兹南已经成为了世界上最大的区块链知识和发展中心之一,此次会议的目的是将波兹南以“区块链城市”之名进行推广,并促进波兰其它地区的区块链投资。以下是对本次活动的总结。

博客

活动回顾 | BSV区块链协会在印度成功举办首届企业实用型区块链峰会

09-23

1620

BSV区块链协会最近在印度班加罗尔举办了首届企业实用型区块链峰会。此次峰会于2022年8月5日至6日举行,来自全球各地的技术专家、商业领袖、开发者、投资者、政策制定者和思想家们齐聚一堂,共同就全球互联互通和21世纪商业本质等话题展开了深入的探讨。两天的会议安排了众多高水准的演讲和讨论,其中,重点探讨了整个BSV领域中的最新发展和区块链技术的新型实用范例。

博客

Craig S. Wright博客精选 | 定义“扩容”

09-23

923

与许多人的认知相反,比特币的安全性并不在于它使用的哈希算法,而是来源于广泛公开和传播的区块哈希,众多使用这个系统的人都保存了它们。也正是因为这样的原因,“私有区块链”与区块链技术的公开特性是相悖的:如果哈希后的信息不被公开,私有区块链就会同时存在多个副本——就像欺诈性的会计记录可以被保存在不同的账本中一样。因此,增加交易量是系统扩容的唯一途径。换句话说,这些人在对“扩容”一词进行奥威尔式的故意曲解,但围绕真正的“扩容”所展开的话题,应该围绕区块链的属性,以及系统如何为所有交易提供全面的可追溯性这些议题。

博客

活动回顾|澳大利亚区块链应用论坛展现出BSV区块链的影响力

09-22

1227

7月,BSV区块链协会与Elas团队在澳大利亚布里斯班联合举办了首届澳大利亚区块链应用论坛。BSV区块链及其周边生态系统的演讲嘉宾在此次会议上进行了多场精彩演讲。此次活动分两天进行,参与人数众多,令人印象深刻。活动首日安排了商业、学术和技术领域的多场演讲,对BSV在澳大利亚内的实用范例和独特机会进行了探讨。活动次日则以开发者研讨会的形式进行,更侧重于讨论与技术(如智能合约)相关的问题。以下是对本次活动进行的总结。

博客

【官方发布】BSV区块链协会推出「2021-2022年度报告」系列视频

09-22

2676

这是BSV区块链协会有史以来首次以系列视频系列的形式为大家呈现我们的年度报告。通过这种形式,我们希望不仅能让你了解我们的活动,而且能为你提供有吸引力的内容,使你能够更方便地与BSV生态系统以外的人士分享自己最感兴趣的项目。

博客

陪伴成长|区块链工程师能力认证项目启动BSV奖励计划

07-05

1232

你拿证,我买单!

博客

官方发布|BSV区块链协会推出全新智能合约转译器

07-01

2194

BSV区块链协会推出了一款全新的智能合约转译器。这一工具能让开发者轻松地将以太坊Solidity语言的代码转译成BSV的sCrypt语言。BSV区块链可扩容性更强,且交易费用极低。在上周举办的迪拜BSV全球区块链大会上,一款智能合约转译器出现在了企业区块链行业面前,这款工具能够将流行的以太坊Solidity语言代码移植或转换为比特币脚本。sCrypt是一种类似JavaScript的高级语言,BSV上的许多智能合约开发者都在使...

博客

CSDN x BSV|区块链工程师能力初级认证正式启动

06-29

1488

2022年6月6日,可一科技与CSDN联合运营的BSV区块链开发工程师能力认证项目推出了首门正式课程《区块链原理初级》。本课程免费向公众开放,在线学习时间约为9小时,学员在学习并通过全部阶段测试后,可以在线申请进行终极测试,通过者将获得由CSDN能力认证中心和BSV区块链学院联合颁发的“区块链工程师初级认证证书”。BSV区块链工程师认证项目是一个集学习平台、训练考核与资格认证于一体的综合性区块链人才教育培养项目。直击当前区块链领域“优质教育资源及人才双重匮乏”的痛点,致力于树立区块链技术人才新标准、推动区块

博客

BSV工程师认证项目上线《区块链原理初级》课程

06-17

948

2022年4月18日,BSV区块链开发工程师能力认证项目上线了全新的学习平台以及首门预备课程《比特币协议与设计》。课程上线后便在广大区块链爱好者中引起了强烈的反响。在学员们的殷切期待下,今天我们隆重发布首门正式课程《区块链原理初级》。4月份上线的《比特币协议与设计》课程对比特币协议及其系统的运作做了简要介绍,今日上线的《区块链原理初级》课程则在此基础之上,对区块链技术的基础理论进行了更加深入的探讨。该课程从专业的视角对《比特币白皮书》全文的每一个章节进行了详细的解读,学员们可以通过该课程全面理解中本聪对比特

博客

针对BSV区块链新推出的网络访问规则NAR和警报系统AS的解释与问答

03-15

336

网络访问规则Network Access Rules(简称NAR)是一整套规则,用于规范BSV区块链协会和BSV节点之间关系。这套规则详细说明了节点对网络的责任和义务及其与BSV区块链协会的关系。这些规则以比特币协议和比特币白皮书中的原则为基础,确保了所有节点都为合法和诚实的网络环境做出贡献,并为网络参与者提供了透明度和指导。上述情境中所提出的“网络活动”包括:打包、验证或接受一个区块,将交易打包进区块,挖矿过程,以及广播挖出的区块。

博客

【重要公告】BSV区块链协会开始对Teranode节点软件进行技术测试

03-08

997

发表时间:2024年2月22日Teranode节点软件将使BSV区块链网络的交易处理速度提升至每秒110万笔,从而拓宽企业和政府客户的区块链应用范围。- BSV区块链协会宣布已经开始对Teranode节点软件进行技术测试,这次升级将成为BSV区块链网络发展旅程上的一个分水岭,使其交易处理速度(TPS)提升至每秒110万笔以上。迄今为止,即便是顶尖的区块链网络也只能保证稳定地每秒处理几万笔交易,这导致区块链应用被局限在交易处理量较低的领域,如身份和医疗数据管理。

博客

【重要公告】BSV区块链上线TypeScript SDK,未来将支持更多开发语言

03-06

1177

这是一个用于应用开发的核心代码库,它有着方便且直观的开发者界面,能够用于构建和验证交易及相关的数据结构,这些都是开发者在BSV区块链上开发应用程序时必须要用到的信息。

博客

【重要公告】对BSV警报系统AS的释义

03-01

1167

BSV网络的警报系统AS由BSV区块链协会监管,在广播重要通知和指令方面发挥了关键作用。AS的运作与网络访问规则NAR深度集成,两者与比特币的各项基本原则保持一致,共同确保了BSV区块链网络的诚实性与合法性。AS的运作流程清晰,且由共识驱动,这反映了BSV协会始终坚持着维护一个透明有序且值得信赖的区块链环境的承诺。

博客

【重要公告】BSV区块链协会全新推出“网络访问规则NAR”

02-28

645

发表时间:2024年2月15日BSV区块链协会正式宣布已为BSV区块链推出一套全新的。NAR是一整套规则,用于规范BSV协会与BSV网络节点之间的关系。它基于比特币最初设计的协议,以及在比特币白皮书中所列明的网络规则。比特币白皮书中规定,如果网络参与者遵守特定的规则,就有机会获得总计20,999,950个电子货币,这些规则包括但不限于比特币协议和比特币白皮书所规定的事项。这种要约被称为单边合同。

博客

【重要公告】BSV区块链协会宣布将启动多项动态安全增强措施

02-26

1103

BSV区块链协会宣布对其运营模式实施全新的安全架构,以维护BSV区块链网络的完整性、安全性和功能性。

博客

BSV区块链将凭借Teranode的创新在2024年大放异彩

01-31

691

在不久的将来,BSV区块链的交易处理能力将达到每秒100万笔交易。

博客

比特币和区块链并非游离在法律之外

12-21

99

发表时间:2023年12月01日近年来,围绕区块链监管的讨论,已经成为政策制定者、行业领袖和区块链爱好者之间越来越重要的话题。随着各国政府在促进创新和确保消费者保护之间寻求着平衡,有关区块链监管的持续讨论反映出这项变革性技术的复杂性和带来的机遇。然而,正如,毫无争议的是,我们一定要知道区块链及其相关技术并未脱离现有的法律框架。

博客

LiteClient工具箱:降低成本,减少监管风险

12-15

170

发表时间:2023年9月14日BSV区块链协会的工程团队一直在为即将推出的。借助LiteClient工具箱,交易所可以通过来验证区块中的交易子集,并能检查区块链上未花费的交易。这种方法使服务商不再需要运行全节点,每月可能省下数千美元的开支。通过利用,交易所可以将运营成本大幅降低至当前的1%。与此同时,交易所仍然可以确保高效、安全地验证交易。LiteClient工具箱的主要优势在于,这项技术使企业能够根据自身业务的交易量而不是网络的总容量进行扩容。

博客

技术前沿丨Teranode如何实现无限扩容

11-29

471

BSV区块链应对垂直扩容挑战的解决方案。

博客

深度探讨丨关于工作量证明的常见误解

11-17

277

工作量证明型区块链的设计旨在实现可扩展性,同时确保安全性和可互操作性。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

BSV区块链

CSDN认证博客专家

CSDN认证企业博客

195

原创

1万+

周排名

4444

总排名

45万+

访问

等级

6366

积分

1150

粉丝

184

获赞

38

评论

226

收藏

私信

关注

热门文章

【应用实例】Transmira宣布将与Kognition合作为智能建筑和智能城市提供数字转型解决方案

29611

【行业解读】大数据和物联网面临的挑战以及区块链解决方案

9289

【活动回顾】上海区块链开发者大会(2021)第二日精彩回顾

7757

【BSV动态】VXPASS与世卫组织合作为莱索托提供数字疫苗监测服务

6324

【BSV生态】Built By Gamers: 用BSV将游戏引领至新高度

5717

分类专栏

生态资讯

94篇

BSV工程师认证

9篇

官方活动

36篇

技术博客

23篇

BSV知识库

2篇

Craig S. Wright博客

10篇

BSV节点

17篇

最新评论

【重要公告】BSV区块链协会开始对Teranode节点软件进行技术测试

CSDN-Ada助手:

恭喜你这篇博客进入【CSDN每天值得看】榜单,全部的排名请看 https://bbs.csdn.net/topics/618190319。

【重要公告】BSV区块链协会宣布将启动多项动态安全增强措施

CSDN-Ada助手:

恭喜你这篇博客进入【CSDN每天值得看】榜单,全部的排名请看 https://bbs.csdn.net/topics/618127428。

比特币(BSV)知识库:应用-元网协议(Metanet Protocol)

CSDN-Ada助手:

哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)提升标题与正文的相关性。

比特币和区块链并非游离在法律之外

CSDN-Ada助手:

恭喜你这篇博客进入【CSDN每天值得看】榜单,全部的排名请看 https://bbs.csdn.net/topics/617777172。

【深入探讨】区块链是工业物联网发展的基石

CSDN-Ada助手:

恭喜你这篇博客进入【CSDN每天值得看】榜单,全部的排名请看 https://bbs.csdn.net/topics/615922297。

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

针对BSV区块链新推出的网络访问规则NAR和警报系统AS的解释与问答

【重要公告】BSV区块链协会开始对Teranode节点软件进行技术测试

【重要公告】BSV区块链上线TypeScript SDK,未来将支持更多开发语言

2024年7篇

2023年24篇

2022年60篇

2021年40篇

2020年67篇

目录

目录

分类专栏

生态资讯

94篇

BSV工程师认证

9篇

官方活动

36篇

技术博客

23篇

BSV知识库

2篇

Craig S. Wright博客

10篇

BSV节点

17篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

BSV网络遭受双花攻击预警_腾讯新闻

BSV网络遭受双花攻击预警_腾讯新闻

BSV网络遭受双花攻击预警

根据官网消息,近日BSV网络遭受恶意攻击,造成多个区块重组,攻击者借此进行了双花攻击。知道创宇区块链安全实验室第一时间跟踪并预警:

针对此次攻击事件,比特币协会表示:“已经意识到最近针对比特币的非法区块重组攻击#BitcoinSV恶意行为者的网络。我们对任何非法活动采取零容忍态度,并正在积极采取法律行动”。

BSV 基础设施团队已确定与攻击相关的地址之一(1G47mSr3oANXMafVrR8UC4pzV7FEAzo3r9) 长期与勒索软件和其他对BTC、BCH和 BSV 链的攻击有关,因此恶意行为者从事的非法活动,其中也可能涉及 BTC 和 BCH,而不仅仅是 BSV 网络。

什么是「双花」问题?

「双花」(double spending),即双重支付,指的是在数字货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。

如果没有合适的机制,仅凭借协议是无法彻底解决双花问题的,用户无法验证是否自己所接收的资金没有同时在其他地方被支付。

安全提醒

实验室 在此提醒交易所及相关钱包方建议先暂停 BSV 充提业务,密切关注双花攻击带来的风险,必要时可请安全审计公司协助检测。

BCH分叉币BSV被曝"人人可双花",细数近些年来双花攻击方法与案例 - 知乎

BCH分叉币BSV被曝"人人可双花",细数近些年来双花攻击方法与案例 - 知乎切换模式写文章登录/注册BCH分叉币BSV被曝"人人可双花",细数近些年来双花攻击方法与案例huangyanliao三十年河东,三十年河西。这不,前两天风风火火的BSV还被人们戏称为"保险品",近日,就有消息称,BSV丝毫不安全,且人人都可双花。BSV双花视频发酵12月8日,一位名为Reizu的研究人员在Vimeo视频平台上发布了一个名为"Double-spending 0-conf POP! BSV"(双花零确认交易BSV)的视频。视频中,该操作者只用手机和不到12分钟,就为人们演示了如何使任何人都可以双花BSV代币。以此来提醒投资者BSV可能会出现双花(double spending)问题。所谓"双花"就是双重支付。在传统的金融和货币体系中,由于金钱货币是物理实体,具有客观唯一存在的属性,所以可以避免双重支付的情况。但是,随着互联网和电子货币系统的发展,支付本质上已经变成了一种记账的行为,这就可能出现双重支付的问题。另外,这位研究人员不仅发文表示BSV网络"非常中心化",甚至发文表示道自己已经进行了很多次双花。评论中有自称为是英国最大的证券经济公司之一的互动投资者密码分析师表示,"非常令人深刻,希望互相联系"。不过也有评论称,这是"粗糙的谎言"。对此,澳本聪(Craig S Wright)发布推特称:"我们可能需要对这些发布虚假声明的人采取法律行动。 这些关于零确认攻击的谎言在英国属于市场操纵。在英国发布虚假声明是重罪。"双花攻击的方式51%算力攻击,所谓51%攻击,就是使用算力作为竞争条件的特点,使用算力优势撤销自己已经发生的付款交易。如果有人掌握了50%以上的算力,他能够比其他人更快地找到开采区块需要的那个随机数,因此他实际上拥有了绝对哪个一区块的有效权利。上述视频中爆料者的做法并不属于"51%算力攻击",实际上,除了"51%算力攻击"之外,比特大师为大家总结了其它两种双花攻击。1.一个人同时向网络中发送两笔交易,一笔交易发给自己(为了提高攻击成功率,他给这笔交易增加足够的小费),一笔交易发给商家。由于发送给自己的交易中含有较高的费,会被矿工打包成区块的概率比较高。2.一个人挖到了一个区块(这个区块中包含一个交易 :A向B转10BTC,其中A和B都是自己的地址),他先不广播这个区块,先找一个愿意接受未确认交易的商家向他购买一个物品,向商家发一笔交易:A向C转10BTC,付款后向网络中广播刚刚挖到的区块,由于区块中包含一个向自己付款的交易,所以他实现了一次双花。以上两种攻击,只要收款方不接受0确认交易即可避免。但是,重要的是BSV一直以来宣扬就是0确认交易(0-conf transaction)。而0确认交易就是让交易卖家不等待该笔交易被区块链网络节点确认,即交付出售的东西。0确认交易是一种信任的标志,卖方必须相信买方在该笔交易被区块链中的其他节点记录前,不会再尝试将其持有的加密货币再花在其他地方。事实上,人们对于0确认交易是否可行的问题一直处于争论之中,虽然双花攻击成功的案例极其少见,但也并非没有。双花攻击案例今年5月底,就发生了比特币黄金BTG被双花攻击案例出现。攻击者预先准备了8000个BTG与大量可用算力,将BTG充入交易所,随后调用自己手中的算力开始私自挖矿。等充币成功之后,攻击者在交易所将BTG卖掉提款。但是在攻击者拥有的算力超过51%,可以对BTG区块链进行控制,攻击者的这条区块链变成BTG的新主链。随后,攻击者控制这条主链,排斥刚才自己往交易所充币的交易行为,使充币这个动作失效,8000BTG回到攻击者手中,但这时已经在交易所完成了套现。该攻击者在4天内重复进行了17次这样的攻击尝试,尝试"双花"了20.5万个BTG。而BTG也由于此次双花攻击损失了超过38万个BTG,按照当时的行情来算,价值超过1800万美元。双花问题是加密货币发展必须要避免的事情,BSV不久前刚分叉脱离BCH,若存在双花问题,势必影响其在币市的生存。这就需要澳本聪用实力证明BSV的安全性,保障用户的利益。本文首发微信公众号:bitonline发布于 2018-12-11 17:32案例方法​赞同​​添加评论​分享​喜欢​收藏​申请

认识比特币:图解什么是双花攻击 - 知乎

认识比特币:图解什么是双花攻击 - 知乎切换模式写文章登录/注册认识比特币:图解什么是双花攻击力场LC区块链本文来源于力场作者: 财神在上一节课当中,财神讲解了比特币的挖矿原理,并留下一个疑问:比特币矿工争夺到新区块记帐权后,会第一时间广播给相邻节点,但是网络传输是有一点点延迟的,如果有2个矿工同时挖到矿了,会发生什么神奇的事呢?答案是:比特币会进行暂时的分叉!如下图,就有红色和绿色的2个矿工几乎同时挖矿成功,并分别向周边节点广播区块。所有的矿工都会先后接收到2个区块高度一样的新区块,它们都是合理的。但是他们会以先收到的那个区块作为主链,后收到的作为候选链(或者叫分叉链)。这个时候比特币实际上是分成了红色和绿色这二个阵营的。如下图:(来源精通比特币)接下来会发生什么?假设这个时候,A自己选择在绿色阵营上进行挖矿……接着102号块又被某矿工挖到了,而且这个102的区块是指向了红色的链。A验证通过后接受现实(现实好残酷啊,又被人领先了),根据最长链优先原则(绿色最长101,红包最长102),A就会切换到红色的链。其它矿工做的都是同样的选择,在102号区块就重新统一了。有人问,如果红包阵营和绿色阵营又又同时挖到矿了呢? 那么分叉继续,将在103号再决高下。其实,像这样的主链临时分叉也是时有发生,但比特币比较少,因为出块时间长,平均10分钟才找到一个块,同时两个人找到的概率微乎其微。在出块时间更快的以太坊,EOS就越容易发生这样的临时性分叉,但是根据最长链优先原则很快就会自动纠正。双花攻击作为区块链的数字货币,最最重要的事情,便是要解决双花的攻击。双花攻击正如其字面意思一样,就是一笔钱可以花出去二次。如果这都可以,那整个区块链就无信任可言了。双花攻击要想确保一定成功,至少需要51%的算力,因此也叫51%算力攻击。它的原理就是利用了前面提到的比特币分叉。某作恶人在第101号区块的时候,将10个比特币充值到某交易所。一般交易所在第6个确认的时间就会认为已充值成功。这时作恶的人会赶紧卖出提现。但随后,作恶节点人还偷偷的构造了另一笔交易(只需要修改101号区块里面的交易信息)将充值的那10个比特币,收款人地址修改成给他的小号。他把这个恶意的块发给了其它的矿工(举例为红色那条链)这个时候,只要作恶节点在红色链上投入大量的算力,且算力大于51%,那他挖矿的速度肯定比小于49%的诚实节点要快,最终红色的那条链一定会超过黑色的链,其它诚实结节根据最长链优先原则又纷纷到红色链上继续挖矿,而黑色链之前发生的所有交易(其实只有其中那一笔交易是伪造的)就回滚了。这样,作恶节点人是不是把这10个比特币花费了二次呢?他即在交易所充值成功,又把比特币拿回去了,可恶啊!!! 交易所就白白损失了10个BTC。这基本上就是双花攻击的原理。当然,比特币史上还没有发生过51%攻击,目前想要攻击更加难上加难,因为全网算力太大了,想要控制51%算力除非大矿池之间合作,否则需要投入巨大的财力,但这不可能悄无声息的发生。这也体现了比特币的强安全性。历史上有趣的事像主链分叉的事情经常发生,有的人修改源代码,在某个区块高度进行分叉之后,便开始另一条链的开发了,这就是分叉币的由来。另外,也是解决重大漏洞的办法之一。历史上,比特币曾被黑客抓住漏洞制造出数十亿枚比特币,后来中本聪通过硬分叉废弃了那条主链。以太坊历史上也发生过攻击事件,当时最大的The DAO智能合约被黑客攻击盗走了大量的ETH,最后以太坊组织为了避免如此重大的悲剧采用了硬分叉回滚的方式,创建了另一条链。但同时有一部分人认为这显示违背了区块链的去中心化,坚持不硬分叉仍然在原来的链上开发,这便是ETC(以太经典)的由来,其实ETC才是原来的以太坊,只不过开发团队不是以太坊的团队。币安在今年曾被黑客盗走了7000枚比特币,曾有人建议赵长鹏联合大矿池,拥有绝对算力的情况下,可以采用软分叉的方式废弃原来的区块,但是后来币安还是没有这样做。在比特币早期,曾有过单个矿池算力接近50%的情况,但是矿工们主动从矿池撤离并转移到其它矿池,已达到平衡算力的目的。更多好文,详情情见力场APP发布于 2019-11-30 20:36虚拟货币​赞同 40​​8 条评论​分享​喜欢​收藏​申请

百度安全验证

百度安全验证

网络不给力,请稍后重试

返回首页

问题反馈

双花是什么?在区块链上发生双花攻击,有哪些可能的情况? - 知乎

双花是什么?在区块链上发生双花攻击,有哪些可能的情况? - 知乎首页知乎知学堂发现等你来答​切换模式登录/注册双花是什么?在区块链上发生双花攻击,有哪些可能的情况?原文:「双花」除了靠近期刷屏的51%攻击,还有这四种可能 近期受到51%攻击的区块链项目,基本都是分叉币,再加上都处于项目早期,缺乏算力与技术支持。 …显示全部 ​关注者2被浏览5,073关注问题​写回答​邀请回答​好问题​添加评论​分享​2 个回答默认排序牛牛区块链只要我躺平,镰刀就割不到我。关注我,看清币圈镰刀的丑恶面目!​ 关注比特币白皮书中,有过这样的表述:(The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes.)只要诚实计算节点在总体上比任何一个攻击群能控制更多的计算能力,那么系统就是安全的。它的意思是当系统中有合作关系的恶意节点(坏人)所控制的算力,超过诚实节点(好人)所控制的算力,系统就是有被攻击的风险。这种由恶意节点控制超过50%算力所发起的攻击,被称为51%算力攻击(双花攻击)。 所有的加密货币系统都有可能遭遇51%算力攻击吗?其实不然,因为只有基于PoW(工作量证明)共识机制的加密货币,才存在51%算力攻击。比如比特币、比特现金和目前阶段的以太坊等;而不是PoW共识算法的加密货币则不存在51%算力攻击,如基于DPoS(委托权益证明)共识机制的EOS、TRON等。如何发动51%攻击? 51%攻击是指掌握了比特币全网的51%算力之后,用这些算力来重新计算已经确认过的区块,使块链产生分叉并且获得利益的行为。51%算力攻击是如何做到双花的呢?双花的意思是一份"钱"花了两次甚至多次。假设我有666个比特币,用这些币向你购买一辆车,我把这些币支付的你同时,也把这些币发到了我自己的另一钱包地址上。发给你的那笔交易先被得到了确认,并打包在区块高度为N的区块内。这时,控制了超过50%算力的我,发起51%算力攻击。我通过重新组装第N个区块,将发给自己的那笔交易打包进区块里,并持续在这条链上延展区块,当我的攻击块链的长度超过你的块链2个区块时,所有的客户端将丢弃你的块链,接受我的块链。至此,51%攻击成功,你钱包里的666个比特币"不翼而飞"了,而我的666个比特币回来了,并且多了一辆车。 你以为当你拥有超过50%的算力,就可以为所欲为,什么坏事都可以做了吗?其实不然,即使控制了超过50%的算力,也不能转移其他人的币,因为这个操作是需要私钥进行签名。如果想伪造签名来“偷币”,这种行为是诚实的矿工所不能容忍的,这将颠覆系统共识。这种情况下,其他矿工将不会在他挖出的区块后继续拓展区块链,会主动分叉出合法的区块链,“偷币”矿工挖出的区块将被孤立。发布于 2022-07-25 14:49​赞同 3​​添加评论​分享​收藏​喜欢收起​知乎用户Jian Zheng, Huawei Huang*, Zibin Zheng, Song Guo, “Adaptive Double-Spending Attacks on PoW-based Blockchains”, IEEE Transactions on Dependable and Secure Computing (TDSC), 2023.近日,HuangLab 一篇区块链新型“双花攻击”的论文被期刊 IEEE Transactions on Dependable and Secure Computing (TDSC) 接收,该期刊是网络与信息安全领域 CCF-A 类期刊。论文下载地址:https://www.researchgate.net/publication/369982091_Adaptive_Double-Spending_Attacks_on_PoW-based_Blockchains本篇论文简介如下。一、研究背景与动机工作量证明(Proof-of-Work,PoW)是当前应用最为广泛的区块链公链共识,双花攻击则是PoW区块链面临的经典安全性挑战 [1]。以比特币为代表的PoW 区块链使用最长链原则判断主链。交易方通过交易上链后等待主链继续生成数个区块,以保证交易的安全性,因为在PoW区块链中以小于50%的算力持续生成一条比主链更长的分叉是非常困难的。而双花攻击的基础步骤是:攻击者首先向受害者发起一笔交易,然后生成并隐藏一条比主链更长的分支;当受害者认为交易已经在主链上完成时,攻击者释放隐藏的分支替代当前主链,实现对受害者交易的回滚,达成一笔交易的“双花”。尽管已经有很多研究讨论了双花攻击及其它各种分叉攻击变种的威胁和防御手段 [2-4],我们发现在特定条件下攻击者仍然可以利用双花攻击对 PoW 区块链的安全性产生威胁。本文展示了我们提出的两种双花攻击的变种——自适应双花攻击(Adaptive DSA)和强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA),旨在帮助 PoW 区块链社区对双花攻击威胁进行更好的分析与防范。图1. 双花攻击.二、本文贡献本文提出了自适应双花攻击(Adaptive DSA),通过随机动态变化(Stochastic Dynamic Programming)的办法,分析了攻击者对不同目标价值的交易可能采取的收益最大化策略。本文提出了强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA),考虑了攻击者利用区块链网络特征迷惑误导诚实矿工时,可能采取的收益最大化策略。本文通过代码模拟上述两种双花攻击,分析攻击者可能采取的攻击策略。实验表明,攻击者在使用本文提出的双花攻击方法可以将发动双花攻击的算力降低到远小于50%,在攻击者最理想的情况下仅需要全网5%的算力就可以保证期望收益为正。三、提出的新型双花攻击的简介 1. 核心思想虽然攻击者在算力少于50%时,难以持续生成比主链更长的支链,但受害者往往只会等待数个区块,也就是说攻击者在短时间内生成一条比主链更长的分支即可实现双花攻击。攻击者的收益包括生成受害者交易的金额和区块的出块奖励,那么攻击者可以根据受害者交易金额和当前隐藏分支出块情况进行动态决策,即自适应双花攻击(Adaptive DSA)。攻击者还可以更进一步,通过人为提前释放部分隐藏分支来分散诚实节点算力,即强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA)。2. 攻击流程2.1. 自适应双花攻击(Adaptive DSA)在自适应双花攻击中,攻击者根据目标交易金额b、隐藏分支当前区块数量i、主链当前区块数量j进行动态决策:继续攻击or放弃攻击。图2. 隐藏分支当前区块数量i为1,主链当前区块数量j 为5的情况.2.2. 强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA)强化自适应双花攻击是在自适应双花攻击的基础上,进一步考虑攻击者可以利用网络特征分散诚实矿工的算力。如图3所示,当攻击者占据全网算力比例为p,诚实矿工占据全网算力比例为q时,攻击者释放与主链等长分支,将会有部分诚实矿工被误导,选择跟随在攻击者的分支上继续进行挖矿,从而间接地加强了攻击者的算力,使双花攻击的算力比例阈值进一步降低。图3. 占据全网算力比例为p的攻击者释放与主链等长的分支时可能发生的诚实矿工算力转移.四、实验结果实验设置:本文使用 C++ 语言进行了文中两种双花攻击——自适应双花攻击(Adaptive DSA)和强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA)的simulation实验。我们使用了经典PoW区块链Bitcoin作为实验环境的相关参数设定参照。主要实验结果:我们首先测试了确认区块数量与攻击者收益的关系。如图4所示,对一笔价值200btc的交易,常规的6个确认区块只能对抗通常的双花攻击,并不能有效防御本文提出的两种双花攻击。图5展示了对于不同交易金额,抵御本文攻击所需要的最小确认区块数量。如图6所示,随着攻击者算力比例的增加,攻击者可以选择的交易逐渐增多。当攻击者算力比例超过30%时,选择对任意交易发动攻击都可以保证期望收益为正。图7展示了对于同样的交易金额,攻击者收益随出块奖励的减少而增加。结果表明,除了随着比特币等 PoW 区块链逐渐降低出块奖励,采用本文攻击方法的攻击者的收益将逐渐提高,这意味着本文提出的自适应双花攻击(Adaptive DSA)和强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA)将会对PoW区块链产生越来越大的威胁。图4. 对一笔价值200btc的交易,验证区块的数量与攻击者收益的关系.图5. 交易金额与保证安全的最小确认区块数量的关系.图6. 最小可攻击交易的金额和攻击者算力比例的关系.图7. 攻击者收益随出块奖励的变化.五、本文总结本文提出了两种针对PoW区块链的双花攻击——自适应双花攻击(Adaptive DSA)和强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA),旨在帮助 PoW 区块链社区对双花攻击威胁进行更好的分析与防范。攻击者在使用本文提出的双花攻击时,会对PoW 区块链的安全性造成严重威胁。实验表明,攻击者在使用本文提出的新型双花攻击的方法可以将发动双花攻击的算力降低到远小于50%。参考文献[1] Nakamoto S, Bitcoin A. A peer-to-peer electronic cash system[J]. Bitcoin.–URL: https://bitcoin. org/bitcoin. pdf, 2008, 4(2).[2] Garay J, Kiayias A, Leonardos N. The bitcoin backbone protocol: Analysis and applications[C]//Advances in Cryptology-EUROCRYPT 2015: 34th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, April 26-30, 2015, Proceedings, Part II. Berlin, Heidelberg: Springer Berlin Heidelberg, 2015: 281-310.[3] Eyal I, Sirer E G. Majority is not enough: Bitcoin mining is vulnerable[J]. Communications of the ACM, 2018, 61(7): 95-102.[4] Nayak K, Kumar S, Miller A, et al. Stubborn mining: Generalizing selfish mining and combining with an eclipse attack[C]//2016 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2016: 305-320.发布于 2023-04-14 00:09​赞同 1​​添加评论​分享​收藏​喜欢收起​​

BSV网络遭受双花攻击预警_区块

BSV网络遭受双花攻击预警_区块

新闻

体育

汽车

房产

旅游

教育

时尚

科技

财经

娱乐

更多

母婴

健康

历史

军事

美食

文化

星座

专题

游戏

搞笑

动漫

宠物

无障碍

关怀版

BSV网络遭受双花攻击预警

2021-07-12 15:30

来源:

链得得

原标题:BSV网络遭受双花攻击预警

根据官网消息,近日 BSV 网络遭受恶意攻击,造成多个区块重组,攻击者借此进行了双花攻击。知道创宇区块链安全实验室第一时间跟踪并预警:

针对此次攻击事件,比特币协会表示:“已经意识到最近针对比特币的非法区块重组攻击#BitcoinSV恶意行为者的网络。我们对任何非法活动采取零容忍态度,并正在积极采取法律行动”。

声明链接:

https://bitcoinassociation.net/bitcoin-association-statement-zero-tolerance-for-illegal-attacks-on-the-bitcoin-sv-network/

BSV 基础设施团队已确定与攻击相关的地址之一(1G47mSr3oANXMafVrR8UC4pzV7FEAzo3r9) 长期与勒索软件和其他对 BTC、BCH 和 BSV 链的攻击有关,因此恶意行为者从事的非法活动,其中也可能涉及 BTC 和 BCH,而不仅仅是 BSV 网络。

什么是「双花」问题?

「双花」(double spending),即双重支付,指的是在数字货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。

如果没有合适的机制,仅凭借协议是无法彻底解决双花问题的,用户无法验证是否自己所接收的资金没有同时在其他地方被支付。

安全提醒

实验室 在此提醒交易所及相关钱包方建议先暂停 BSV 充提业务,密切关注双花攻击带来的风险,必要时可请安全审计公司协助检测。

作者:创宇区块链安全实验室;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请联系微信:chaindd123。返回搜狐,查看更多 责任编辑:

平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。

阅读 ()

推荐阅读

2021.04 BSV 开发技术与工具概览 (v2) - 知乎

2021.04 BSV 开发技术与工具概览 (v2) - 知乎首发于Blockchain Thoughts切换模式写文章登录/注册2021.04 BSV 开发技术与工具概览 (v2)顾露​这是我在 2021-04-12 BSV Bootcamp 上关于 BSV 开发技术与工具的介绍,可看作是去年10月同主题演讲的升级版。2021.04 BSV 开发技术与工具概览 (v2)背景简介去年 10 月份,比特币协会在深圳主办了一次 BSV 的开发者活动。我本人在那次活动上做了一场名为 “BSV 开发工具和技术概览” 的分享,介绍了一些 BSV 开发相关的工具和技术。半年后,在今年 4 月,比特币协会在东澳岛主办了 BSV 的第一届训练营 (Bootcamp),我也接到了延续上一次的讲解 “BSV 开发工具和技术概览” 的任务,就在继承了框架的基础上,对分享的内容作了整理和更新。以下是分享的简略文字稿。大家好,我是顾露,是比元科技的创始人,也是小聪游戏的开发者,也是 Sensible Contract 的参与者,非常荣幸我们小聪游戏能协助比特币协会举办本次 Bootcamp 的活动。要是算上次在深圳的创新会的话,我们是第二次有机会作为协办方,跟比特币协会一起为开发者组织这样的线下活动,非常高兴。解释一下题目。半年前,我们做了一个这样的技术和工具的分享,但是因为更新很快,当时的分享包含了一些已经过时的内容,我就对内容作了适当的调整和优化,也增补了一些新出来的信息。(对这个调整版) 我给它升了个版本叫 2.0。如果有可能的话,我希望这个系列能够做下去,以便于及时淘汰掉一些不合适的内容,然后加进来一些更高质量的,我们认为对开发者更有帮助的内容。今天的内容框架大概是这样的:屏幕上左边的这一列是比较常规的思路,就是从协议,到工具,到服务 (数据服务,API服务等),到框架。就是构造一个 bitcoin 程序,需要的方方面面的开发资料和工具,以及如果想深入的话,理论知识需要从哪里获取。这是左边的常规提纲。然后在右边,我列了几个可能对开发者有所帮助的技术,来自几家独立的公司和团队,一个是 nChain,一个是 Xoken,一个是 Sensible。常规的工具和库白皮书好,现在我们进入第一个主题,协议部分。在上次分享技术概览的时候,我没有列出最重要的协议——就是所谓 “协议的协议” ,也就是比特币的白皮书。白皮书的重要性,可以说怎么强调都不过分,之前没重视这点是不对的。可能不少人觉得,白皮书没多少内容,像 POW,矿工网络,这些内容,都是大家已经滚瓜烂熟,天天都在聊的内容,好像没什么特殊的东西吧。但是其实白皮书挺深的,如果过一段时间,你读一次白皮书,发现自己读出了新东西,那说明对比特币的认知是有进步的。对比特币的白皮书,如果缺乏深入的理解的话,是非常制约在比特币上做开发,尤其是长期的工程化的实践了。前段时间我的好朋友蒋杰,闲聊的时候他问我,白皮书里有啥内容,你还记得不?我回想了一下,然后说了一些我觉得比较重要的点,他听完了以后,神秘一笑。但说实在的,其实我挺慌的。因为我发现,我并没有自己以为的那么理解白皮书的内容,更别说抽丝剥茧,理解背后的脉络了。(这里我们现场互动了一下,听了下几位观众对白皮书的理解)非常感谢两位同学的发言。那么我们来看白皮书最先引入,也是最先被讨论的概念,某种意义上对比特币系统来说最根本的概念,就是 交易。对,你没看错,既不是区块,也不是链,更不是矿工,挖矿,激励...而是交易。你就会问了,为什么是交易? 白皮书为什么上来就讨论交易?原因很简单,因为 交易,以及对交易的处理,就是比特币的核心目的。在那之后描述的链状签名只是一种实现机制, Alice 签了以后给 Bob, Bob 签了以后再给 Carl,依次往后传递... 也就是说,链状的签名只是它的一种软件实现。白皮书从交易谈起,说明它是符合 “第一性原理” 的。关于第一性原理,我来举个例子吧。什么是第一性原理?比如说马斯克造火箭对吧,他是什么思路,他一上来不是要改良现有的系统,不是说看现在的火箭是怎么造的,我怎么能优化一下,把哪个地方做得更好。他思考的第一步是什么?是组成火箭的原料有哪些,这个材料是否合理,是否可回收,这些都是非常根本的问题,决定了马斯克的火箭跟传统火箭有质的不同。按照这个思路,把问题一项一项往前推,倒推到根上去,从头开始分析这个问题,所以才能做到自底向上,从最小的碎片拼凑起来,最终形成的,是一个我们认为是突破常规的这样一个方案。这就是所谓第一性原理。就是你思考问题,不受已有框架的束缚,回到这个系统想要解决的根本问题上来,从根本出发,然后再去一步步构造你的系统。所以大家才会看到白皮书,觉得惊为天人,竟然构造了一个前人完全没想过的系统。它深刻地反映了第一性原理,从最根本的事物,这个系统要解决的问题,也就是交易本身出发。这是值得大家留意的。好,说完了作为核心的交易,我们来看第二层,也就是白皮书里提到的,或者说他引入的第二个被重点阐述的概念,是时间。那么 “时间” 对比特币系统为什么这么重要?这是因为 时间的自然流逝,才是比特币系统的内在的本质。利用这个时间的 不可逆 的特性,我们才有了区块链这样一个链状的数据结构。区块链每 10 分钟出一个块,最后形成一个链。它为什么很自然的形成一个链呢?因为它就是时间的表现。区块链是怎么来的?你沿着头部的创世区块往后看,就能发现,这个系统整体上是时间从物理世界到在数字世界的一种模拟,这个链条就是时间本身。其实就是无穷的,海量的,没有终结的交易序列,随着时间的流逝,逐渐凝结到一个接一个区块里,这样一个过程。而这个凝结的过程就是由所谓的 POW 来保证的。如果你明白这个时间对这个系统的意义的话,你忽然就能明白,为啥不仅仅是区块是按照时间顺序往后排的,而且忽然也能理解为什么我们要求区块里的交易也一定要是按照时间顺序依次排列。好,到这里,从白皮书第一个引入的概念 “交易”,我们往外推了一层,讲解了第二层 “时间”。大家注意,“交易”和“时间”这两个概念,已经可以把比特币这个系统给撑起来了。后面的若干层也是系统的重要组成部分,但是他们不是系统核心概念。接下来我们看白皮书的第三层,这是一个 P2P 的节点网络。那么 P2P 节点网络实际上已经被讨论得非常多了,因为大家关心矿工的行为,怎么去挖矿,获得收益,被系统设计的激励机制,然后怎么样让自己的算力更多,然后跟其他人竞争,以及在竞争当中为了保持收益,或者说扩大收益,他们要诚实,累积自己的信誉,等等。那么,这一部分内容是在说什么呢? P2P 网络也好,激励系统也好,诚实也好,是想表达什么意思呢?白皮书是在告诉你,这个系统的可增长性。它是通过设计了这样一个 P2P 的网络,以及附着其上的激励机制,来确保网络本身有足够的可成长性。不仅仅是在过去的初期,到了现在的中期,未来的长期,以及 2140 年甚至更久远的以后,系统以 P2P 网络的形式保持增长。白皮书对矿工网络的基本行为和激励机制都做了一定的描述,但是我们知道,不管是后来的矿工专门硬件也好,所谓小世界也好,都是系统不断演化的结果,未必是一开始完全规定好的,以后也必然会继续演化。比如说,系统激励如果降低的比较快,跟咱们预期的不一样,手续费没跟上,怎么办?如果以后人类能星际航行,行星之间的延时,怎么办?如果需要考虑,到时候戴森球上太阳挖矿,那怎么办呢?诸如此类的发展带来的问题,就需要在发展中解决,而系统作为一个整体,也得以在一次次解决问题的过程中一步步发展。这就是比特币这个系统里白皮书描述的第三层——P2P 节点网络以及所谓的激励机制。他们虽然重要,是系统的重要组成部分,但不是系统的核心概念,是系统关于增长性的一种设计和实现。好了,说完了白皮书的前三层,我们进入第四层。大家可以留意,我讲述的顺序是按照白皮书的原始讲述顺序。白皮书讲了由内及外的三层了之后,它的第四层是什么?是关于系统的可持续性的,也就是通过 “效率” 和 “优化” 来保证系统的可持续发展。这个可持续性,主要有三个方面:可以对它做磁盘空间的优化,丢弃掉一些东西。可以通过 SPV 来保证,即使交易量非常大了,也可以用很简单的硬件来验证,来确保交易的有效性。怎么去管理 utxo,也就是拆分 utxo 和合并 utxo。前不久还有一个优化是说把大量小的 utxo 合并起来,可以不收矿工费,这都是优化的一个体现。关于 utxo 结构可以多说两句,因为这个结构太精巧了。平常别人说区块链有独创性,实际上 utxo 结构才是真正精妙的设计,我们可以说对 utxo 的管理,才是比特币技术的非常令人惊叹的部分。很多后来的公链抛弃了 utxo 这个结构,具体怎么样我们也不评价,我们只能说,比特币的原始设计是非常优雅的。前面从内到外讲了四个层次之后,白皮书的最后,也就是最外的这一环,说到了用户体验,具体涉及两个方面,一个是隐私,一个是信任。隐私这块,通过刚才 aaron 讲的每次换地址,公私钥转换,等等,通过一些机制来确保隐私是友好的。对普通人来说,有很好的私密性,不用太担心自己付款被别人知道。当然想知道的时候,你也可以向别人证明自己交过这笔钱。而信任这块,就回到了白皮书一开始的摘要开头就说明的,设计这个系统,就是为了能够去掉信任第三方,可以降低所有交易的成本,这对用户体验是非常好的。我们每个人,作为个体,在面对非常大的信任实体的时候,是非常无力的,我们没有那么多的时间和资源去跟他们对抗。中本聪设计出来这样一个系统,使得我们作为一个普通的个体,有机会跟所有的庞然大物,平等地,无许可地,无法篡改地交易,这是一个非常重要的事情。某种意义上,这使得比特币系统从一个孤立的系统,成为一个建设更美好的人类社会的重要工具。在白皮书里,隐私和信任放在最后一部分讲,它是系统最外部的第五环,是关于用户体验的。好,梳理完白皮书的结构,现在我们放到一块,整体上看一下。白皮书就是分成这五个层次,从内向外,展示了整个系统的全貌。它深入浅出地在很短的篇幅内塞入了大量的信息,而且还说得异常清楚。这里,我们整体上梳理一下。首先它谈到了比特币系统的目的。从交易根本出发,是使用链状的签名来实现的。然后,白皮书描述了怎么实现这个东西,就是利用了时间的不可逆性,把交易源源不断的凝结到了区块里,这个过程由 POW 来保证。第三环,怎么样保证这个系统能持续增长,对应的方案是这样一个 P2P 的网络,对网络里边的积极的,诚实的节点,进行了有效的激励,能够让他们获得更多的收益,并为了获取更高的收益愿意去改进系统,这是一个成功的长期有效的激励。后面更外的两层,白皮书讲到了,怎么去优化系统,保证它即使在超大的规模下,甚至是亿万人使用的情况下,比特币系统仍然能够安全有效的工作;以及对用户的影响,也就是用户体验。好,这是我对白皮书的梳理,希望对各位开发者能有所启发。其他协议和工具好,现在我们开始白皮书之后的内容。协议协议这块,我列举了两类协议,第一类,是我曾在去年的 BSV 的线上研讨会里讲过的一篇应用层协议,那里对所有的应用层协议做了一个梳理。大家如果想知道更多的细节,可以去翻出去年的视频看,如果觉得视频一个小时太耽误时间,可以看我总结的一张脑图,大概 10 秒钟就可以看完,里边把所有应用层协议都列了。应用层协议非常重要,但因为时间有限,在这里我就不展开了。大家可以看到这里列了 B、C、D、BCAT 还有一些其他的协议。都是关于数据的存储和索引的。另外一类协议就是 metanet 相关的协议,这也非常重要。如果希望在比特币上做开发,metanet 是必须必须深入研究和考察的内容。其实坦率讲,我自己一开始也没有太重视这个东西,但是后来我发现它非常有用,它是一种粘合剂。你在 bitcoin 上设计的系统,写的合约也好,做的支付也好,当你发现它不能充分的表达你的意图的时候,就需要 metanet 来帮助你,帮助你修补这个系统的一些缺失结构,把它们填满,成为一个更好的产品。举个例子吧,我们设计的 token,狙击大作战的 OVTS,在现在还没有浏览器的情况下,我们怎么知道某一笔转账里这个余额是谁的呢?这一笔是谁的,是谁转给谁的,其实是看不出来的,因为典型的比特币交易有一个进来地址,出去的地址,你一看就知道这个是自己的,对吧,收到多少钱,一看就知道是自己的。但如果这些信息全部在合约里,需要你打开比特币脚本浏览器,自己把合约粘进去,然后找到数据段,然后往前数若干个偏移,然后再去把相关的信息提取出来,这个是非常痛苦的,一般人也是不可能去做这个。但用 metanet 就很容易解决这个问题,你每次一笔交易发生的时候,你就输出一个 metanet 的节点,就完事了。metanet 的节点里边你还可以存其他各种信息。就像你去买咖啡时人家给你的小条一样,你可以存上你任何想要的信息,他们都是一一对应的,而且 metanet 还会自动帮你维护版本。多么完美。这只是一个很小的例子。包括刚才 aaron 讲的视频流,不断付费,张三给李四打工,你可以想象一下,本身这个系统是无法自说明的,大家在这里那里签名提交,其实是个黑盒,其实从外面根本看不出来是发生了什么。但是如果你有个 metanet 节点,就可以更新它的状态,把这些状态同步更新到 metanet 的子节点里,对所有的人都是立刻链上可见的信息,这是非常友好的。所以,可能 metanet 的应用空间,远远比我原先预想的要广阔的多,之后我可能会再花更多的篇幅去深入讲这个问题,为了不耽误时间,我继续往后讲。这是两个入门的库,去年我也有讲,我推荐刚刚开始学习比特币的同学,从这两个库入手,可以做一些基本的操作,比如说创建私钥,然后给某个地址发交易。为什么用这两个库?因为他们有代码,如果不懂的话,你可以往里跟,然后一笔交易发出去有没有成功,到底是谁失败了?它里边的加密算法究竟是怎么做的,你都可以一步一步看出来,这样的话你一边做,一边就把比特币的系统从内到外的都了解了。而且他们有一个特点是非常有弹性,如果你不想了解的时候,你用他给你提供了很恰当的默认值,你不需要做什么事,就可以用最小的代价完成你要的功能。所以我推荐大部分没有接触过比特币的同学,可以从这两个库入手。当你更深入的时候,想希望了解比特币上合约的开发,推荐你了解一下 scrypt,看看他能做些什么。因为这次训练营我们有一天是 scrypt 的专场,这里我就不展开了,留给 scrypt 的同学,介绍他们的产品应该怎样使用。服务服务这块我列了三个,一个是旺仔的 MetaSV。刚才 aaron 也有讲,MetaSV 提供的一般的功能我就不细说了,就是查地址,查区块,查交易,通过 API 查各种你想查的区块链上的信息。我这里说一下 MetaSV 新发的一个功能叫 xpub 的监控。如果你有一个 HD 的钱包,可以把 HD 的 xpub 拿出来,利用 MetaSV 查看跟它关联的路径下的所有地址的余额。为什么 xpub 监控以及它对应的云钱包这么重要,之前据我所知好像没有人把它真正做好过,这个功能因为它非常难,他的难度比我们想的更难,需要你监控很多地址,而且这些地址可能是杂乱无章的,可能是跳跃性的,这个系统做到90分是没问题的,但是要想真正做好这个系统,要做到 95 分甚至 98 分,是要消耗巨量的资源来检查并做大量的优化。具体的我不再展开,如果再展开今天讲不完了。大家读一下旺仔在知乎上的文章,就对 xpub 监控更有了解,功能推荐大家试一下。还有 whatsonchain 还没讲,whatsonchain 为什么我们用它?因为有时候旺仔在更新系统用不了,就用 whatsonchain 来替代一下。其实我还用了另外一个服务叫 blockchair。 blockchair 跟 whatsonchain 的不同在于,whatsonchain 当前的这笔交易的输出,你是不知道他有没有被花的,他被谁花了你也不知道,在他网页上看不出来啥东西,而 blockchair 上你可以前后追索,还是非常方便的,所以我推荐大家什么都去了解一下,你会发现有些地方你被卡住了,然后在另一个工具里其实很简单,可能就点点鼠标就完成了。最后一个API,是我们蒋杰同学实现的 Sensible API。它是专门针对于 Sensible 上面的这个 FT 也好, NFT 也好,还有其他日后我们做的所有的扩展,都可以用这个 API 来快速的进行查询。 如果应用支持Sensible 的话,可以直接调这个API 为你的服务提供支持,不用再重新自己去区块里交易里去分析,能省很多事。框架接下来是更大一点的框架,我列了三个框架,是我在开发当中觉得比较好的三样东西。runonbitcoin 是一个在跑在比特币上的二层的 JavaScript 虚拟机,实际上方便了很多不太想去接触一层脚本开发的同学,因为总有这样的需求。我们不是说所有事情都需要在矿工共识矿工这一层共识来完成,一定有那么一些有意思的东西是通过典型的 JavaScript 脚本,甚至是,我之前说的 Lua 的 OperateBSV 那样在二层来实现的,甚至我自己还想搞一个 Python 的,因为这是实际开发者会面对的需求,你想如果你有一个 Python 的虚拟机跑在比特币上,你现有的 Python 代码不需要做太大的改动,就能运行在比特币上,这是一件很酷的事情,对吧?然后第二个是 MetaID。MetaID 在周三的时候会有一整天的时间讲,这里我也不展开了。然后 Sensible Contract 我也不展开了,因为周四的时候大家会深入了解 Sensible Contract 也就是感应合约的相关信息。他们这三个的共同点,就是他们不是为某一个特殊的应用场景设计的,他们是为一个更通用的目标,也就是帮助大家做各种不同类型的 APP 来服务的,是框架性的,相对通用的,三个我认为值得大家了解的东西。接下来是理论这块,如果你从开发上升一层,希望了解更深入的比特币内在机制,也就是这么做背后的原因。咱们刚刚说白皮书里不是有5层,他是这样设计没错,但是他为什么要这么设计呢?那么如果你想弄清楚的话,你可以看一下 Craig 的 blog 和 Youtube 上搜 Theory of bitcoin,就可以看到比特币背后的理论性的知识。好,左边的5列就是常规的介绍,已经说完了。在右边我挑了三个技术,同大家分享一下,对一个单独的技术点,我提取了哪些信息,希望这些信息能够帮助到你们。先来讲 nChain 的技术。专门技术nChain Tech其实 nChain 的技术刚刚 aaron 已经讲了很多了,把我想基本上讲的差不多了。那就以我的方式复述一下。第一个 MAPI 我认为它最重要的两点,一个就是可以去矿工那里查费用,你可以去矿工那里查实时的真正的现在网络上能够被接受的费用,你甚至可以一直查,有时矿工会高一些,有时候矿工会低一些,甚至有时候矿工明明说自己只接受 0.5 的,但它实际上接受 0.2 甚至更低。有时他说自己能接受 0.2 的,但实际上只能接受0.5的或者更高,这都是有可能发生的。这是它的第一个功能,去查网络上的真实费率。第二个功能是交易提交,交易提交功能分为两种,一个是单个交易提交,一个是批量交易提交。我个人觉得,从矿工这里,如果你批量交易提交的话会更管用一些,因为大家都可以在上面做优化。但是我们其实没没有太用好这个功能,我们自己也需要研究,怎么样去把它给用的更好,因为我们经常有时候还发现一些奇怪的情况,这就不细说了,这里面有些坑,感兴趣的同学可以私下找我聊。接下来是 SPV。SPV 是对一笔交易的快速验证,你不需要下载所有区块链上的信息,就能快速对它验证,也是对你想要花的那笔钱的快速验证。它分为两个方面,一个是人家给你付了人家付的钱,你付钱的那笔交易你能验证,第二个是人家想付的那笔钱,确切的说,那一笔 utxo 是否来自于一个有效的交易,这笔交易可以快速在区块链上验证。这个场景对应的是刚才说到 bip270 里,人家来咖啡馆买一杯咖啡,你拿到了一笔人家签名的交易,凭什么就是相信对方给的是有效的 utxo,就会去拿着它的 utxo 找到它的前序交易,用 SPV 验证一下,看看这个交易是不是有效的,如果它的前序交易是有效的,我们就认为它交易本身是有效的,所以 SPV 还可以用在这个地方,是一体两面的,一个是交易前的,一个是交易后的。SPV 很好,大家都知道很好,它节省大量资源,但是它也有不好的地方,这里我提一下。SPV 不好的地方在于它需要区块的支持,需要区块支持的意思就是只有入块了才有默克尔根,你才能去做 SPV 验证。比如说刚才那个场景,你需要检查一个 utxo 是否有效,那么找到它来源的交易还没入块,就只能继续往前追索,假设这个人就是来要搞破坏,他搞无穷多个子孙交易,然后对你来说其实是非常大的困扰。这是 SPV 目前的一个限制,它只能对已经入块产生了默克尔根的东西来验证它的有效性。好,这是 SPV 我提到的它的两个特点和一个不足,当然不足可能也是一个特性,需要区块支持。那么第三个是 nakasendo 的门限签名,相关的技术可以了解一下,如果不了解,你可能不会知道他可能会用在哪些地方。你了解他之后,就会发现好像自己需要这么个东西,就是这样一个神奇的东西。它跟metanet一样,你不了解你会觉得它就是个偏门技术,了解了就会发现它的通用性比你想的更大,可能用在很多地方,这里就不展开说了。这是去年10月份的时候,我分享时的一页 PPT 上我写了 SPV Channels,也就是所谓 SPV 通道,是依托于矿工网络的高效 P2P 通信,这个信息是不准确的。我讲完以后,那个礼拜,老刘找到我说,不对,我看了SPV Channels 不是基于矿工网络的,它是一个中心化的服务器。这里非常抱歉,所以在这里我给大家专门注明一下,我当时提供了一个错误的信息,非常抱歉。我给大家跟老刘鞠一个躬,非常感谢老刘指出问题。真实的 SPV Channels 是这样的,你可以看到,下面的几个特性仍然保留,但是最重要的,我当时认为是非常重要的,“通过矿工网络来传播” 这个特性,其实是没有的,它是一个非常典型的,中心化的消息业务服务。可以这么说,它就是一个像QQ聊天服务器一样的东西。本质上,我们说它就是一个中心化的东西。这是一个修正。但是,此处有反转。昨天晚上跟哲明大哥交流了一下,哲明大哥告诉我,TouchStone,这个是打点钱包的一个开源项目。这个项目里提供了我想要的东西,真正依托于矿工网络的P2P的点对点的加密通信,这个事情是可以做成非常大的一件事情,可以被用于很多方面。因为我也是刚了解到这一点,只是听说,还没动手试试,所以我也不敢说太多,以免下次又要鞠躬。但是我推荐大家了解一下。Xoken Tech好。说完 nChain 的这一部分,我来讲一下 xoken。xoken 是我偶然间了解到的,为什么我会对他产生兴趣,因为我们都知道 nChain 有一个非常厉害的项目叫 TeraNode,但因为释放出来的信息很少,我们其实并不知道 TeraNode 的实现细节,但是我们可以通过跟 TeraNode 竞争的另外一个,也就是非官方的超大区块处理项目,来侧面的了解他们做了些什么。据我所知,这两个东西,提供的最核心的价值,就是大规模的分布式的并行的交易处理,也就是说把对交易的处理给彻底的打散了,又不像我们比特币的原始的处理方式是在一个系统内部处理,而是把它分散成为一个更现代化的系统,不在一个实例里,不好意思,我终于想到那个词了,不在一个 instance 里面处理,而是分散到多个服务,多个物理服务,多个逻辑服务上去做真正的现代意义上的比特币服务了,这是我认为他们带来的最大意义。Xoken 的核心技术是 TMT。Transpose Merkle Tree。它是啥意思呢?它是把默克尔树的中间的缓存的节点,默克尔树中间不是有很多层,从底下交易往上一层一层验证,最后到默克尔根,他把中间的这些缓存节点通过转置,使得你从叶节点到根节点的遍历直接就包含了相关的默克尔证明。所有的原始交易,和最后的默克尔根,仍然保持在他们原来的位置上不变,但是中间已经预处理了一遍了。那么通过对默克尔树的中间节点做预处理,并且存到一个 Graph DB 里边去,它有什么好处呢?它能降低你处理 T 级区块的内存占用,按照他们的广告词,据说树莓派也能处理 T 级区块了,当然它可能处理得很慢,但是它能处理,因为它内存的需求降下来了,可以变成一个流式的处理。这是它的一个组件,是刚刚讲的 NEXA。可以看到我列了几个它的特性,比如说它的 Grape DB 是天生适合用来存 TMT 的。然后他为什么用了 Haskell,因为这个东西的惰性求值,使得它对流式处理非常友好。接下来是 VEGA,这是它的一个比较核心的内部技术,刚才说的 NEXA 是它的外部技术,而 VEGA 是它的内部技术,它做了完全的分布式的交易处理。下面的英文就不细说了,但是从上面我提取的关键词,可以知道它是针对比特币在大规模的交易处理下的一些优化。其中他提到几个点,当发生重组的时候,就是 re-org 的时候,它能够瞬间切换。然后他有一个分片技术又有广告嫌疑了,sharding done right,号称是实现了正确的分片。在比特币系统上,针对比特币的结构来做的分片,还有刚说的 TMT,都是值得一看的技术。大家感兴趣的话,可以自己去他的官网上看,它提供的资料有限,但是它是开源的,但是代码是 Haskell 的。好,那么回到 Xoken,为什么我关心这个事情?因为它是我所见到的第一个,就是真正的针对大规模交易处理的解决方案。它就是典型的从 “第一性原理” 出发,我就去想怎么处理交易本身,怎样才能有效处理超大规模的交易,别的不管。我管你是用什么实现的,你是用什么默克尔,或者是什么其他数据结构,我不管,怎么样能大量地快速处理比特币交易,才是我唯一关心的。这是从第一性出发来解决问题的,这是一个很好的案例。你看,他就呼应了我们之前说的白皮书。交易,才是比特币的核心目的,不要被其他的干扰了。它的物理存储也好,它是拿什么存的,拓扑结构也好,它是怎么实现的,用了什么数据结构,用了哪个语言,这都不重要,这些全都不重要。Sensible Tech好,最后我来讲一下感应合约。因为周四我们会讲感应合约内部的东西,这里我只是简单讲一下 Sensible 的特点,即使你对它的内部实现不感兴趣,你可能对它表现出来的一些外部特性会感兴趣,方便你了解一下。总得说来,感应合约有4个小特点,第一个特点是,完整的交易合约的逻辑封装在里面。它外部依赖的签名器是没有状态的,它的状态都是靠 contract 来传递的。没有,也不需要第三方的认证,实际上是有别于目前已有的其他这些方案的。第二个特点,full featured contract data payload。就是说他通过 contract 可以来携带需要的信息,不需要去你再去其他地方拼凑信息了,这些信息可以验证,不需要用 op-return 来做这件事。当然你可以用 op-return 来辅助它来做一些事情,但是这不是必须的。其实技术上讲不是这样,我这里说的 op-return 是指一个独立的 op-return 输出。第三点,它是完全去中心化的,是由矿工来验证,不需要一个鉴权者,也不需要一个验证者。第四点,它是使用比特币的特性来实现的,我们叫它 "bitcoinic",就像 python 的方式我们叫 pythonic 那样,它是跟 metanet 能够非常良好的匹配的。而且它是跟比特币一样支持 SPV 的。应该这么说,它没有比比特币做得更多,也没有比特币做得更少,它只是跟比特币保持一样。好,这是它的4个小特点,更多的特点,如果你感兴趣的话,周四可以听我们讲,或者是看官网上的介绍都可以。获得上面这四个好处,要付出两点代价。第一个是,需要一个外部的极小化的签名器,来对一些重要的字段做签名,这是一个外部服务。虽然这个服务非常小,可以做到任何地方,包括钱包,或者是其他任何地方,但是确实需要这样一个东西。以前我们曾说,是不是能够通过改 PreImage 来去掉这个东西,因为如果 PreImage 把这个字段加上了,就不需要签名器再去生成了。但是修改 PreImage,这个是牵涉面非常广,我们也并不是说打算靠嘴推动,天天把精力都花在怎么游说别人这件事上,我们更希望它这个系统本身,不管你升不升级,它都能很好的工作。之前说要修改 PreImage,造成了很大的误解。因为我被问到的最多的问题,就是,听说你们这个玩意要改协议,大动静,要把别人房子拆了,回答了几次了之后,我也不知道该怎么回应才是有效。那么今天我可以明确地说一下,实际上我们不会去提改 PreImage 这个方案,简单说我们就暂时不考虑这个选项。这是它第一个代价,需要一个外部的小的签名器。第二个代价就是,由于它的逻辑是在合约中实现的,导致它比那些需要在外部去维护一个 utxo 集,或者说维护其他的状态和做一些其他事情,比如说鉴权,校验等等外部功能,它的脚本尺寸要更大一些,为什么?这个很好理解,因为我们的关键业务逻辑是在脚本里做的,而别人是在链外做的,那么代码尺寸自然会有一些区别。那么具体大到什么程度呢?其实也不是很大,因为我们一开始没意识到尺寸问题,就写得有点奔放,但是后来经过优化,我们的一个 FT 的输出,现在是 8k。然后我们狙击大作战前两天上了新的合约版,在中午12点的时候会给大家结算,这些结算单笔交易会产生 100 个输出,每个输出 8k 然后加起来就是 800k,听起来其实也还好,毕竟一次性处理一百个人 0.8 兆。我们还会继续优化,我们也知道 scrypt 实际上是有很多空间是可以优化的。我们一起努力,把尺寸变得更小。小到什么程度,小到你把逻辑放在合约里,你也不会觉得有什么心理负担,要小到这个程度才行。好,这是感应合约的两个不足。这些 BCP 是我们基于感应合约开发的一些,我们认为可以直接对标以太坊上的一些协议。这样做的话,大家都能省力一些。每个相关的参与方,都可以直接用这个来实现自己要的功能,同样的接口,同样的操作,能极大地降低成本。这个事情我们还在推进之中,之后还会加入更多的 BCP,但是我们加这个东西要谨慎,要维护一个良好的,正交的,解耦合的状态,不能说是到最后成了一团乱麻,然后 A 引用 B,B 引用 C,到最后自己也分不清。最好是每一个都是彼此独立的,正交的,每一个都能独自发挥有效的作用。从官方的宣传材料里得到的信息,也就是右边列出来的部分,这种对智能合约的叙事是我认为说的比较准确的,"automation of agreements with easily definable transaction step"。是什么意思呢?就是说,合约的本质,是一种关于契约或者说约定的自动化,是怎么自动化的呢?通过比较容易被定义的多个交易步骤,连起来说就是 “通过 (容易被定义的) 多个交易步骤来实现的契约自动化”。BCP 是符合这个定义的。我们希望把一些双方达成的协议,形成一个固定格式的交易模板。你看到的左边的 BCP 123 等就是模板。之后还会有更多的模板,就好像去豆丁网上搜 “某某某合同模板” 一样的。我们会形成越来越多这样的模板,这样的话以后就不用自己,从头开始写一个合同,直接拿模板,把合同金额和银行改一下就完事了。当然了可能要审查一下。好,这是我们认为的 BCP 的目标是什么,也就是给大家提供尽可能方便的可以直接用的合同模板。好,这差不多是我今天的全部内容。还有一些没有列出来的技术,其实也是非常有价值的,我们希望这个是一个系列,以后会有一个迭代。Take Away最后还有一页 Take Away 这一页不用细看,是我刚刚讲的所有的内容的一个回顾,一个快速查阅的脑图,可以当作弊条看一眼。好,今天的分享就到这里,谢谢大家。问答环节(主持人) 好,不知道大家有多少人看过顾露的 1.0 版本的演讲,在我们 B 站上,稍后我们同事会发到群里面去,然后看到顾露真的是说是程序员 2.0 就是 2.0,1.0 里的很多内容都没有讲,2.0 这个里面基本上都是全新的内容。我们离午饭还有一点点的时间,如果大家有问题的话请举手。Sensible 与以太坊的合约对比 刚才您提到 Sensible 的合约有一些代价。对,Sensible 合约跟以太坊上的合约的差异还有优势在哪里? 这是一个大问题。简单说它 (Sensible Contract) 试图使得比特币的脚本拥有更多的能力,不是瞄着以太坊去的。之前跟别人解释过,从本质上讲,以太坊的计算模型跟比特币是有差异的。以太坊是一个全球中心的计算机,所有的机器都是计算机的一部分,而比特币的原始设计,还是第一性原则,它是处理交易的,它根本不是用来提供什么计算的,计算只是它提供的一个附加的组件。所以比特币的设计是分散的,utxo 是分散的,每一个 utxo 理论上跟其他 utxo 不应该有太多的关联,这跟以太网是完全两个思路。(打比方的话) 一个是单核单进程,一个是微服务多进程。 对,我其实以前也做过那种并发处理,其实对于我们这些对理论不是那么了解的人,可能他更多想知道的就是在哪一些应用可以把它比特币化,比如说以太坊上一些应用可以把它比特币化,或者说哪些又不能比特币化,这个是我们很想知道的一个。 对,这个问题非常好。这个问题我谈一下我自己的理解,可能是非常初级的。哪些应用能被比特币化?为什么我们会有这个问题?是因为我们比任何人都希望以太坊上的应用在比特币上,不仅能做,而且能做得更好。但是我想说的是,在以太坊上大量的已有的应用,他们经历过大量的迭代。这些迭代不仅是有针对用户体验的,针对功能的,更多的有一部分迭代,目标是使它更匹配以太坊计算模型。你现在只有单核,你就尽量想好怎么样用单核的特性,用好单核,这就会导致你的程序更难被多线程化,这很容易理解,对吧。这会导致一个趋势——在以太坊上越成熟越完备,越适应以太坊的东西,反而越难以被移植到基于 utxo 的系统。不是说它不可能,当然可能了,也可以做到,但是会发现,对于一个非常适配以太坊模型的应用,把它迁移到 utxo 上,会花费比你针对 utxo 去设计一个 utxo 友好的这样一个系统,要花费更多的心力。当以后 scrypt 足够成熟 Sensible 也足够成熟的时候,也许我们会提供一个东西让你相对无痛的转过来,但是这种无痛的转换,背后是有代价的。比如说那天 Angus 就问了一个这个问题,swap 从以太坊上转过来会有问题。人家以太网上你只管给他交易发,然后它自动就线性处理了。到了比特币上了以后,有一个 utxo 专门来维护所有的状态,岂不是大家都要指着这个 utxo,你用完了给我,我用完给他,这个东西谁能保证有那么高的实时性,如果成千上万人参加的话,大家一顿猛提,那整个系统不就各种卡死,这就是一个很重要的,这是一个非常好的问题。然后我当时给他回复,还是之前老刘的观点,就是说,比特币它的目的,不是在于比你专门设计一个系统要表现的更好,它不是这样,他的目标是给你提供更多的选择。比如说你可以由开发这个功能的主体,由他去管理 utxo 我就是做 swap 的人,你们的 swap 需求都提给我,我来负责,哪怕再多的人,10万人,我也会把它 stream 到一个 tx 序列里面去,我来把这个事情处理的很好,这是一种方案了。但是这种方案你会说,你这个中心化,都是你来搞,你不搞怎么办?人家以太坊上都是去中心化的,你会有这样的疑问。那么这种情况怎么办呢?我们可以退一步,不要由我作为一个主体,我来操心所有的细节。我挂了所有人都挂了,而是交给像旺仔这样的通用数据,大家都去他那儿获取有效的 utxo 获取到了你就 swap 成功,获取不到你就 swap 不成功,获取到过时了的,那是你自己获取的问题,自己想办法解决就好。这样的话,你就可以通过多个数据访问商来实现这个功能,实现了一点点的去中心化,但是牺牲了一点点实时性,因为所有的交易都来你这儿的话,你可以对它做很好的优化,因为大家都从你这儿过,你有这个队列你可以对它做很多优化,但是使用一个通用的服务,你就只能只依赖通用的服务了。当然了,后来我又补充了一句,我说你依赖通用服务也没关系,因为你依赖这样的通用服务其实是还好的,因为旺仔会做大量的优化,确保它的DB和它的区块链状态是高度同步的。你不用太担心 utxo不够及时,因为他 (旺仔) 的优化搞不好比你自己优化的好,因为人家就是就是干这个的。他能保证他的 DB 跟区块链能够尽可能小的延迟。所以你其实只牺牲了一点点延迟,换来了一点点去中心化,你也可以牺牲更多的延时,然后换来更多的去中心化,在比特币上你永远有选择。这是老刘给我的最大的启发,就是在比特币上你永远有这样的选择。在去中心化和高效处理之间,按照你自己的需求,定制出来一个平衡的方案。这就是我想说的,就是你可以选择从以太坊上迁移,但是这取决于你愿意怎么去做 (trade-off)。顾露 (Gu Lu) 于免成居时间: 2021-04-29编号: Bt-008-2104内容协议: Creative Commons BY-NC-ND 4.0永久链接: https://gulu-dev.com/post/2021/2021-04-29-bsv-tech-and-tool-v2(全文完)发布于 2021-04-30 16:29开发者比特币 (Bitcoin)开发工具​赞同 6​​2 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录Blockchain Thoughts区块链相关的思考