Blockchain-network-survey

A Survey on Blockchain Technology and itsSecurity

文章贡献:

(1)对各种共识算法进行了分析与比较,并介绍了区块链的密码学基础;

(2)介绍了智能合约及其安全性的丰富信息;

(3)探索了区块链技术的广泛应用,包括但不限于不同的加密货币;

(4)对区块链本身的安全风险、真实攻击和最近的安全措施进行了全面的分析;

(5)总结了面临的挑战和研究趋势。

共识算法

  • POW(Proof of Work)。节点们猜随机数,谁先猜中,谁就获得一些加密货币。但需要消耗大量电力与时间。
  • POS(Proof of Stake)。节点们拿出自己所持有的Stake,当节点被选中时,就会收到一笔费用。如果选中的节点添加无效块,那么就会失去其Stake。
  • Delegated Proof-of-Stake (DPoS)。节点会将自己的Stake给它信任的人,最后由这些人验证交易。DPoS中的节点可以通过投票来要求谁去挖掘新的块。
  • PoET(Proof of Elapsed Time)。节点在SGX上选取随机时间,选取时间最短的节点负责产生新块。
  • PBFT(Practical Byzantine Fault Tolerant )。假设恶意节点不超过1/3,区块链就可以达成一致。
  • DAG(Directed Acyclic Graph)。交易连接到另一个交易上,构成DAG。节点提交交易时,需要局部pow操作。

智能合约(链码)

区块链密码学

 公私钥、零知识证明、哈希函数(merkle树)。

 Pay to Public Key Hash(P2PKH)。

区块链应用

区块链的安全性

image-20230425181745169

Survey on Blockchain Networking: Context, State-of-the-Art, Challenges

1
2
3
4
1. 近期顶会论文
2. 主题是什么?为什么很重要?有什么挑战?
3. 描述与总结解决方案,并列出优缺点
4. 开放问题,有什么没解决的问题?

区块链网络中块传播的相关研究-开题报告

 区块链是一个由分布式节点共同管理的账本,它允许互不信任的实体在没有可信第三方的条件下进行合作。由于区块链天然具有不可变性、匿名性等优点,因此它被广泛使用。在区块链的相关研究中,区块链网络是其中的一个重要方向。例如,区块的传播需要单播与组播服务;矿工节点之间的通信需要P2P网络连接等。研究表明[1, 2, 3, 4],区块链网络与区块链的可扩展性、安全性和隐私性息息相关,并且高效的区块链网络能够使区块链提供更快的交易速度。

image-20230426133855548

图1. 优化的区块链网络(黄色)与传统P2P网络(灰色)块传播时间的对比图[5]。

 由于区块链网络与传统通信网络有着显著差异,我们不能简单的将传统网络的方法论套用在区块链网络上。例如:区块链网络可能更强调匿名性;在区块传播过程中,可能需要更加频繁的同步区块链当前的状态;区块链网络的任意节点都可能是恶意的。因此,给区块链设计合理高效的网络是困难的。区块链中,块(Block)是一个包含多个交易(Transaction)的数据结构,块的顺序在一定程度上决定了交易的顺序。在区块链网络的设计中,为了使得每个节点都持有相同的账本副本,我们需要考虑节点如何高效的传播块,安全的产生块。

image-20230426134816397

图2. 区块链的组织结构以及区块具体细节示意图[6]。

 首先,我们想让块得到高效的传播,这会极大降低块传播的延迟。想象节点之间都是传播完整的块,那么如果接收方内存中存储块中某些交易的信息,那么传播的信息就是冗余的,从而增大块的传播延迟。延迟的块可能导致分叉,基于网络中信息传播率的测量[7],网络中的传播延迟是区块链分叉的主要原因。

 经过调研,现在的研究大多使用压缩块编码(Compressed Block Encoding)的思想,来使块得到高效的传播。Xtreme thinblocks (XThin) [8] 使用布隆过滤器(Bloom Filter)对节点内存中的交易ID进行编码,最后使得节点只需交换块中缺失的交易即可。Compact blocks[9] 则将交易ID缩短至6字节,从而有效降低块的大小,且它借用了Xtreme thinblocks的思想,节点之间也只需交换缺失的交易。Graphene[10] 则是借助布隆过滤器与可逆布隆查找表(IBLTs:Invertible Bloom Lookup Tables ),通过增加发送方的缺失交易ID误报,来缩小其保存的布隆过滤器的大小,并使用 IBLT 更正接收方中的缺失交易ID误报。与Compact blocks相比,Graphene的性能更优。与Xtreme thinblocks相比,Graphene的所需存储与带宽更小。

表1:不同压缩块编码之间的对比

压缩协议 概率性算法/确定性算法 描述
XThin Tschipper [2019] 概率性算法 传播带有 8 字节交易 ID 和使用布隆过滤器预测的缺失交易的 Thinblock
Compact Corallo [2016] 概率性算法 传播携带 6 字节交易 ID 的 cmpctblock
Graphene Ozisik et al. [2019] 概率性算法 布隆过滤器和 IBLT 被传播到接收者,然后接收者生成另一个 IBLT 来重建新块

 其次,我们想安全的产生块。区块链产生块的流程如下:首先,特定节点收集新产生的交易,产生一个块模板,并将模板头发送给矿工节点;之后,矿工节点通过某种共识机制(例如POW)产生新块,并发送回特定节点;最后,特定节点将新块发送到网络中,并奖励产生新块的矿工节点。而在实际应用中,Stratum[11,12]是基于区块链使用的挖掘通信协议,它使矿工能够高效地进行上述工作。但是,Stratum存在诸多安全性隐患。

image-20230426140013200

图3. Stratum协议中的消息流。上图在 TCP 连接上运行,下图在 TLS 会话上运行[13]。

 经过调研,Stratum方案存在缺乏加密、缺乏完整性验证等问题。Recabarren[14]利用Stratum缺乏加密的特点,对Stratum进行攻击。其通过秘密修改TCP数据包,来劫持由矿工节点提交的新块。[15]则实现了对Stratum的另一种攻击,其利用Stratum缺乏完整性验证的特点,通过伪造产生新块的证据,使得攻击者只需块的证据,而不提供块本身,就可证明自己挖掘到了新块。

image-20230426140329963

图4. Recabarren的攻击示意图[14]。

 区块链的性能取决于块传播的效率,因此,在尽可能减少带宽浪费的同时,我们应该尽可能快地传播新生成的数据块。同时,系统设计不能放弃安全性,所使用的协议必须确保块中包含有效的交易。在之后的研究中,在保证安全性的前提下,如何加速块的传播仍是一个重要的课题,我们仍相信块的传播有更加高效的方案。这也许需要在速度与安全两方面做权衡,但这也是科研的艺术所在。

参考文献:

[1] Christian Decker and Roger Wattenhofer. 2013. Information propagation in the bitcoin network. InProc. IEEE P2P Conference. IEEE, 1–10.

[2] Uri Klarman, Soumya Basu, Aleksandar Kuzmanovic, and Emin Gün Sirer. 2018. bloxroute: A scalable trustless blockchain distribution network whitepaper. IEEE Internet of Things Journal (2018).

[3] Arthur Gervais, Ghassan O Karame, Karl Wüst, Vasileios Glykantzis, Hubert Ritzdorf, and Srdjan Capkun. 2016. On the security and performance of proof of work blockchains. In Proc. of the 2016 ACM SIGSAC conference on computer and communications security.

[4] Arthur Gervais, Srdjan Capkun, Ghassan O Karame, and Damian Gruber. 2014. On the privacy provisions of bloom filters in lightweight bitcoin clients. In Proceedings of the 30th Annual Computer Security Applications Conference. 326–335.

[5] https://medium.com/@peter_r/towards-massive-on-chain-scaling-block-propagation-results-with-xthin-a0f1e3c23919

[6] A Comparative Analysis on Volatility and Scalability Properties(https://arxiv.org/pdf/2303.17643)

[7] Christian Decker and Roger Wattenhofer. 2013. Information propagation in the bitcoin network. InProc. IEEE P2P Conference. IEEE, 1–10.

[8] Peter Tschipper. 2016. BUIP010: Xtreme Thinblocks. In Bitcoin Forum (1 January 2016). https://bitco. in/forum/threads/buip010-passed-xtreme-thinblocks, Vol. 774.

[9] Bitcoin Improvement Proposals Compact Block Relay. https://github.com/bitcoin/bips/blob/ master/bip-0152.mediawiki. Accessed: 2019-09-23.

[10] A Pinar Ozisik, Gavin Andresen, Brian N Levine, Darren Tapp, George Bissias, and Sunny Katkuri. 2019. Graphene: efficient interactive set reconciliation applied to blockchain propagation. In Proceedings of the ACM Special Interest Group on Data Communication. 303–317.

[11] Bitcoin Inc. 2015. Stratum Mining Protocol. https://en.bitcoin.it/wiki/Stratum_mining_protocol

[12] Slush Pool. 2019. Stratum Mining Protocol. https://slushpool.com/help/stratum-protocol/

[13] A. Pastor et al., “Detection of Encrypted Cryptomining Malware Connections With Machine and Deep Learning,” in IEEE Access, vol. 8, pp. 158036-158055, 2020, doi: 10.1109/ACCESS.2020.3019658.

[14] Ruben Recabarren and Bogdan Carbunar. 2017. Hardening stratum, the bitcoin pool mining protocol.Proceedings on Privacy Enhancing Technologies 2017, 3 (2017), 57–74.

[15] Michael Mirkin, Yan Ji, Jonathan Pang, Ariah Klages-Mundt, Ittay Eyal, and Ari Juels. 2020. BDoS: Blockchain Denial-of-Service. In Proceedings of the 2020 ACM SIGSAC conference on Computer and Communications Security. 601–619.

区块链网络中块传播的相关研究-完整版

 区块链是一个由分布式节点共同管理的账本,它允许互不信任的实体在没有可信第三方的条件下进行合作。由于区块链天然具有不可变性、匿名性等优点,因此它被广泛使用。在区块链的相关研究中,区块链网络是其中的一个重要方向。例如,区块的传播需要单播与组播服务;矿工节点之间的通信需要P2P网络连接等。

 区块链中的块也是一个重要的概念。它们通过共识协议使得输入一致。块的顺序决定交易的顺序,因此,可以通过遵循共识链中的块中交易的顺序来构建网络的状态。交易一旦包括在共识链前端的区块中,就被认为是已确认的。研究表明[1, 2, 3, 4],区块链网络与区块链的可扩展性、安全性和隐私性息息相关,并且高效的区块链网络能够使区块链提供更快的交易速度。因此,数据块传播是共识过程中最重要的问题。矿工节点挖掘新块的速度以及创建和验证块的速度对于加密货币的效率至关重要。

image-20230426133855548

图1. 优化的区块链网络(黄色)与传统P2P网络(灰色)块传播时间的对比图[5]。

 一旦建立了公告(announcement)的基本有效性(例如,在工作证明pow检查之后),块就被重新传播到所有连接的对等节点。在比特币中,传播使用NewBlock和NewBlockHash消息。NewBlock消息包括整个块,并被发送到连接的对等节点的一小部分(通常是对等节点总数的平方根)。之后,向其他的对等节点发送一条NewBlockHash消息,其中仅包含新数据块的散列。如果这些对等节点未能在合理时间内从任何人那里收到数据块,则可以在以后请求完整数据块。

 通常,矿工们在矿池中合作,分享寻找块的风险和回报。为此,专用服务器连接到充当网关的节点。此节点收集新传输的交易和新构建的块,以构建新的块模板。然后,通过挖掘池服务器将模板头发送到想将块模板变为有效块的矿工。对于比特币,最简单的方法是,根据模板头中的随机数域,矿工尝试不同的值。如果所得到的散列具有足够的前导零(对应不同的难度级别),即,当块完成时,将其发送回挖掘池服务器,然后其使用网关节点将新的块发布到网络,并在池中对有贡献的矿工分配奖励。2017年,比特币至少95%的矿权来自10个矿池;在Ethereum网络中,6个矿池占据80%的矿权[6]。

 由于区块链网络与传统通信网络有着显著差异,我们不能简单的将传统网络的方法论套用在区块链网络上。例如:区块链网络可能更强调匿名性;在区块传播过程中,可能需要更加频繁的同步区块链当前的状态;区块链网络的任意节点都可能是恶意的。因此,给区块链设计合理高效的网络是困难的。区块链中,块(Block)是一个包含多个交易(Transaction)的数据结构,块的顺序在一定程度上决定了交易的顺序。在区块链网络的设计中,为了使得每个节点都持有相同的账本副本,我们需要考虑节点如何高效的传播块,安全的产生块。

image-20230426134816397

图2. 区块链的组织结构以及区块具体细节示意图[7]。

首先,我们想让块得到高效的传播,这会极大降低块传播的延迟。想象节点之间都是传播完整的块,那么如果接收方内存中存储块中某些交易的信息,那么传播的信息就是冗余的,从而增大块的传播延迟。延迟的块可能导致分叉,基于网络中信息传播率的测量[8],网络中的传播延迟是区块链分叉的主要原因。

 造成这种延迟的原因之一是丢包。Imtiaz等人[9]报告称,几乎所有(97%)的比特币节点都是断断续续连接的,这导致大量交易失败,失败数量大约是持续连接节点的两倍。特别是,他们在实验中证明,丢包会导致块传播时间平均增加135%(即,336.57毫秒对142.62毫秒),并且在测量到的最坏情况下可以导致高达800倍的传播时间增加。

image-20230613201530724

图3. 区块链上各节点的地理位置[9]。

 基于拜占庭容错(BFT)共识算法的许可区块链网络受传播时间的影响也很大。例如,Nguyen等人[10]演示网络延迟如何导致Hyperledger中Consensus层的处理时间增加30倍。

image-20230613201703662

图4. 不同块数量的延迟[10]。

经过调研,现在的研究大多使用压缩块编码(Compressed Block Encoding)的思想,来使块得到高效的传播。在创建新块时,大多数对等节点很可能将这些相同的交易存储在它们的内存池中。因此,转发新数据块会导致接收节点的入站带宽达到峰值,并可能导致在对等节点之前接收数据块的节点出现较大的出站带宽峰值,因为它们将用新的原始块数据淹没网络。块可以用压缩编码进行传播。数据块的高效传播对于达成共识、减少存储膨胀、克服网络防火墙瓶颈以及每秒处理大量交易至关重要。延迟块可能导致分叉[11]:根据对网络中信息传播速率的测量,网络中的传播延迟可能是区块链分叉的主要原因。应该避免区块链分叉,分叉代表区块链网络中节点的副本是不一致的。作为一种缓解策略,作者建议流水线传输数据块,即在数据块完全验证之前开始传输数据块。

 Xtreme thinblocks (XThin) [12] 使用布隆过滤器(Bloom Filter)对节点内存中的交易ID进行编码,最后使得节点只需交换块中缺失的交易即可。Compact blocks[13] 则将交易ID缩短至6字节,从而有效降低块的大小,且它借用了Xtreme thinblocks的思想,节点之间也只需交换缺失的交易。Graphene[14] 则是借助布隆过滤器与可逆布隆查找表(IBLTs:Invertible Bloom Lookup Tables ),通过增加发送方的缺失交易ID误报,来缩小其保存的布隆过滤器的大小,并使用 IBLT 更正接收方中的缺失交易ID误报。与Compact blocks相比,Graphene的性能更优。与Xtreme thinblocks相比,Graphene的所需存储与带宽更小。

表1:不同压缩块编码之间的对比

压缩协议 概率性算法/确定性算法 描述
XThin Tschipper [2019] 概率性算法 传播带有 8 字节交易 ID 和使用布隆过滤器预测的缺失交易的 Thinblock
Compact Corallo [2016] 概率性算法 传播携带 6 字节交易 ID 的 cmpctblock
Graphene Ozisik et al. [2019] 概率性算法 布隆过滤器和 IBLT 被传播到接收者,然后接收者生成另一个 IBLT 来重建新块

除了压缩块编码以外,弱块的提出也是一种加快块传播速度的方法。一种方法是让矿工在完成相应的pow之前广播他们正在挖掘的块。更准确地说,弱块或近块由于其pow不足以满足目标难度,因此可以提早传播。因此,当块被完全挖掘时,大多数节点已经接收到和验证块的有效负载,只需要广播和处理头部[15]。

 传统上,弱块在比特币中被丢弃,这样会完全浪费弱块的工作证明。理想情况下,区块链是用足够的pow来加固的。根据定义,弱块具有更短的interarrival times,因此矿工既可以为弱块中的交易接收强确认信号,也可以更快地预测分叉(因为弱块中的挖掘差异减少,冲突块出现得更早)。目前,业界已经提出了很多对传统共识算法的更新,来实现上述思想,但是仍没有针对弱块的协议更改。BitcoinNG[16]利用弱块来存储和传播交易。key block用于选择一个新的leader,使得矿工可以正确延长具有弱块的链。该协议在之前leader选举的矿工之间分配报酬,以防止恶意行为,如自私挖掘或隐藏块扩展攻击。另一个类似的研究称为Flux[17],其用弱块扩展了现有的比特币协议,使得弱块或sub-chains的链有助于pow。使用最繁琐的区块链规则作为其共识规则,它可以通过确保链接到sub-chains的key block包含sub-chains的弱块或子块中包含的交易,从而获得更快的交易确认时间。这在实践中也可以适用于没有矿工的买入的情况。可以想象,如果一定数量的矿工选择广播弱块,key block可以确保主链包含一些弱块的sub-chain。

image-20230613195907899

图5. Bitcoin-NG 链的结构[16]。

使用中继网络也可以提高块传播的速度。与公共P2P协议平行,研究者还设计了单独的中继网络来提高矿工的网络效率。第一个这样的比特币系统,称为比特币中继网络[18],它通过传播块而不进行完整的块验证并重新传输已知交易来实现这一点。它由几个分散在全球的节点组成,所有这些节点彼此对等。另一种方法 Falcon [19] 依赖于切割路由,可以实现更快的块传播、最小的验证和手动优化的拓扑。

 最近,FIBRE [20] 已经开始通过将切割路由与压缩块相结合,并在 UDP(正常的比特币协议使用 TCP)上进行前向纠错来提供类似的注册用户服务。Falcon 和 FIBRE 都可以大大减少比特币网络中的块传播时间和块孤儿率,如 [21] 所示。然而,重要的是,这两种设计都不是为了扩大比特币网络的规模,也不适合这样做。比特币不能仅仅依靠这些中继网络来实现更高的吞吐量,而且可以将控制区块链中包括哪些交易,以及控制哪些矿工可以参与。例如,中继网络运营商可以选择(或被强制)仅从一组矿工传播块,并拒绝所有其他矿工,或者只将块传播到一组矿工,而不向其他矿工传播区块。更糟糕的是,网络运营商可能会拒绝所有包含涉及特定地址的交易的区块,从而有效地禁止其所有者使用它。

其次,我们想安全的产生块。区块链产生块的流程如下:首先,特定节点收集新产生的交易,产生一个块模板,并将模板头发送给矿工节点;之后,矿工节点通过某种共识机制(例如POW)产生新块,并发送回特定节点;最后,特定节点将新块发送到网络中,并奖励产生新块的矿工节点。

 在实际应用中,Stratum[22,23]是基于区块链使用的挖掘通信协议,它使矿工能够高效地进行上述工作。Stratum 最初是针对开源客户端-服务器覆盖协议的提议,以支持轻量级客户端。Stratum挖掘协议将此提议扩展到在比特币网络和许多其他区块链协议上用于池化挖掘服务的网络协议。该协议在挖掘客户端(mining clients)和池操作符(pool operator)或服务器之间使用TCP套接字建立客户端-服务器连接,以分发通过区块链pow定义的新任务。但是,Stratum存在诸多安全性隐患。

image-20230426140013200

图6. Stratum协议中的消息流。上图在 TCP 连接上运行,下图在 TLS 会话上运行[22]。

 经过调研,Stratum方案存在缺乏加密、缺乏完整性验证等问题。Recabarren[25]利用Stratum缺乏加密的特点,对Stratum进行攻击。其通过秘密修改TCP数据包,来劫持由矿工节点提交的新块。[26]则实现了对Stratum的另一种攻击,其利用Stratum缺乏完整性验证的特点,通过伪造产生新块的证据,使得攻击者只需块的证据,而不提供块本身,就可证明自己挖掘到了新块。

image-20230426140329963

图7. Recabarren的攻击示意图[25]。

 针对提高块传播的SPV挖掘技术也带来了很多的安全问题。“SPV(简化支付验证)挖掘”概念可以通过避免块的完整验证,而是部分不加检查地中继这些块,从而减少块传播延迟。最初,开发这种方法是为了加快挖矿速度:为了在前一个区块之上构建并扩展链,矿工需要前一个块的哈希。但是,矿工其实不需要所有交易数据的完整块,就能开始挖掘。事实上,为了挖掘一个有效的区块,只需前一个区块头的哈希值就足够了。

 SPV 挖掘的动机是尽可能快地挖掘块,以增加利润。等待下载完整的块并验证所有交易都会耽误时间,从而导致利润丢失。因此,矿工可能会在下载和验证前一个区块之前找到下一个区块。如果采取这种方式,矿工将避免在区块中放置任何交易(除了奖励矿工的coinbase交易),因为矿工无法知道前一个块中有哪些交易。如果包括交易,可能会导致双花问题(区块无效)。SPV挖掘是空块出现在区块链的原因之一[27]。此外,SPV挖掘增加了无效块被添加到区块链上以及挖掘到的新块连接到无效块上的可能性(因为交易没有被下一个块验证,甚至没有被多个块验证)。这反过来又导致网络对支付的可靠性较低,因为有可能出现双重支付的情况。

 事实上,比特币协议中实施了一项更新(关于强制执行BIP66严格的DER签名),该更新应该在95%的节点升级其软件后生效。其实现方式如下:一旦最后 1,000 个块中的 950 个是版本 3 (v3) 的块,所有更新后的矿工都将拒绝版本 2 (v2) 的块。2015 年 7 月 4 日,在达到阈值后不久,一个矿工(未升级 5% 的一部分)挖掘了一个无效块。不幸的是,大约一半的矿工在没有完全验证块的情况下进行挖掘,并在此无效块的基础上构建新块,从而导致分裂(split)。

 另一个类似的攻击是竞争矿池之间的间谍挖矿(spy mining)。当攻击者加入其他人的矿池以获取网络上出现的新区块的线索(Hint)时,就会发生间谍挖矿。间谍通过 Stratum 协议,从发送给它的更改标头检测新区块的线索,并将线索发送给其他矿池。由于SPV挖掘,矿工可以在不看到旧块内容的情况下开始挖掘一个新的块。

 加密货币的延迟和吞吐量取决于块传播的效率。因此,在减少带宽浪费的同时,尽可能快地传播新挖掘块的机制是至关重要的。同时,系统设计不能放弃安全性,而协议在追求挖掘速度的情况下,必须确保块包含有效的交易。目前,在针对块传播研究上,还有几个值得研究的开放问题:

  • 如何加速块传播?允许更高的交易速率和更低的延迟。目前,提出了优化两个节点间块间信息交换和网络传播的几种方法。这两个维度都提供了可研究的点,随后研究者通过设计新的方法来克服这种障碍,以实现更快的交易率。

  • 如何设计有效的矿池网络?有效信息传播的池在挖掘方面更好。在矿池中,可以考虑使用具有更结构化的覆盖拓扑的模型来提高速度,并且在速度与安全性上做权衡。

  • 是否应该允许矿池?矿池的好处是否超过了它们从中心化方面带来的安全风险。如果不是,如何预防中心化带来的安全风险?可以监控矿池的恶意行为吗?如何设计激励诚实矿池行为的机制?

  • 如何激励具有许多有效交易的挖矿节点?这将提高交易率。SPV挖掘带来了风险,因此设计一个防止此风险的系统,例如经济激励,仍然是亟待研究的。

 区块链的性能取决于块传播的效率,因此,在尽可能减少带宽浪费的同时,我们应该尽可能快地传播新生成的数据块。同时,系统设计不能放弃安全性,所使用的协议必须确保块中包含有效的交易。在之后的研究中,在保证安全性的前提下,如何加速块的传播仍是一个重要的课题,我们仍相信块的传播有更加高效的方案。这也许需要在速度与安全两方面做权衡,但这也是科研的艺术所在。

参考文献:

[1] Christian Decker and Roger Wattenhofer. 2013. Information propagation in the bitcoin network. InProc. IEEE P2P Conference. IEEE, 1–10.

[2] Uri Klarman, Soumya Basu, Aleksandar Kuzmanovic, and Emin Gün Sirer. 2018. bloxroute: A scalable trustless blockchain distribution network whitepaper. IEEE Internet of Things Journal (2018).

[3] Arthur Gervais, Ghassan O Karame, Karl Wüst, Vasileios Glykantzis, Hubert Ritzdorf, and Srdjan Capkun. 2016. On the security and performance of proof of work blockchains. In Proc. of the 2016 ACM SIGSAC conference on computer and communications security.

[4] Arthur Gervais, Srdjan Capkun, Ghassan O Karame, and Damian Gruber. 2014. On the privacy provisions of bloom filters in lightweight bitcoin clients. In Proceedings of the 30th Annual Computer Security Applications Conference. 326–335.

[5] https://medium.com/@peter_r/towards-massive-on-chain-scaling-block-propagation-results-with-xthin-a0f1e3c23919

[6] Loi Luu, Yaron Velner, Jason Teutsch, and Prateek Saxena. 2017. Smartpool: Practical decentralized pooled mining. In 26th {USENIX} Security Symposium.

[7] A Comparative Analysis on Volatility and Scalability Properties(https://arxiv.org/pdf/2303.17643)

[8] Christian Decker and Roger Wattenhofer. 2013. Information propagation in the bitcoin network. InProc. IEEE P2P Conference. IEEE, 1–10.

[9] Muhammad Anas Imtiaz, David Starobinski, Ari Trachtenberg, and Nabeel Younis. 2019. Churn in the Bitcoin Network: Characterization and Impact. In 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE, 431–439.

[10] Thanh Son Lam Nguyen, Guillaume Jourjon, Maria Potop-Butucaru, and Kim Thai. 2019. Impact of network delays on Hyperledger Fabric. arXiv preprint arXiv:1903.08856 (2019).

[11] Christian Decker and Roger Wattenhofer. 2013. Information propagation in the bitcoin network. InProc. IEEE P2P Conference. IEEE, 1–10.

[12] Peter Tschipper. 2016. BUIP010: Xtreme Thinblocks. In Bitcoin Forum (1 January 2016). https://bitco. in/forum/threads/buip010-passed-xtreme-thinblocks, Vol. 774.

[13] Bitcoin Improvement Proposals Compact Block Relay. https://github.com/bitcoin/bips/blob/ master/bip-0152.mediawiki. Accessed: 2019-09-23.

[14] A Pinar Ozisik, Gavin Andresen, Brian N Levine, Darren Tapp, George Bissias, and Sunny Katkuri. 2019. Graphene: efficient interactive set reconciliation applied to blockchain propagation. In Proceedings of the ACM Special Interest Group on Data Communication. 303–317.

[15] Gavin Andresen. 2015. Weak Block Thoughts. https://github.com/ethereum/devp2p/blob/master/caps/eth.md

[16] Ittay Eyal, Adem Efe Gencer, Emin Gün Sirer, and Robbert Van Renesse. 2016. Bitcoin-ng: A scalable blockchain protocol. In 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI). 45–59.

[17] Alexei Zamyatin, Nicholas Stifter, Philipp Schindler, Edgar R Weippl, and William J Knottenbelt. 2018. Flux: Revisiting Near Blocks for Proof-of-Work Blockchains. IACR Cryptology ePrint Archive2018 (2018), 415.

[18] Bitcoin Relay Network. 2017. high-speed block-relay system for miners. http://www.bitcoinrelaynetwork.org/

[19] Soumaya Basu, Ittay Eyal, and Emin Gun Sirer. 2016. Falcon: Relay Network for Bitcoin Blocks. https://www.falcon-net.org/

[20] BlueMatt. 2016. FIBRE. http://bitcoinfibre.org/public-network.html

[21] Kai Otsuki, Yusuke Aoki, Ryohei Banno, and Kazuyuki Shudo. 2019. Effects of a Simple Relay Network on the Bitcoin Network. In Proceedings of the Asian Internet Engineering Conference. 41–46.

[22] Bitcoin Inc. 2015. Stratum Mining Protocol. https://en.bitcoin.it/wiki/Stratum_mining_protocol

[23] Slush Pool. 2019. Stratum Mining Protocol. https://slushpool.com/help/stratum-protocol/

[24] A. Pastor et al., “Detection of Encrypted Cryptomining Malware Connections With Machine and Deep Learning,” in IEEE Access, vol. 8, pp. 158036-158055, 2020, doi: 10.1109/ACCESS.2020.3019658.

[25] Ruben Recabarren and Bogdan Carbunar. 2017. Hardening stratum, the bitcoin pool mining protocol.Proceedings on Privacy Enhancing Technologies 2017, 3 (2017), 57–74.

[26] Michael Mirkin, Yan Ji, Jonathan Pang, Ariah Klages-Mundt, Ittay Eyal, and Ari Juels. 2020. BDoS: Blockchain Denial-of-Service. In Proceedings of the 2020 ACM SIGSAC conference on Computer and Communications Security. 601–619.

[27] Canhui Wang, Xiaowen Chu, and Qin Yang. 2019. Measurement and analysis of the bitcoin networks: A view from mining pools. arXiv preprint arXiv:1902.07549 (2019).

留言

2023-04-25

© 2024 wd-z711

⬆︎TOP