新闻 资讯 金融 知识 财经 理财 科技 金融 经济 产品 系统 连接 科技 聚焦
首页 > 科技 > 区块链 > > 正文

揭秘360区块链全布局

2018-11-20 00:33:31来源:快科技

今年5月29日,360爆料针对EOS的“史诗级”漏洞,高调进军币圈,这一波操作被认为是教科书级别的营销,在不乏热点的区块链行业里,投向一束追光灯,让业界纷纷注意到360这家公司的存在。

事实上,据360董事长周鸿祎在采访中透露,早在2017年底,360就已经开始研究区块链技术和相关的安全问题。2018年1月,360宣布推出共享云计划,官方表示这是全球首家基于区块链的安全共享云平台。5月发布“区块链安全态势感知系统”。几天后,公布EOS漏洞,并于同日宣布与币安、欧链、EOS LaoMao、Dbank等项目的合作,两天后,又上线区块链产品——爱得钻。

如此看来,在区块链这个战场上,360已经做好了充足的准备,并且非常习惯于憋大招,集中火力一炮打响。如今半年过去了,360区块链布局的轮廓逐渐显现出来。

13811542009719_.pic_hd

13811542009719_.pic_hd

整体来看,360区块链由安全产品体系和商业产品体系两条业务线组成,前者是在为区块链行业提供安全服务,后者主要是基于区块链发展自己的BaaS平台和公链“磐石链”平台。在最近的技术开放日中,360首度公布了其底层公链“磐石链”的核心技术与业务进展,巴比特将在本篇文章中为大家独家披露。

安全战场:EOS漏洞怒刷存在,老本行岂能丢??

据官网显示,360区块链安全基于360安全大数据,结合360安全大脑, 提供钱包、交易所、矿池、智能合约、eos超级节点等五大方向的安全解决方案。

13821542033511_.pic_hd

13821542033511_.pic_hd

据此前周鸿祎曾介绍,所谓的“360安全大脑”,其实就是一个具有感知能力、学习能力、推理能力、预测能力和决策能力的综合性智能系统。5月份EOS漏洞的发掘,就是结合360安全大脑和安全专家的能力。包括2016年美国遭遇的大断网事件,黑客利用安防摄像头发动DDoS攻击, 360安全大脑也提前发现了有针对安防智能摄像头的异常访问流量。

而目前上述针对钱包、交易所、矿池、智能合约、EOS超级节点的的5种服务,主要是基于三个系统,包括数字货币钱包安全审计系统、区块链安全态势感知系统和区块链节点安全解决方案。

第一个,数字货币钱包安全审计系统,会详细地列一些审计的要点,阐述如何做一款比较安全的数字钱包,从而保障用户的财产安全。第二个,区块链安全态势感知系统这个系统是基于360安全大脑的,可以自动对异常区块、异常交易、异常地址和智能合约进行监控,不仅可以将交易风险降到最低,而且还可对非法数字货币进行溯源。最后一个是区块链节点安全解决方案,目前主要会针对EOS。

在安全方面,目前360总计有11项专利,应用于上述的系统之中。

13831542054263_.pic_hd

13831542054263_.pic_hd

尽管安全是360的老本行,但一些根植于行业的安全公司,比如慢雾、知道创宇已经逐渐发展起来,因此在这一领域,360也着实面临着竞争与挑战。

安全这条业务线虽然是为区块链行业提供服务,但其本身并不是基于区块链技术,而是基于人工智能、大数据等技术的。所以接下来,我们重点解析360在区块链技术方面的研究和突破。这里主要分两部分,BaaS平台和360公链“磐石链”。

BaaS战场:BATJ抢先布局,360凭什么胜出??

首先解释下什么是BaaS,BaaS是Blockchain as a Service的缩写,中文译为“区块链即服务”。开发者可以在平台以最简便、高效的方式创建、部署、运行和监控区块链应用程序。目前BaaS最流行的模式是区块链云服务,BaaS作为一种云服务,是区块链设施的云端租用平台,其多租户特性让计算资源、平台资源、软件资源得到了最大程度的共享。

目前,BATJ、华为、联想纷纷通过这种方式涉足区块链。原因是云自身的开放性、网络性及资源的易获得性,和区块链自身的特性有很好的结合点,华为区块链构架师张子怡就表示:“区块链与云计算的结合越发紧密,BaaS有望成为公共信任基础设施。”

13841542054851_.pic_hd

13841542054851_.pic_hd

360BaaS平台整体架构和其他家类似,也是分为三层:应用服务层、区块链服务平台和基础设施服务层。区块链服务平台又包含管理门户层、智能合约层、底层区块链框架层,基础设施服务层提供公有云、私有云、混合云三种模式的部署。

这里需要特别注意的有两点:

一是360BaaS平台支持的底层链包括磐石链、 Ethereum 和Fabric,Ethereum(以太坊)是目前应用最普遍的公有链,Fabric大家也很熟悉,linux基金会发起的开源联盟链,目前在国内的普及度很高,几乎各家的BaaS服务中都提供Fabric的接口。“磐石链”是360研发的底层公链平台,稍后我们会详细解析.

二是联盟链和私有链场景下的容器化部署运维这块,360BaaS平台是把它放在了PaaS层,并自研了链的自动化部署、升级和扩容技术。

13851542059156_.pic_hd

13851542059156_.pic_hd

公链战场:不追求TPS的磐石链,究竟有何野心??

下面重点介绍下底层公链360“磐石链”,这也是360首次对外披露相关细节。

13981542071303_.pic_hd

13981542071303_.pic_hd

11月10日,在360技术开发日活动上,360区块链技术负责人李连港分享了360对于公链的思考:

最开始比特币出来的时候,大家的认为是区块链要做‘货币’。以太坊出来之后,这个想法变成了要做‘世界计算机’。其实在区块链出现之前,我们已经拥有了这样的世界计算机,我们称呼它为‘云计算’。云计算提供的服务可以被全世界的用户访问,通过这些服务我们可以搭建和部署自己的应用,保存应用数据;应用可以使用诸如 HTTP 这样的通讯协议和公开的 API 接口进行协作,共同完成某一个任务。这些年,云计算也没有停止进化的脚步,抽象层次越来越高,能力越来越强大,使用越来越方便。

如果要当作世界计算机来用,不得不说,区块链与云计算平台相比劣势明显:云计算平台可以支撑无限的吞吐量,可以提供完美的用户间隐私保护。但是我们知道,区块链之所以会有这些劣势,并不是由于设计的疏漏。恰恰相反,中本聪想请楚了 Ta 想要的是什么,在 Ta 看来,为了那个目标放弃一些东西是值得的。世界计算机不应该是区块链的目标,设计者不应该被这个错误的目标误导,设计者必须有自己的权衡。

基于这样的思考下,360磐石链的定位是,打造安全高效的区块链生态网络。但是技术架构图暂时不方便对外发布。

据巴比特了解,整体架构分为核心层、协议层、公共服务层三部分,其中值得注意的是,在核心层中内置了安全态势感知模块,与360安全态势感知系统建立联系。协议层目前提供身份标识、数据传输、价值转移三方面的服务。

目前整个区块链生态面临的几个痛点:安全性、可扩展性、可交互性、可持续性。

安全方面

,针对区块链的攻击,已经涉及应用层、合约层、基础设施层各方面,安全对于区块链的重要性已经不言而喻。

可扩展方面,主要基于TPS、网络带宽、数据存储三方面的考虑。内部业务场景上链有两点原则:一是区块链的特征是适合保存证据,它不是用来作为原始的数据存储,或大数据存储的基础设施;二是频繁更新同一个 Key的高频交易场景不适合链上操作,可以选择链下方案。

可交互方面,现在有比特币BTC的链、以太坊ETH的链,还有其他很多的链,但他们都是独立的,各自解决了自身去中心化记账的问题,但没有解决联合交易的问题,我们的仍然需要中心化交易所和法币等中间媒介才能进行代币交易和价值交换。只有解决连通性的问题,才能让区块链世界真正产生指数级的网络效应。

可持续方面,目前区块链大规模应用的阻碍不在于扩展性和交互性,不在于缺少高性能的公链,问题在于,缺少真正想去使用区块链的人。区块链是一个大型协作系统,目前公链最需要的是建立生态,吸引项目上链,吸引用户使用链上的 DApp。从开发者方面来讲,吸引项目上链重要的不仅是高吞吐量和低手续费,最基本的是便捷开发工具和完善的基础设施。从使用者方面来讲,目前的区块链和区块链产品的学习成本太高。从区块链生态来说,用户和企业之间并没有完全形成健康可持续的生态关系。我们期望构筑token驱动的闭环生态系统,让用户的数字资产具有真实的价值锚定,企业营收回馈用户,用户增长带动业务,实现良性循环。

根据以上的信息,360对于区块链底层公链的认识有几点值得注意:

1.区块链不适合存储大量数据;?2.区块链不适合高频交易;?3.如何不通过中心化交易所和法币等中间媒介进行代币交易和价值交换?只有解决连通性的问题,才能让区块链世界真正产生指数级的网络效应;?4. 区块链大规模应用的阻碍在于缺少真正想去使用区块链的人,360计划构筑token驱动的闭环生态系统;

尤其值得注意的是,360区块链技术负责人李连港特别强调:“鉴于区块链三元悖论,作为一个底层分布式账本的区块链项目一味追求高TPS或者是宣传极高TPS都是不合理的。”

由此也可以看出,磐石链的设计上并不过分追求高TPS,这和目前大部分传统互联网巨头对于区块链性能的执着不同,

在区块链这种分布式系统中,一个事务的记账权首先需要各个节点基于共识机制进行争抢,这就需要消耗大量时间。其次,一笔事务还需要经过多个甚至全部节点的反复验证和确认才能被写入数据库,这大大减慢了事务的处理速度。如果某个节点的响应速度很慢,整个系统的处理速度都会被拉低,而实际线上的区块链交易中情况会比预想的更复杂。

作为一个底层分布式账本的区块链项目一味追求高TPS或者是宣传极高TPS都是不合理的。

现有的区块链单链架构中,交易、运行代码、执行智能合约等各种操作,都是堆在一起完成的。这就导致了在执行智能合约时,还需要上传大量数据,处理大量手续费,造成了网络的拥堵。许多公链都专注于怎么解决性能扩展问题,却没有人考虑之后的容量问题。 在生产环境中,我们可以帮助业务把联盟链的 TPS 做到非常高的值,但同时,它每小时产生的数据量也是非常惊人的。我们团队在如何优化和规划存储上花了很多的精力寻找更好的解决方案

所以我认为TPS 不是一味的越高越好,存证和资产交易对TPS的需求是不一样的,高TPS直接带来的后果首先是高昂的网络带宽和数据存储成本,因此需要根据不同的业务场景进行定制化,合理的利用宽带和存储资源。

360磐石链主推四项核心技术,包括多链架构、vdBFT共识算法、跨链交互、交易并行。

13861542061770_.pic_hd

13861542061770_.pic_hd

多链,即抛弃了“一链治所有”的传统方案,采用“一链一合约”的新方案重新设计了一个保障每个合约都能正常运行的公链。这一设计极大程度上简化了架构,降低了数据处理压力,确保一条链上流量激增不会影响到另一条链的效率,在链上进行的任何业务都不会受到其他业务干扰,有效实现了资源隔离。

李连港介绍到:

1.主链的职责尽量简单,负责关键信息的注册、配置和处理跨链交易等; 2.业务子链相互独立不会直接交互,子链每个构件都是模块化的并且是松耦合的,这种设计使得当某个构件成为瓶颈的时候,我们可以独立的扩展此模块的能力。

13871542061787_.pic_hd

13871542061787_.pic_hd

据悉,vdBFT是一个结合 VRF、dPoS、BFT的全新的共识算法。

vdBFT共识在传统的 BFT 上做了多个方面的改进,主要包括:引入 VRF 函数和加密抽签,它的应用保证了参与共识的节点不因整个网络的扩展而变得很多,在很大程度上提升了共识的可拓展性;引入 dPoS 加强了网络的治理,应对无利害关系攻击;引入 checkpoint 避免了长距离攻击。采用了 dPoS 的方式治理网络,每一个有意愿要参与共识出块的节点都需要在 dPoS 表中上缴一定数额的押金而获得一部分的股份,加密抽签就是基于这个 dPoS 表确定。

具体来讲,每轮共识包括以下几个阶段:

1. 根据 VRF 从共识网络中选择备选提案节点,备选提案节点根据自己交易池信息出块作为备选块。 2. 根据 VRF 从共识网络中选举多个验证节点,每个验证节点从网络中收集备选区块,进行验证,然后对最高优先级的备选区块进行投票。 3. 根据 VRF 从共识网络中选举多个确认节点,通过 BFT 算法对上述验证节点的投票结果进行验证,并确定最终的共识结果。 4. 所有节点从网络中收集共识结果和对应区块,并在共识确认后开启下一轮的共识。 5. 每隔3000个区块在主链上做一个存证,把共识网络的区块固化下来。

当共识节点发现其他节点违反规定投票时,共识节点可以发起检举,然后通过 BFT 算法在共识网络中达成共识,对违反规定的共识节点以扣除节点所有抵押股份的方式进行惩罚。

13881542061804_.pic_hd

13881542061804_.pic_hd

13891542061820_.pic_hd

13891542061820_.pic_hd

跨链是目前区块链技术的一个热词,为的是提高交互,满足复杂商业生态场景里的基础需求。想象一个理财应用,用户可以用某项资产交换不同机构的理财产品,不同的资产就需要在多条链上做转移和交换。还有一些ORACLE应用同样需要多链间的跨链喂入交互,譬如汇率牌价、天气、股价、特定指标等等。

李连港分享了360对于跨链的思考:

首先,在现阶段还没有一个大家公认的通用跨链协议的情况下,不要指望自己设计一个新的跨链协议然后让大家来配合你。目前有很多项目基于这个思路在做跨链,我们认为这种思路只具有理论上的可行性,无法真正落地。其次,做跨链要考虑可扩展性。要做一个更加通用的跨链方案,而不仅仅是面向某种类型的资产。

因此,360设计时主要遵循的原则有:

1.需要有尽可能少的功能性。?2.只要目标链可以暴露正常的接口,就不在基础协议里添加多余的复杂性。?3.没必要在目标链中添加任何要求、约束或限制,通过外置微服务层,实现最具适应度的扩展和优化。?4.需要提供一个稳定的基础层,并通过去中心化的交易方式降低遭受攻击的可能性。

基于此,磐石链采用去中心化交易所模式完成跨链交互,实现去中心化订单撮合,去中心化资产清算。具体来讲:

当用户将token转账到特定的中介地址后,系统会自动调用主链的智能合约进行去中心化撮合,支持单笔匹配交易和市场深度撮合交易;

资产清算时使用api接口调用或智能合约执行转账,保证资产清算过程透明独立,并且清算的目标账户由用户指定,用户每笔的提现或转账交易都需要用户自己的私钥进行签名,任何人无法伪造和篡改交易请求,从而实现了去中心化的过程。

13901542061836_.pic_hd

13901542061836_.pic_hd

13911542061862_.pic_hd

13911542061862_.pic_hd

13921542061881_.pic_hd

13921542061881_.pic_hd

区块链是一种分布式技术,由一个个顺序排列而成的交易组成块,再由一个个顺序排列而成的块组成链,每个块包含一个自增的高度作为编号,还有一个时间戳用于记载打包时间。

现有区块链内一般以账户为基本单元,账户内有各种属性,包括余额、交易数、合约代码、合约存储数据结构等。区块链内的一个交易会涉及两个或多个账户属性的相互读写操作,这些属性的状态存在前后线性依赖关系,以解决双花问题。

为了追求全链状态的确定性,要求交易在块内以列表形式存在,并且由所有节点一个个地顺序执行,不能出现随机跳序或随意并发执行的情况,否则各个节点的计算结果可能会出现不一致,最终无法达成共识。

但是,完全串行执行使节点的物理机器性能无法得到完全发挥,节点处理能力受制于单核CPU的最高主频,无法发挥多核优势和集群优势,严重影响区块链的处理性能。

针对这个问题,目前业内有两种可行的解决方案:

一是基于智能合约的交易分组预测,根据交易可能访问的资源集合,将交易按照冲突关系分入不同组,然后进行分组之间的并行执行;?二是在智能合约编码环节由用户配合划分交易数据单元,在交易池中完成分组并执行;

但是,360认为,以上方案存在以下难点:

1.如何在当前合约调用的情况下,实现资源集合的静态分析并保证分析的准确性;?2.如何让合约开发者可以尽可能地正确地标记metadata。因为编写并发程序很容易出错,而且问题的发现和调试都很困难;?3.如何优化分组算法的粒度,保证在一个区块内交易数量极多时,分组占用的时间不好影响交易合约执行的时间;4.如果链上实际业务只有一个合约地址,比如联盟链场景下,交易并行程序将难以发挥

关键词: 区块链

热点
39热文一周热点