区块链节点重启
① 加密技术真的可以重建社会信任吗-
在区块链行业,不同人对“信任”一词的定义也不同。对软件工程师来说,信任通常指“零信任的交互系统”、“无须信任的交易”以及其他信任最小化的技术。尽管如此,信任一直是帮助我们真正理解加密技术的关键。
信任(trust)源自于古诺斯语的“traust”,意思是信心和庇护。这个词自古以来的意思都是:相信人和流程将如约履行承诺。信任是 社会 正常运转的基石——互信的 社会 通常也会发展出更加繁荣的经济以及和谐的 社会 ,因为在这样的 社会 中,对手方风险更小且纠纷解决流程更公平。
不幸的是,公众对负责维护 社会 经济运转的核心机构已经开始失去信任。据盖洛普民调显示,美国民众对美国主要机构的信心在过去45年以来一直下滑。虽然不同行业和国家信任崩塌的程度各不相同,但从民众对现有体制的消极情绪来看,显而易见大家都在寻求更加公平的解决方案。
区块链、Cryptocurrency、智能合约和预言机等新技术不断涌现出来,以更加安全、透明和可及的方式来协调 社会 和经济事务。更重要的是,这些技术证明了加密保障将高效地重建人们对于日常 社会 经济活动的信任,加密保障通常也被称为“加密事实”(cryptographic truth)。
注:本文中的“应用”一词泛指在同一平台上与公司、政府或其他用户交互的任何界面,其中包括手机上或网站上下载的应用。另外,本文中谈到的区块链大多指无需许可的区块链(即:以太坊和比特币区块链),因为这类区块链的应用范围远大于需要许可的区块链(即:联盟链和私有链)。
公众对传统机构和流程失去信任,这个问题体现在现代 社会 的各个方面。下文列举了导致信任崩塌的四个原因,这些问题直接影响了人们的生活质量和 社会 经济发展。
数据和流程的所有权中心化
互联网初始的设计架构决定了应用在很大程度上是中心化的。通常,中心化的实体拥有应用的知识产权,控制其后端算法,决定其未来开发方向,并从应用产生的数据和收入中获利。这种中心化的模式导致用户和应用之间产生了一种不对等的关系。应用可以轻而易举榨取用户价值,而这也导致了用户对应用失去信任。
比如,应用经常会在未经用户的同意下审查用户的操作行为。可能有些操作确实违反了服务条款,比如违法行为。但是很多时候审查并没有明确的依据,而是主观的。这不禁会让人质疑平台的中立性。中立的平台不应该特殊对待或歧视任何人,尤其不能因为自身利益、外部政治或 社会 压力、或者价值观差异而搞差别对待。公众对于社交媒体、金融服务、流媒体等社交平台是否有权审查平台内容也持有非常两极的观点。
如果用区块链和预言机来建立信任网络,那么就可以有效解决上述问题——世界可以基于客观事实运转,所有人和流程都完全按照协议办事,所有数据都得到准确记录。
数据归个人所有,流程所有权去中心化
区块链技术的一个最大优势就是可以将负责运行 社会 经济活动的应用或机构去中心化。区块链技术可以创建完全中立的平台,且平台不能因为任何经济、政治或 社会 压力而随意审查用户内容。一旦条款被写入智能合约并储存在区块链上,任何人都可以查看用户与dApp之间的关系,并且任何一方甚至管理员都无法篡改。
去中心化的系统还消除了中间托管方。区块链更像是一个非托管式的协助者,dApp产生的所有数据都可以公开查看并且无法被任何人篡改。用户可以通过私钥直接控制自己的数据和资产,而且私钥只有用户自己可以拥有。比如,任何人都可以查看比特币账本的完整交易 历史 ,而且可以托管并发送自己账户中的比特币至网络中的其他用户,整个过程无需银行参与。
以共识为基础,通过加密技术保障执行
由于区块链基于去中心化的共识机制来验证网络中的交易,因此在分歧发生时任何一方都不会受到特殊对待。区块链中没有管理员,因此陷入危机的dApp不可能得到救助,也不能随意按下重启键。区块链用去中心化的网络替代了管理员,这个网络基于加密技术和经济激励机制保障安全,几乎不可能篡改共识或之前储存的数据。
区块链和dApp也可以改变,但改变通常需要众多独立的用户共同达成 社会 共识,而不是像中心化的应用那样光靠一个人就可以做决策。正因如此,许多dApp都采用了去中心化的自治组织(下文简称DAO)来进行治理,通过所有用户共同投票来发起变更。事实上,许多dApp都有自己的原生通证,并在DAO中使用这些通证,采用通证加权的投票机制来决定提议是否通过。
在全局可访问且防篡改性极高的区块链平台上执行数字合约,可以大幅降低对手方风险。许多区块链和dApp还引入了自动处罚机制,惩罚参与者的作恶行为。比如,PoS区块链会没收恶意节点质押的部分通证,以作为惩罚。dApp还可以暂时托管用户的资金,直到验证了某些条件达成后再释放资金。这样,输的一方几乎不可能逃避付款。
去中心化的预言机网络也通过创建权威事实来实现相同的保障。每个dApp都可以明确定义它们希望以什么样的方式从外部世界获取事实,并且制定清晰的边界条件。也就是说,预言机可以更加灵活地为智能合约验证外部事件。用户可以选择相信不同的数据源,也可以选择花更多钱来提升预言机网络的去中心化水平。无论用户如何设计预言机机制,都必须先对预言机传输的事实达成共识并认可其权威性。用户和预言机之间达成的协议可以写入一个服务水平协议(下文简称SLA)智能合约中,以避免任何人篡改协议内容,并在任务完成时自动执行奖惩机制。
Chainlink可验证随机函数(下文简称VRF)就是通过预言机创建权威事实的服务。Chainlink VRF采用预言机技术在链下生成随机数和加密证明,然后将二者发送到链上,区块链会利用加密证明来验证随机数没有经过任何预言机篡改。NFT和 游戏 应用使用Chainlink VRF生成的随机数来执行各种链上函数,比如挑选特殊NFT airdrop的中奖者,以及决定宝箱内物品。值得一提的是,用户可以独立验证整个过程的公平公正性,就连 游戏 开发者或NFT创作者都无权影响随机结果的产生。
② 《区块链项目开发指南》读书笔记
ethash
答:在DAPP中,没有一个中心服务器来协调节点,或者决定什么是对,什么是错,因此应对这个挑战确实不容易,一致性协议(concensus protocol)可用于解决这个问题。
补充:共识算法的核心就是解决拜占庭将军问题(分布式网络一致性问题)。
答:修改bug或者更新DAPP很困难。
如果我需要从一个中心化应用抓取数据,如车辆违章信息,怎么保证抓取的数据是真实有效的?
答:为了访问中心化的API,可以使用Oraclize服务可以作为中间人,Oraclize为从中心化服务智能合约中抓取的数据提供TLSNotary验证。
中心化应用的所有者需要有盈利才能长期维护应用的运行,而DAPP虽然没有所有者,但是跟中心化应用一样,DAPP节点需要硬件和网络资源才能维持运行。DAPP节点需要一些有用的回报来维持运行,于是内部货币登场了。大多数DAPP都有内置内部货币,或者可以说最成功的DAPP都有内置内部货币。如以太币
授权的DAPP不对所有人开放。授权的DAPP继承了免权限DAPP的全部属性,但需要权限才能参与到网络中去。授权的DAPP与免权限的DAPP的共识协议是不同的。授权的DAPP没有内部货币。
超级账本(Hyperledger)项目致力于开发创建授权的DAPP技术。
为什么少数国家认定比特币是非法的,大部分国家对此还没有做出决定呢?原因如下:
星际文件存储系统(InterPlanetary File System)是一个去中心化的文件系统。
目标是通过使交易几乎瞬间完成,并隐藏交易账户的信息,还可以防止他人用ISP追踪所有者。
任何人都可以成为以太坊网络中的矿工。每个矿工独自解决问题,第一个解决问题的矿工是胜利者,它得到的回报是5个以太币和该区块中全部交易的交易费。区块链中有多少个区块没有限制,可以生成的以太币总数也没有限制。
网络中的任何节点都可以检查区块链是否合法,首先检查交易在区块链中是否合法以及时间戳的验证情况,然后检查区块的目标值和随机数是否合法、矿工是否得到合法的回报等。
节点是如何发现网络中的其他节点的呢?
以太坊的节点发现协议:Kadelima,在这种协议中,有一种特殊节点Bootstrap节点。它保存了一段时间内与它连接的所有节点列表,但其本身不保存区块链。
当对等节点连接到以太坊网络时,它们首先连接到Bootstrap节点。
可以有多种以太坊实例,也就是说,不同的网络每个都有自己的网络ID。
两种主要的以太坊网络是主网和测试网。以太币在主网上交易,而测试网供开发人员测试。
一个去中心化的通信协议,它支持广播、用户到用户、加密信息等,但不用于传输大数据。
一个去中心化的文件系统。
geth为其他应用提供了与其通信的JSON-RPC API。使用HTTP、WebSocket和其他协议服务于JSON-RPC API。
JSON-RPC API提供的API分成如下类型:
以太坊网络中的节点默认用 30303 端口通信。
--networkid 用于指定网络ID,1代表主网网络ID,缺省默认值为1,2代表测试网络ID
--dev 标记运行一个私有网络
--etherbase 指定挖矿赚取的回报存入的钱包地址
--unlock 解锁一个或者多个账户
以太坊钱包与geth捆绑在一起。运行以太坊时,它会尝试发现一个本地geth实例并与之连接;如果它不能发现geth正在运行,它就启动自己的geth节点。以太坊钱包使用IPC与geth通信。geth支持以文件为基础的IPC。
以太坊下一个主要更新的名字。Serenity把共识协议改为casper,并将整合状态通道和分片。
Casper 实施了一个进程,使得它可以惩罚所有的恶意因素。这就是权益证明在Casper下是如何工作的:
验证者押下一定比例的他们拥有的以太币作为保证金。然后,他们将开始验证区块。也就是说,当他们发现一个可以他们认为可以被加到链上的区块的时候,他们将以通过押下赌注来验证它。
如果该区块被加到链上,然后验证者们将得到一个跟他们的赌注成比例的奖励。但是,如果一个验证者采用一种恶意的方式行动、试图做“无利害关系”的事,他们将立即遭到惩罚,他们所有的权益都会被砍掉。正如你可以看到的,Casper被设计成可以在一个无需信任的系统上工作,并且是更加拜占庭容错的。
支付通道 功能允许将两个以上向另一个账户发送以太币的交易合并成两个交易。其工作原理为:假设X是一个视频网站老板,Y是个用户。X每分钟收费1个以太币。现在X想让Y看视频期间每分钟交一次钱。当然,Y可以每分钟广播交易,但是这里有些问题,例如X不得不等待确认,所以视频就会中断一会。支付通道可以解决这个问题。使用支付通道,Y可以广播一个锁定交易,为X把一些以太币(比如100个以太币)锁定一段时间(比如24小时)。现在每看完一分钟视频,Y将发送一个签名记录表示可以解锁,一个以太币就进入X的账户,其余的进入Y的账户。再过一分钟,Y将发送一个签名记录表示可以解锁,两个以太币就进入X的账户,其余的进入Y的账户。Y观看X网站的视频过程中,该过程将持续。现在假设Y看完了100小时视频或者24小时时间到了,X将向网络广播最后的签名记录,以把钱收到自己的账户里。如果X没有在24小时内提款,全款会返还给Y。所以在区块链中,我们将看到lock和unlock两种交易。
Sybil攻击
51%攻击
补充:不能存储较大数据,目前有Swarm与IPFS等分布式存储方式可供选择
把所有东西都存在内存里,因此,节点一旦重启,将丢失以前的状态。
默认监听端口:8545
③ 学习区块链我们需要了解什么
首先需要了解网络通信方面的相关内容,其次是数据储存、加密技术、共识机制和安全技术,最后是跨链技术和链下技术。个人认为要学习区块链应该从实践出发,如果是程序员可以去区块链相关的公司接触相关的业务,在工作中学习。我之前在煊凌科技工作,公司在区块链开发方面的实力和经验都很不错,不管是工作还是合作都是不错的对象。
④ 以太坊开发人员正在应对最坏情况
以太坊准备好迎接“伦敦”硬分叉了吗?
随着以太坊准备在8月4日星期三激活其第11次向后不兼容升级,也称为“硬分叉”,一些开发人员担心升级可能会在部署前进行更多测试。
在7月23日星期五举行的每两周一次的以太坊核心开发者会议之后不久,以太坊基金会的提姆·贝科在所有的核心开发者Discord 聊天室中写道,“有几个人已经联系或发推文说他们不一定对不延迟[硬分叉]感到满意……我[在会议上]询问了这个问题,似乎没有人有强烈的意见,但有些人提到这可能不是正确的方法。”
在回应贝科的评论时,以太坊软件客户端开发人员阿列克谢·阿胡诺夫表示,他同意,鉴于最近发生的事件,在每两周一次的会议上,没有更多讨论可能推迟被称为“伦敦”的硬分叉。
“我想我知道为什么,”阿胡诺夫写道。“推迟 [伦敦] 是一个敏感话题,没有人愿意承受压力,这是可以理解的。”
聊天室中的其他人恳求以太坊开发人员认真考虑将伦敦再推迟几周进行进一步测试。
对伦敦升级风险的担忧—其中包括影响以太坊费用市场的有争议的代码更改,称为以太坊改进提案(EIP)1559—在以太坊软件客户端Geth中发现一个错误后增长。
作为背景,Geth是最流行的用于连接以太坊的软件。据Ethernodes.org称,在所有同步到以太坊网络的计算机(也称为节点)中,估计有86%运行Geth客户端软件。
7月21日星期三,一个月前启动伦敦硬分叉的以太坊测试网络Ropsten,在运行Geth的节点将无效交易挖入一个区块,而运行少数客户Besu和Open以太坊的节点却拒绝了它。
几个小时内,Geth团队发布了一个补丁程序,并鼓励所有用户将他们的软件更新到最新版本号Terra Nova1.10.6。
虽然没有开发人员认为该漏洞应该在周五的电话会议期间延迟伦敦的主网络激活,但一些开发人员确实讨论了如果在以太坊而不是在测试网络上发现此类漏洞的适当行动方案。
“如果像这样的事情发生在主网上,我们会怎么做,尤其是在大多数客户Geth正在生产区块的地方?显然需要几个小时才能修复,”贝科在会议期间说。
以太坊基金会的马丁·霍尔斯特·斯温德强调,这些漏洞在Ropsten上并不是前所未有的,虽然解决它们“很麻烦”,但有两种方法可以解决它们。
首先,如果用户的节点遵循错误的区块链版本,用户将需要在链分裂之前在内部将链“倒回”到区块,并使用修补过的Geth软件同步到新链。其次,如果用户的节点尚未同步到区块链的某个版本,但正在尝试连接到网络以收集有关最近交易的数据或执行交易,则用户最终可能会连接到错误版本的链。为了避免这种情况,这些用户需要将以太坊上遵循正确链的某些节点“列入白名单”,并与卡在错误链上的其他节点隔离。
倒带和白名单以太坊节点都可以通过Geth完成。Ropsten上的矿工能够使用这些策略解决上周三发生的链分裂问题,尽管一位矿工在周五的会议上指出,在周三的事件发生之前,修复链分裂的指令没有得到有效传达,因此让许多矿工对如何正确重启节点感到困惑。
用户“AlexSSD7”在Discord 聊天室中写道,作为以太坊矿池的代表,他们“担心”Geth中的错误,并指出,“一分钟的[网络]停机时间让我们付出了很多代价。一小时的停机时间对我们来说是2万美元。”
客户端软件中的意外错误确实会对在主网络上运行的交易所和企业造成破坏,这就是为什么开发人员强调需要一个强大的监控系统,该系统可以快速提醒节点运营商链分裂并鼓励他们暂停运营直到进一步调查。
“这似乎是一个非常容易实现的成果,为生态系统提供了一种价值基调。如果你不确定如何开始,请在Discord中询问,”贝科在周五的会议上说。
如果在主网上部署伦敦后再次发生类似于周三发生的错误,这些解决方案肯定会有所帮助,但它们不一定是用于解决更大规模问题的相同解决方案,例如黑客神奇地打印了1亿个ETH。
如果发生如此灾难性的事情,以太坊基金会的丹尼·瑞安在周五的会议上表示,很难提前知道开发人员将如何进行。
“我认为对于将出现的多种类型的错误和多种类型的特性,只有多种选择,”瑞安说。
网络漏洞的影响越严重,解决漏洞的解决方案就越可能具有侵入性——并且对以太坊作为安全区块链的声誉的损害就越大。
随着以太坊发展路线图的近期硬分叉越来越雄心勃勃,找出最坏情况的潜在解决方案以及与网络权益持有人的损害控制计划可能很快成为开发人员考虑的当务之急。
Fountain联合创始人马修·香森说:“传统市场的DeFi:当安全代币出现时。” 。 亮点 : Fountain是以太坊上的一个去中心化交易所,使用户能够买卖安全代币。香森强调了区块链技术提供的流动性和可访问性,每天24小时可访问并允许即时结算。证券通证化还有其他一些好处,包括进一步提高可访问性的资产透明度和分拆。然而,建立一个完全去中心化的证券交易所有很多挑战。入职客户和新证券都需要遵守国际法规,包括了解客户法律和托管许可证。
“信贷授权的力量”,Aave创始人斯坦尼·库莱霍夫的演讲。亮点: Aave是一个建立在以太坊基础上的去中心化借贷协议。该协议背后的团队已经开发出一种可以提供零抵押贷款的产品。库莱霍夫认为,这是在将DeFi流动性引入实体经济和推动Aave借贷需求方面向前迈出的一步。
以太坊创造者维塔利克·巴特林所说的“DeFi之外的事情”。亮点: 除金融服务外,社交媒体和公共产品融资是以太坊尚未开展的两项活动。巴特林认为,网络的代币经济和抵抗审查是这些活动能够从建立在去中心化区块链之上获益的两个原因。
“Uniswap,DeFi&消费金融的未来”,Uniswap增长负责人Ashleigh Schap的谈话。亮点: Uniswap实验室正试图与Talos、Paxos和Fireblocks等区块链基础设施公司建立合作关系,将DeFi解决方案连接到PayPal和E*Trade等知名金融 科技 公司的后端。
Circle协议开发者朱利安·布特卢普谈到“为什么DEX正在吞噬世界”。亮点: 在最好的情况下,[去中心化金融]允许世界公民平等地使用所有货币、股票和金融平台。随着领域的发展,去中心化将成为一种趋势。监管者将监督传统金融界使用的协议,用户仍将有权进入DeFi如今的“狂野西部”试验场。
#比特币[超话]# #数字货币#
⑤ 区块链技术(节点和网络)
矿工是同时进行挖矿的节点,它们试图创建新的区块(通过改变nonce,反复对区块进行哈希运算,以找到有效区块),然后把新的副本加入区块链并广播给其它节点,其它节点再进行验证,最后转播或拒收该区块。需要注意的是,矿工和节点是分开的,节点可以是矿工,但节点不一定要挖矿。当全节点从矿工处接收了一个有效区块,它会将其添加到自己的本地副本中,并把区块转播给一些相连节点,这些节点再验证这个区块并广播给其它相连节点。通过这种方式,这个区块被传播到了整个网络,接下来的区块再重复这个步骤。
⑥ 区块链停更后又开启
区块链停更后又开启?区块链的服务又开启器运行还能恢复。能会崩溃,也能修复,区块链是多节点同步存储的,只要节点数据没全部损坏,就是安全的。第一步:点击桌面“设置”图标。第二步:打开“通用”,选择“还原”。第三步:选择“还原网络设置”以恢复网络:
⑦ 公有链的安全主要由什么等方式负责维护
公有链:是指全世界任何人都可以随时进入到系统中读取数据、发送可确认交易、竞争记账的区块链。例如:比特币、以太坊。
私有链:是指其写入权限由某个组织和机构控制的区块链,参与节点的资格会被严格限制。
联盟链:是指有若干个机构共同参与管理的区块链,每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。
联盟链是一种将区块链技术应用于企业的相对较新的方式。公有链向所有人都开放,而私有链通常只为一个企业提供服务,联盟链相对公链来说有更多限制,通常为多个企业之间的共同协作提供服务。
联盟链与公有链的不同之处在于,它是需要获得事先许可的。因此并不是所有拥有互联网连接的任何人都可以访问联盟区块链的。联盟链也可以描述为半去中心化的,对联盟链的控制权不授予单个实体,而是多个组织或个人。
对于联盟链,共识过程可能与公有链不同。联盟链的共识参与者可能是网络上的一组预先批准的节点,而不是任何人都可以参与该过程。联盟链允许对网络进行更大程度的控制。
那说到联盟链的优点:
首先,联盟链受一个特定群体的完全控制,但并不是垄断。当每个成员都同意时,这种控制可以建立自己的规则。
其次,具有更大的隐私性,因为来验证区块的信息不会向公众公开,只有联盟成员可以进行处理这些信息。它为平台客户创造了更大的信任度和信心。
最后,与公共区块链相比,联盟链没有交易费用,更灵活一些。公共区块链中大量的验证器导致同步和相互协议的麻烦。通常这种分歧会导致分叉,但联盟链不会出现这种状况。
联盟链技术可以用来优化大多数传统信息化系统的业务流程,特别适用于没有强力中心、多方协作、风险可控的业务场景。联盟链的共享账本机制可以极大降低该类场景下的对账成本、提高数据获取效率、增加容错能力、巩固信任基础、以及避免恶意造假。
随着区块链技术的不断发展,越来越多的机构与企业开始加大对区块链的研究与应用。相比公链而言,联盟链具有更好的落地性,受到了许多企业与政府的支持。
联盟链可以理解为是为了满足特定行业需求,内部机构建立起来的一种分布式账本。这个账本对内部机构是公开透明的,但如果有相关业务需求,对该账本的数据进行修改,则还是是需要智能合约的加入。
智能合约(Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
总体来说,目前联盟链智能合约的主流架构是:系统合约 + 业务合约。
系统合约:在节点启动前配置完成,一般用于系统管理(如BCOS的预编译合约(权限管理、命名管理等),由项目方编写,安全性较高。
业务合约:根据实际业务编写而成,需要部署,类似公链智能合约,由一般内部机构参与方编写,需遵守一定的要求,安全性一般。
联盟链合约相较于常规公链在规范性、和安全性都有一定的提升,但在以下几个方面的安全性问题,仍可能存在安全风险:
(1)、代码语言安全特性
一种是继续沿用主流公链编程语言,并在其基础上改进(如:BCOS使用的solidity),另一种则是以通用编程语言为基础,指定对应的智能合约模块(如:fabric的Go/Java/Node.js),不管使用什么语言对智能合约进行编程,都存在其对应的语言以及相关合约标准的安全性问题。
(2)、合约执行所带来的安全性问题
整型溢出:不管使用的何种虚拟机执行合约,各类整数类型都存在对应的存储宽度,当试图保存超过该范围的数据时,有符号数就会发生整数溢出。
堆栈溢出:当定义方法参数和局部变量过多,字节过大,可能使程序出现错误。
拒绝服务攻击:主要涉及到的是执行合约需要消耗资源的联盟链,因资源耗尽而无法完成对应的交易。
(3)、系统机制导致的合约安全问题
这里主要是指多链架构的联盟链:
合约变量的生成如果依赖于不确定因素(如:本节点时间戳)或者某个未在账本中持久化的变量,那么可能会因为各节点该变量的读写集不一样,导致交易验证不通过。
全局变量不会保存在数据库中,而是存储于单个节点。因此,如果此类节点发生故障或重启时,可能会导致该全局变量值不再与其他节点保持一致,影响节点交易。因此,从数据库读取、写入或从合约返回的数据不应依赖于全局状态变量。
在多链结构下进行外部链的合约调用时,可能仅会得到被调用链码函数的返回结果,而不会在外部通道进行任何形式的交易提交。
合约访问外部资源时,可能会暴露合约未预期的安全隐患,影响链码业务逻辑。
(4)、业务安全问题
联盟链的智能合约是为了完成某项业务需求执行某项业务,因此在业务逻辑和业务实现上仍是可能存在安全风险的,如:函数权限失配、输入参数不合理、异常处理不到位。
我们对联盟链安全的建议:
(1)、简化智能合约的设计,做到功能与安全的平衡
(2)、严格执行智能合约代码审计(自评/项目组review/三方审计)
(3)、强化对智能合约开发者的安全培训
(4)、在区块链应用落地上,需要逐步推进,从简单到复杂,在此过程中不断梳理合约与平台相关功能/安全属性
(5)、考虑DevSecOps(Development+Security+Operations)的思想
链平台安全包括:交易安全、共识安全、账户安全、合规性、RPC安全、端点安全、P2P安全等。
黑客攻击联盟链的手法包括:内部威胁、DNS攻击、MSP攻击、51%的攻击等。
以MSP攻击为例:MSP是Fabric联盟链中的成员服务提供商(Membership Service Provider)的简称,是一个提供抽象化成员操作框架的组件,MSP将颁发与校验证书,以及用户认证背后的所有密码学机制与协议都抽象了出来。一个MSP可以自己定义身份,以及身份的管理(身份验证)与认证(生成与验证签名)规则。
针对MSP的攻击,一般来说,可能存在如下几个方面:
(1)、内部威胁:a)当前版本的MSP允许单个证书控制,也就是说,如果某个内部人员持有了可以管理MSP的证书,他将可以对Fabric网络进行配置,比如添加或撤消访问权限,向CRL添加身份(本质上是列入黑名单的身份),过于中心化的管理可能导致安全隐患。 b)如果有传感器等物联网设备接入联盟链,其可能传播虚假信息到链上,并且因为传感器自身可能不支持完善的安全防护,可能导致进一步的攻击。
(2)、私钥泄露,节点或者传感器的证书文件一般存储在本地,可能导致私钥泄漏,进而导致女巫攻击、云中间人攻击(Man-in-the-Cloud attack)等
(3)、DNS攻击:当创建新参与者的身份并将其添加到MSP时,在任何情况下都可能发生DNS攻击。向区块链成员创建证书的过程在许多地方都可能发生攻击,例如中间人攻击,缓存中毒,DDOS。攻击者可以将简单的DNS查询转换为更大的有效载荷,从而引起DDoS攻击。与CA攻击类似,这种攻击导致证书篡改和/或窃取,例如某些区块链成员将拥有的权限和访问权限。传感器网络特别容易受到DDOS攻击。智慧城市不仅面临着实施针对DDOS攻击的弱点的传感器网络,而且面临着弱点的伴随的区块链系统的挑战。
(4)、CA攻击:数字证书和身份对于MSP的运行至关重要。Hyperledger Fabric允许用户选择如何运行证书颁发机构并生成加密材料。选项包括Fabric CA,由Hyperledger Fabric,Cryptogen的贡献者构建的过程,以及自己的/第三方CA。这些CA本身的实现都有其自身的缺陷。 Cryptogen在一个集中的位置生成所有私钥,然后由用户将其充分安全地复制到适当的主机和容器中。通过在一个地方提供所有私钥,这有助于私钥泄露攻击。除了实现方面的弱点之外,MSP的整体以及因此区块链的成员资格都在CA上运行,并且具有信任证书有效的能力,并且证书所有者就是他们所说的身份。对知名第三方CA的攻击如果成功执行,则可能会损害MSP的安全性,从而导致伪造的身份。Hyperledger Fabric中CA的另一个弱点是它们在MSP中的实现方式。 MSP至少需要一个根CA,并且可以根据需要支持作为根CA和中间CA。如果根CA证书被攻击,则会影响所有根证书签发的证书。
成都链安已经推出了联盟链安全解决方案,随着联盟链生态的发展,2020年成都链安已配合多省网信办对当地政企事业单位的联盟链系统进行了从链底层到应用层多级安全审计,发现多场景多应用多形态的联盟链系统及其配套系统的漏洞和脆弱点。
并且,成都链安已与蚂蚁区块链开展了合作,作为蚂蚁区块链优选的首批节点加入开放联盟链,我们将发挥安全技术、服务、市场优势,与开放联盟链共拓市场、共建生态、并为生态做好安全保驾护航。
一方面我们的智能合约形式化验证产品VaaS将持续为开放联盟链应用提供『军事级』的安全检测服务,为应用上线前做好安全检测,预防其发生安全和逻辑错误;我们的『鹰眼』安全态势感知系统采用AI+大数据技术,为开放联盟链及其应用提供全面及时的『安全+运营』态势感知、链上合约风险监测、安全预警、报警、防火墙阻断及实时响应处理能力。
另一方面,我们的安全产品已经积累了数十万的客户群体,我们将发挥我们的全球客户资源和市场优势,与开放联盟链共拓市场。
在联盟链平台上,我们能提供全生命周期的整体安全解决方案,成都链安以网络安全、形式化验证、人工智能和大数据分析四大技术为核心,打造了面向区块链全生态安全的『Beosin一站式区块链安全服务平台』。
『Beosin一站式区块链安全服务平台』包含四大核心安全产品和八大明星安全服务,为区块链企业提供安全审计、虚拟资产追溯与AML反洗钱、安全防护、威胁情报、安全咨询和应急等全方位的安全服务与支持,实现区块链系统『研发→运行→监管』全生命周期的安全解决方案。
我们会积极发挥区块链安全头部企业优势,共同构建安全的区块链商业网络,推动区块链产业健康、安全的发展,探索区块链未来的无限可能。