虽然有着越来越多的人参与到区块链的行业之中,然而由于很多人之前并没有接触过区块链,也没有相关的安全知识,安全意识薄弱,这就很容易让攻击者们有空可钻。面对区块链的众多安全问题,慢雾特推出区块链安全入门笔记系列,向大家介绍十篇区块链安全相关名词,让新手们更快适应区块链危机四伏的安全攻防世界,同时欢迎添加文章末尾二维码催更!
系列回顾:
区块链安全入门笔记(一) | 慢雾科普
区块链安全入门笔记(二) | 慢雾科普
区块链安全入门笔记(三) | 慢雾科普
多签 Multi-sig
多签(Multi-sig)指的是需要多个签名才能执行的操作(这些签名是不同私钥生成的)。这可用于提供更高的安全性,即使丢失单个私钥的话也不会让攻击者取得帐户的权限,多个值得信赖的各方必须同时批准更新,否则无效。
我们都知道,一般来说一个比特币地址对应一个私钥,动用这个地址中的资金需要私钥的持有者发起签名才行。而多重签名技术,简单来说,就是动用一笔资金时需要多个私钥签名才有效。多签的一个优势就是可以多方对一笔付款一起达成共识,才能支付成功。
双花攻击
Double Spend Attack
海口利用“区块链+电子保函”为企业减少资金占有约2.19亿元:金色财经报道,3月3日,海南省优化营商环境工作专班决定在全省范围内推广第一批10个优化营商环境示范案例。海口市运用“区块链+电子保函”拓宽投标担保渠道,开具603单电子保函,为企业减少资金占有约2.19亿元,成功入选为第一批优化营商环境示范案例。“区块链+电子保函”应用系统,有效助力招标采购活动提速增效。与现金投标保证金的传统担保方式相比,企业“一次都不用跑”即可全程在线办理投标业务,有效缓解企业的资金周转压力,切实减轻投标成本负担,提升办事便利程度。(新浪财经)[2022/3/4 13:36:50]
双花攻击(Double Spend Attack)即一笔钱花了两次,双重支付,利用货币的数字特性两次或多次使用“同一笔钱”完成支付。双花不会产生新的 Token,但能把自己花出去的钱重新拿回来。简单说就是,攻击者将一笔 Token 转到另外一个地址,通常是转到交易所进行套现,然后再利用一些攻击手法对转账交易进行回滚。目前有常见的几种手法能够引发双花攻击:
1. Race Attack
这种攻击主要通过控制矿工费来实现双花。攻击者同时向网络中发送两笔交易,一笔交易发给自己(为了提高攻击成功的概率,他给这笔交易增加了足够的矿工费),一笔交易发给商家。由于发送给自己的交易中含有较高的手续费,会被矿工优先打包进区块的概率比较高。这时候这笔交易就会先于发给商家的那笔交易,那么发给商家的交易就会被回滚。对于攻击者来说,通过控制矿工费,就实现了同一笔 Token 的“双花”。
Flow链上NFT交易总额突破8亿美元,创历史新高:金色财经报道,据最新数据显示,Flow链上NFT交易总额已突破8亿美元,创下历史新高,本文撰写时为800,669,701美元,交易总量为12,757,700笔。[2021/12/13 7:35:41]
2. Finney Attack
攻击者主要通过控制区块的广播时间来实现双花,攻击对象针对的是接受 0 确认的商家。假设攻击者挖到区块,该区块中包含着一个交易,即 A 向 B 转了一定数量的 Token,其中 A 和 B 都是攻击者的地址。但是攻击者并不广播这个区块,而是立即找到一个愿意接受 0 确认交易的商家向他购买一个物品,向商家发一笔交易,用 A 向商家的地址 C 支付,发给商家的交易广播出去后,攻击者再把自己之前挖到的区块广播出去,由于发给自己的交易先于发给商家的交易,对于攻击者来说,通过控制区块的广播时间,就实现了同一笔 Token 的“双花”。
3. Vector76 attack
Vector76 Attack 又称“一次确认攻击”,也就是交易确认一次后仍然可以回滚,是 Finney Attack 和 Race Attack 的组合。
攻击者创建两个节点,节点 A 连接到商家节点,节点 B 连接到区块链网络中的其他节点。接着,攻击者用同一笔 Token 发起两笔交易,一笔交易发送给商家地址,我们称为交易 1;一笔交易发送给自己的钱包地址,我们称为交易 2。与上面说的 Race Attack 一样,攻击者对交易 2 添加了较高的矿工费从而提高了矿工的打包概率,此时,攻击者并没有把这两笔交易广播到网络中去。
接着,攻击者开始在交易 1 所在的分支上进行挖矿,这条分支我们命名为分支 1。攻击者挖到区块后,并没有广播出去,而是同时做了两件事:在节点 A 上发送交易 1,在节点 B 上发送交易 2。
由于节点 A 只连接了商家节点,所以当商家节点想把交易 1 传给其它对等节点时,连接了更多节点的节点 B,已经把交易 2 广播给了网络中的大部分节点。于是,从概率上来讲,交易 2 就更有可能被网络认定为是有效的,交易 1 被认定为无效。
交易 2 被认为有效后,攻击者立即把自己之前在分支 1 上挖到的区块,广播到网络中。这时候,这个接受一次确认就支付的商家,会确认交易成功,然后攻击者就可以立即变现并转移资产。
同时,由于分支 2 连接的更多节点,所以矿工在这个分支上挖出了另一个区块,也就是分支 2 的链长大于分支 1 的链长。于是,分支 1 上的交易就会回滚,商家之前支付给攻击者的交易信息就会被清除,但是攻击者早已经取款,实现了双花。
4. 51% attack
攻击者占有超过全网 50% 的算力,在攻击者控制算力的这段时间,他可以创造一条高度大于原来链的新链。那么旧链中的交易会被回滚,攻击者可以使用同一笔 Token 发送一笔新的交易到新链上。
目前已知公链安全事件的攻击手法多为 51% 攻击,截止发稿日由于攻击者掌握大量算力发起 51% 攻击所造成的损失共 19,820,000 美金。2019 年 1 月 6 日,慢雾区预警了 ETC 网络的 51% 算力攻击的可能性,据 Coinbase 博客报道该攻击者总共发起了 15 次攻击,其中 12 次包含双花,共计被盗 219,500 ETC(按当时市价约为 110 万美元),攻击者经过精心准备,通过租借大量算力向 ETC 发动了 51% 攻击,累计收益超 10 倍,Gate.io、Yobit、Bitrue 等交易所均受到影响。所幸在整个 ETC 生态社区的努力下,一周后攻击者归还了攻击所得收益,幸而没有造成进一步的损失。
软分叉 Soft-fork
软分叉(Soft-fork)更多情况下是一种协议升级,当新共识规则发布后,没有升级的旧节点并不会意识到代码已经发生改变,而继续生产不合法的区块,就会产生临时性分叉,但新节点可以兼容旧节点,即新旧节点始终在同一条链上工作。
硬分叉 Hard-fork
硬分叉(Hard-fork)是区块链发生永久性分歧,在新共识规则发布后,已经升级的节点无法验证未升级节点产生的区块,未升级节点也无法验证已经升级的节点产生的区块,即新旧节点互不兼容,通常硬分叉就会发生,原有正常的一条链被分成了两条链(已升级的一条链和未升级的一条链,且这两条链互不兼容)。
历史上比较著名的硬分叉事件是 The DAO 事件,作为以太坊上的一个著名项目,由于智能合约的漏洞造成资金被黑客转移,黑客盗取了当时价值约 6000 万美元的 ETH,让这个项目蒙受了巨大的损失。为了弥补这个损失,2016 年 7 月,以太坊团队修改了以太坊合约代码实行硬分叉,在第 1920000 个区块强行把 The DAO 及其子 DAO 的所有资金全部转到一个特定的退款合约地址,进而“夺回”了黑客所控制 DAO 合约上的币。但这个修改被一部分矿工所拒绝,因而形成了两条链,一条为原链(以太坊经典,ETC),一条为新的分叉链(ETH),他们各自代表了不同社区的共识和价值观。
最早的区块链如比特币以及以太坊都是采用PoW共识机制保障区块链帐本的一致性与交易的最终性。 PoW的全名是Proof of Work,中文为工作量证明。 何谓工作量证明 网络上的节点可以简单地透过工作量证明,快速验证彼此是否拥有记帐权。
前面介绍到,Skywire的竞争对手可以分为以下四大类:1. ?传统的互联网服务提供商(ISP):如:Comcast,AT&T,Verizon,Virgin Media,中国电信,BSNL,Telstra等。2. ?本地的无线社区网络 :如:NYC Mesh,Detroit Digital Stewards,Pittsburgh MetaMesh等。
Skew数据表明,在整个三月和四月的前几天经历了短暂的脱钩之后,比特币再次与标普500指数之间的联系越来越紧密,相关性正在增长。MarketWatch的分析师根据比特币与标普500指数之间日益增长的相关性指出,该数字货币的未来可能主要取决于标普500指数的下一个趋势。
在现实生活当中,我们经常在各种业内报道中看见 ERC 的身影,那么什么是 ERC 呢?今天就来和大家聊一聊。 在讲 ERC 之前,先和大家科普一下智能合约,智能合约的概念最早是在 1994 年由尼克.萨博提出。他定义道:一个智能合约是一个计算机化的交易协议,它执行一个合约的条款。
相信很多人都听说过量化交易,量化交易是指用数学模型去代替人为的主观判断,减少投资者情绪波动的影响,网格交易策略属于量化交易的一种。 网格交易的由来和特点 网格交易法的思路来源于信息论之父——香农。上世纪四十年代的某一天,香农在黑板上给大家演示:任何一个价位买进资金的50%,也就是说资金数量:股票市值=50%:50%。
今天,我们就来介绍一下比特币的诞生和比特币的发行机制。 01 比特币的诞生 比特币是由中本聪发明的密码货币,比特币的第一个区块,同样是由中本聪挖出来的。中本聪既是比特币的发明者,又是比特币最早的矿工。 比特币诞生有两个标志性的事件:一个是比特币白皮书的发布,另一个是比特币创世区块被挖出。