主页 > imtoken体验版 > 区块链技术安全讨论

区块链技术安全讨论

imtoken体验版 2023-01-17 06:53:10

0x00 背景介绍

区块链技术是金融科技(Fintech)领域的一项重要技术创新。

区块链作为分布式账本技术(DLT)平台的核心技术,被认为在金融、征信、物联网、经贸结算、资产管理等诸多领域具有广阔的应用前景。 区块链技术本身还处于快速发展的初级阶段。 现有的区块链系统在设计和实现中运用了分布式系统、密码学、博弈论、网络协议等诸多学科的知识,为学习原理和实际应用提供了基础。 都带来了挑战。

区块链是一种去中心化的记录技术。 参与系统的节点可以不属于同一个组织,不需要相互信任; 区块链数据由所有节点共同维护usdt混币技术,每个参与维护的节点都可以复制并获得完整记录的副本,从中可以看出区块链技术的特点:

- 维护一条成长链,只能添加记录,已经发生的记录不可篡改;

- 去中心化,或者说多中心化,可以在没有中心化控制的情况下达成共识,尽可能实现分布式;

- 通过密码学机制保证交易不能被拒绝和破坏,尽可能保护用户信息和记录的隐私。

虽然单纯从区块链上理解,它只是一种数据记录技术,或者说是一种去中心化的分布式数据库存储技术,但如果结合智能合约进行扩展,可以提供更复杂的操作。 现在活跃的数字货币是一种表现形式。

0x01 对区块链安全的思考

由于区块链技术的特点,它旨在从不同的维度解决一些安全问题:

01 哈希唯一性

在区块链中,每个区块和Hash是一一对应的,每个Hash都是从区块头通过sha256计算出来的。 因为区块头中包含了当前区块的哈希值和前一个区块的哈希值,如果当前区块的内容发生变化或者前一个区块的哈希值发生变化,那么肯定会导致当前区块的哈希值发生变化。 如果有人修改了一个块,该块的哈希值就会改变。 为了让后面的区块连接到它,这个人必须同时修改所有下面的区块,否则被修改的区块就会从区块链中分离出来。 由于区块计算需要很高的算力,同时修改多个区块几乎是不可能的。

由于这样的联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。 这就像历史一样,发生过的就是发生过的,再也无法改变,保证了数据的唯一性。

02 密码安全

以比特币为例,数字货币采用非对称加密,所有数据存储和记录都有数字签名作为凭证,非对称加密保证了支付的可靠性。

03 认证

在数字货币交易期间,验证从一个地址到另一个地址的数据传输:

- 最后一笔交易的哈希值(用于验证货币的来源)

- 本次交易双方地址

- 付款人的公钥

- 由支付方式的私钥生成的数字签名

验证交易是否成功将经过以下步骤:

- 找到之前交易确认的货币来源

- 计算对方公钥的指纹,并与自己的地址进行比对,保证公钥的真实性

- 使用公钥解锁数字签名,确保私钥的真实性

04 去中心化分布式设计

对于区块链来说,公开全部或部分账本数据,强调账本数据存在多份,不存在数据丢失的风险。 目前区块链采用的解决方案是全分布式存储。 网络上有很多。 全节点,同步所有账本数据(部分同步部分,当然每个数据存储都有足够的副本),这样网络中就有足够的副本满足高可用的要求,数据丢失的风险会低很多. 因此,建议在部署区块链网络时,所有节点尽可能分散,分布在不同的地理位置、不同的基础服务提供商、不同的利益。

05 传输安全

在传输过程中,数据还没有被持久化,这部分空中数据会通过HTTP+SSL(或者websocket+websocketS)进行处理,保证数据在网络传输过程中不可篡改和加密.

0x02 对数字货币安全的思考

01比特币

比特币(Bitcoin,代号BTC)是一种去中心化的、通用的、不需要第三方机构或个人参与,以区块链为支付技术基础的电子加密货币。 比特币由中本聪于 2009 年 1 月 3 日发明并创立,基于无国界的点对点网络,使用共识倡议开源软件。 比特币也是目前市值最高、最受欢迎的加密货币。

比特币区块结构

usdt混币技术_火币网usdt兑换人民币_usdt是什么币

钱包和交易

比特币钱包的地址是由公钥通过Base58算法编码后的字符串。 利用该算法,可以将公钥中的一些不可见字符编码为普通字符。 与Base64相比,Base58去掉了非字母或数字字符,如:“+”、“/”,也去掉了容易混淆的字符,如数字0和大写字母O、大写字母I和小写字母l。 这个用作比特币钱包地址的字符串相当于一个比特币账户。

交易是比特币的核心部分,区块链应用于数字货币也是为了提供更安全、更可靠的交易。 在交易之前,每笔交易的真实性都会被确认。 如果为真,交易记录将被写入一个新的区块,一旦加入区块链,就意味着不能再提现和修改。

交易验证流程大致如下:

1.验证交易双方的钱包地址,即双方的公钥。

2、付款人之前的交易输出,如前所述,并没有将你的比特币金额存储在钱包中,你进行的每笔交易都会产生一个交易输出,并记录在区块链中。 通过交易输出,可以确认支付方是否可以支付一定数量的比特币。

3. 付款人私钥生成的数字签名。 如果可以使用付款人的公钥解锁数字签名,则可以确认付款人的身份是真实的,而不是有人恶意使用当前付款人的钱包地址进行交易。

一旦信息被确认,就可以将交易信息写入新的区块,完成交易。 受限于比特币的区块大小(目前为1MB,一笔交易信息需要500字节左右),一个区块最多只能包含2000多笔交易。 因为所有的交易信息都记录在区块链中,交易记录和每个比特币钱包的币数都可以查到,但是只要你不公开承认钱包地址是你的,谁也不会知道真正的主人钱包地址。

还有一种交易称为 coinbase 交易。 当矿工挖出一个新区块时,他将获得挖矿奖励。 挖矿奖励通过coinbase交易获得,新区块需要添加交易信息,但coinbase交易不需要参考之前的交易输出。

安全问题

比特币基于区块链,具有去中心化结构。 用户通过公共地址和密钥声明所有权。 从某种程度上说,谁拥有了这把钥匙,谁就实质上拥有了相应地址中的比特币资产。 区块链的防篡改特性是指比特币的交易记录不可篡改,而不是密钥不会丢失。 同时,由于区块链不可篡改,一旦密钥丢失,就意味着无法通过修改区块链记录来取回比特币。

因此,针对比特币的盗币事件时有发生,主要通过以下三种方式:

一、交易平台自我防范

2.交易所被黑

3、用户交易账户被盗用

交易平台可以向平台索回,但黑客攻击造成的被盗币很难追回。 因为一旦黑客盗取了比特币,他们就会通过混币等手段进行洗钱。 除非有国家力量的强力干预,否则复苏的可能性仅停留在理论层面。

02 以太币

以太币(代号ETH)是以太坊区块链上的一种代币,可以在多种加密货币的外汇市场进行交易。 它也是用于支付以太坊交易费用和计算服务的媒介。 以太坊是一个具有智能合约功能的开源公共区块链平台。 通过其专用的加密货币以太币,它提供了一个分散的虚拟机(称为“以太坊虚拟机”)来处理点对点合约。

智能合约

以太坊和比特币最大的区别之一是提供了更强大的合约编程环境。 如果说比特币的功能只是数字货币本身,那么在以太坊上,用户还可以编写智能合约应用,直接将区块链技术的发展带入2.0时代。

火币网usdt兑换人民币_usdt混币技术_usdt是什么币

以太坊中的智能合约运行在虚拟机上,通常称为EVM(Ethereum Virtual Machine,以太坊虚拟机)。 这是智能合约的沙箱。 合约存储在以太坊区块链上,并编译成以太坊虚拟机的字节码,通过虚拟机运行智能合约。 由于这个中间层的存在,以太坊还实现了多种语言的合约代码编译,网络中的每个以太坊节点都运行EVM实现,执行相同的指令。 如果说比特币是一个二维世界,那么以太坊就是一个三维世界,可以实现无数不同的二维世界。

安全问题

ETH最大的特点就是智能合约,而智能合约的漏洞也导致了ETH的安全问题。

2016年,黑客利用The Dao利用智能合约的漏洞,成功盗取了360万个以太币。 THE DAO 持有近 15% 的以太币,因此这一事件对以太坊网络及其加密货币都产生了负面影响。

The DAO 事件后,以太坊创始人 Vitalik Buterin 提出修改以太坊代码,对以太坊区块链实施硬分叉,回滚黑客盗取资金的交易记录,得到了社区大多数矿工的支持,但也有少数人的强烈反对。 少数最终坚持不同意回滚的矿工将他们开采的区块链命名为以太坊经典(Ethereum Classic,简称ETC),这导致了以太坊社区的分裂。 在虚拟货币的历史上,这是第一次也可能是唯一一次因安全问题导致的区块链分叉事件。

无独有偶,2017年7月19日,Parity1.5及以上多重签名钱包出现安全漏洞,15万个ETH被盗,总价值3000万美元。

两次盗窃都是由于智能合约中的漏洞造成的。 让我们看到,虚拟货币的安全不仅仅关乎平台和个人,更关乎区块链上的应用。

03 XMR

Monero(代号 XMR)是一种开源加密货币,创建于 2014 年 4 月,专注于隐私、去中心化和可扩展性。 与许多源自比特币的加密货币不同,门罗币基于 CryptoNote 协议,在区块链混淆方面具有显着的算法差异。

隐蔽地址

隐藏地址是为了解决输入输出地址关联的问题。 每当发送方要向接收方发送一笔钱时,他会首先使用接收方的地址(每次重新生成)使用椭圆曲线加密计算出一次性公钥。 然后,发送方将此公钥连同一条附加消息发送到区块链,接收方可以根据自己的私钥检查每个交易块,以确定发送方是否发送了金额。 当接收方想要使用这笔金额时,他可以根据自己的私钥和交易信息计算出一个签名私钥,并使用这个私钥对交易进行签名。

环签名

隐蔽地址虽然可以保证接收方的地址每次都在变化,使外部攻击者看不到地址关联,但不能保证发送方和接收方之间的匿名性。 因此,门罗币提出了环签名方案——其实古代也有类似的想法:如图5所示,在联名信上签名时,可以将作者的名字写在一个环中,因为每个人在这两个名字的地位似乎是对等的,所以外界很难猜到发起人是谁。 这就是环签名。

火币网usdt兑换人民币_usdt是什么币_usdt混币技术

除了交易地址,交易金额也会泄露一些隐私。 Monero 还提供了一种称为 Ring Confidential Transaction (RingCT) 的技术,可以同时隐藏交易地址和交易金额。 该技术正在逐步部署以实现真正的匿名。 该技术使用多层可链接自发匿名组签名(Multi-layered Linkable Spontaneous Anonymous Group signature)协议。

安全问题

比特币交易的隐私性不是很好。 货币隐私有两个基本属性:

1.不可链接性:无法证明两笔交易发送给同一个人,即无法知道交易的接收者是谁。

2. 不可追溯性:无法知道交易的发送方是谁。

比特币交易需要发送地址信息,这显然不符合上述要求。 门罗币通过隐藏地址保证不可链接性,通过环签名保证不可追踪性,从而为用户提供良好的交易信息隐私性。 另一方面,比特币挖矿在很大程度上依赖于大量专门的专用集成电路 (ASIC)。 它的算法在 ASIC 上的运行速度比在标准家用电脑或笔记本电脑上的运行速度要快得多。 相比之下,Monero 的挖矿算法要复杂得多。 它不依赖于 ASIC,可以使用任何 CPU 或 GPU 来完成,这意味着门罗币的挖矿门槛更低。

门罗币的这些特性使其成为黑色挖矿的最佳选择。 过去一段时间,以门罗币挖矿为目的的网络攻击事件屡见不鲜。

04 总结

在以太坊这样的平台区块链上,如果运行智能合约,应用程序出现漏洞也会威胁到其上的数字资产。

以太坊解决了比特币单一应用的局限性,让区块链就像一个操作系统,开发者可以在上面构建自己的“应用”。 门罗币在满足交易隐私需求的同时,降低了挖矿门槛。 这些特点都符合黑色产业的需求。 过去一段时间,以门罗币挖矿为目的的网络攻击事件时有发生。

0x03 对交易平台安全的思考

随着区块链技术的快速发展,虚拟货币逐渐走入大众视野。 随之而来的是一大批虚拟货币交易平台。 虚拟货币交易平台是为用户提供虚拟货币与虚拟货币之间兑换的平台,部分平台还提供人民币与虚拟货币之间的p2p兑换服务。 现在交易平台日均交易量上亿,但交易平台背后的运营者能力和平台本身的安全性并没有得到很好的保障。 2014年至今,据不完全统计,仅交易所安全造成的直接损失就高达1.8亿美元。

usdt是什么币_火币网usdt兑换人民币_usdt混币技术

火币网usdt兑换人民币_usdt混币技术_usdt是什么币

随着虚拟货币大潮的兴起,交易所成为黑客的首要目标。 据统计,入侵交易所给黑客带来的直接收益在1000万美元左右。 但交易所的安全性参差不齐,各国此类平台暂时基本没有良好的管控策略,这给黑客带来了极大的便利,也直接威胁到用户的资金安全。

01 平台黑客事件回顾

-Biter(Bter.com)比特币交易平台被盗

2014-08-15

活动简介:

Bitter 是一家中国山寨币交易所。 NXT 等山寨币在其上交易。

因为POS币钱包必须在线才能赚取利息。 因此,NXT 钱包必须在线运行,为入侵提供了机会。 POS币不能存放在冷钱包中,暴露了POS的一大安全隐患。 黑客盗取NXT后,通过交易消息与平台方协商:

usdt是什么币_火币网usdt兑换人民币_usdt混币技术

并要求平台支付BTC作为赎金以换取NXT

火币网usdt兑换人民币_usdt是什么币_usdt混币技术

最终平台支付了110 BTC,但未能完全赎回NXT,只能要求社区回滚NXT交易区块。

此次Biter被黑事件,是历史上第一次将网络犯罪充分公开展示,暴露了当时交易平台和数字货币在没有监管的情况下野蛮生长的严重问题。

-以太坊组织 The DAO 被黑

2016-06

活动简介:

以太坊的去中心化组织 The Dao 遭到黑客攻击,价值超过 5000 万美元的以太坊溢出了 DAO 的钱包。 以太坊(ETH)市场价格瞬间缩水,从21.50美元的历史高位跌至15.28美元,跌幅超过23%。

之前的智能合约编写方式存在三个严重漏洞,黑客利用这些漏洞攻击The DAO,盗取以太坊。

回退函数调用

向合约地址写币有两种方式:

usdt是什么币_usdt混币技术_火币网usdt兑换人民币

都发送了20个以太币,都是新消息调用,这两个调用的gas limit是一样的。 send() 给出 0 gas(相当于 call.gas(0).value()() ),而 call.value()() 给出所有(当前剩余)gas。 当我们调用智能合约时,如果找到指定的函数,或者根本没有指定函数(比如发送以太币),就会调用回退函数。

通过addr.call.value()()发送ether时,和send()一样,会调用fallback函数,但是传递给fallback函数的是当前剩余的所有gas。 如果精心设计回退,它会影响到系统,例如写入存储、调整新的智能合约等。

递归调用

一段用户从智能合约中取款的代码如下:

usdt混币技术_usdt是什么币_火币网usdt兑换人民币

如果支付方的合约账户有1000个以太币,取款方有10个以太币,这里就存在严重的递归调用问题usdt混币技术,取款方可以将1000个以太币全部拿走。

调用深度限制

一个合约可以通过消息调用调用其他智能合约,被调用的合约通过消息调用继续调用其他合约。 此类嵌套调用的深度限制为 1024。

usdt混币技术_火币网usdt兑换人民币_usdt是什么币

如果攻击者进行上述1023次嵌套调用,然后调用sendether(),则可以使add.send(20ether)无效,而其他执行成功:

usdt是什么币_火币网usdt兑换人民币_usdt混币技术

DAO 中的代码

usdt混币技术_火币网usdt兑换人民币_usdt是什么币

当合约执行到withdrawRewardFor(msg.sender); 进入withdrawRewardFor函数进行判断

火币网usdt兑换人民币_usdt是什么币_usdt混币技术

putOut 如下:

火币网usdt兑换人民币_usdt是什么币_usdt混币技术

和前面的例子类似,DAO通过addr.call.value()()发送Ether,并没有选择send()。 客户只需创建回退并再次调用 splitDAO() 即可传输多个 Ether 副本。 PoC如下:

usdt是什么币_火币网usdt兑换人民币_usdt混币技术

DAO事件对整个以太坊社区产生了重大影响,也导致了后来的硬分叉和ETC(Ethereum Classic)的分拆。

-Bitfinex被黑

2016-08

活动简介:

Bitfinex 是交易比特币、以太币和莱特币等数字货币的最大交易所之一。

根据 Bitfinex 在 8 月 2 日凌晨发布的公告,该交易所在发现安全漏洞后停止了交易。 官方网站上发布的声明称:

usdt混币技术_usdt是什么币_火币网usdt兑换人民币

Bitfinex 社区和产品开发总监 Zane Tackett 证实,有 119,756 个比特币被盗,该公司已经知道系统是如何被破坏的。 全球比特币价格受此消息下跌 25%,按周二价格计算价值约 6500 万美元。

usdt混币技术_usdt是什么币_火币网usdt兑换人民币

随后Bitfinex官网宣布损失将由平台所有用户承担,这将导致每个用户账户平均损失36%

对于像比特币这样通过数学算法挖矿形成的不同于实物纸币的数字货币,这些数字货币交易的安全性充分体现在交易所的风控能力和防黑客能力上。

-Parity多重签名钱包被盗事件

2017-07

活动简介:

Parity 是一款多重签名钱包,也是使用最广泛的以太坊钱包之一。 创始人兼CTO为以太坊前CTO黄皮书作者Gavin Woods。

7 月 19 日,Parity 就其钱包软件 1.5 及更高版本中的漏洞发出了安全警报警告。 根据该公司的报告,确认有 150,000 ETH(约值 3000 万美元)被盗。 根据 Parity 的说法,该漏洞是由名为 wallet.sol 的多重签名合约中的错误引起的。 后来,白帽黑客收回了大约 377,000 个受影响的 ETH。

火币网usdt兑换人民币_usdt混币技术_usdt是什么币

此次攻击导致以太坊价格波动。 据Coindesk数据显示,事件曝光后,以太坊价格一度从235美元跌至196美元左右。 此次事件主要是合约代码不严谨造成的,从区块浏览器可以看到黑客的资金地址

火币网usdt兑换人民币_usdt混币技术_usdt是什么币

可以看到,共计153037个ETH被盗,受影响的合约代码均为Parity创始人Gavin Wood编写的Multi-Sig库代码。 通过分析代码,可以确定核心问题出在越权调用函数。 合约接口必须精心设计,访问权限必须明确,或者进一步,合约的设计必须符合某种成熟的模型或标准。 由专业机构审核。 否则,不起眼的代码可能会让您花光所有的钱。

-USDT 发行方 Tether 被黑

2017-12

活动简介:

Tether 是 USDT 代币的发行者——一种与美元挂钩的加密货币,如今被交易所广泛使用。 在公告中,该公司声称其系统遭到攻击,导致价值 3000 万美元的 USDT 代币被盗。

火币网usdt兑换人民币_usdt是什么币_usdt混币技术

被盗代币不会被赎回,但 Tether 公司表示,他们正在努力恢复代币,以确保这些交易所不再交易或引入这些被盗资金,不让这些资金重新回到加密货币经济中。 比特币价格在黑客攻击后下跌了 5.4%,是自 11 月 13 日以来的最大跌幅。然而,Tether 被盗声明一出,国外社区的一些用户认为,从这个地址被盗的 3000 万美元只是 Tether 被盗的第一步。 Tether 的欺骗。 实际支付危机远不止3000万美元。 这起事件不仅是简单的虚拟货币盗窃案,还引发了对 Tether 的信任危机。

-Youbite交易所被黑

2017-12-19

活动简介:

12月19日,韩国数字货币交易所Youbite发布公告称,其交易平台在当天下午4时左右(北京时间3时00分)遭到黑客攻击,造成相当于平台总资产17%的损失。 该平台是韩国市场份额较小的数字货币交易平台。 今年 4 月,该平台还遭到黑客攻击,损失了近 4000 个比特币。

usdt是什么币_火币网usdt兑换人民币_usdt混币技术

Youbit表示,在4月份遭到黑客攻击后,它加强了安全策略,将剩余83%的交易所资金安全地存放在冷钱包中。 不过,经营该交易所的公司 Yaipan 周二申请破产,并停止在该平台上交易。 公告显示,交易所将所有客户的资产价值减记至市值的75%,客户可立即提取这部分资产。 该公司表示将在破产程序结束时偿还剩余资金,届时它将提出保险索赔并出售公司。

03 总结

虚拟货币的火爆直接搅动了金融市场和科技市场,同时也面临着各种安全问题。 现在各国也开始出台针对区块链市场和虚拟货币市场的政策和治理方案,交易所也开始纳入管控范围。 韩国前段时间对国内7家大型交易所进行了安全测试,全部被成功入侵。 但是每个交易所每天的交易量都是上亿。 可见,此类安全问题并非孤例。 作为虚拟货币交易平台,是否有资格、有能力对网络虚拟货币进行保护? 安全成为一个值得考虑的问题。 虚拟货币逐渐从互联网进入现实世界。 然而,这一过程中加密货币的进步也带来了极大的隐患,这也促使政府企业和个人更加谨慎地选择和投资交易平台和虚拟货币本身。

0x04 区块链在安防行业的应用

区块链社区非常活跃,经常有人认为这项技术不仅有效地推进了虚拟货币的发展,而且增强了现有的安全解决方案,从区块链的角度解决了一些安全问题。

举几个区块链技术的安全用途:

01 更安全的认证机制

根据区块链技术的特点,设备可以在不需要第三方授权的情况下以点对点的方式进行识别和交互。 与双因素身份验证一起,伪造数字安全证书变得不可能,从而使网络结构更加安全。 例如应用于密码验证服务、物联网设备认证等。

02 更安全的数据保护

在基于区块链的系统中,存储的元数据分散在分布式账本中,无法在集中点收集、篡改或删除。 其中的数据具有更好的完整性、可靠性和不可否认性。 可应用于公共数据存储场景,如产权记录、财务记录等。

03 更安全的基础设施

利用区块链的分布式特性,可以提供一个去中心化的平台,通过该平台可以访问和利用共享带宽,远优于带宽受限的单服务器中心化模型。 去中心化平台可以降低 DDoS 成功的风险并更好地保护基础设施。 如网站、DNS解析服务等。

火币网usdt兑换人民币_usdt是什么币_usdt混币技术