作者|海伦
来源|巴比特资讯
今年5月29日,360爆料针对EOS的“史诗级”漏洞,高调进军币圈,这一波操作被认为是教科书级别的营销,在不乏热点的区块链行业里,投向一束追光灯,让业界纷纷注意到360这家公司的存在。
事实上,据360董事长周鸿祎在采访中透露,早在2017年底,360就已经开始研究区块链技术和相关的安全问题。2018年1月,360宣布推出共享云计划,官方表示这是全球首家基于区块链的安全共享云平台。5月发布“区块链安全态势感知系统”。几天后,公布EOS漏洞,并于同日宣布与币安、欧链、EOS LaoMao、Dbank等项目的合作,两天后,又上线区块链产品——爱得钻。
如此看来,在区块链这个战场上,360已经做好了充足的准备,并且非常习惯于憋大招,集中火力一炮打响。如今半年过去了,360区块链布局的轮廓逐渐显现出来。
整体来看,360区块链由安全产品体系和商业产品体系两条业务线组成,前者是在为区块链行业提供安全服务,后者主要是基于区块链发展自己的BaaS平台和公链“磐石链”平台。在最近的技术开放日中,360首度公布了其底层公链“磐石链”的核心技术与业务进展,巴比特将在本篇文章中为大家独家披露。
安全战场:EOS漏洞怒刷存在,老本行岂能丢?
据官网显示,360区块链安全基于360安全大数据,结合360安全大脑, 提供钱包、交易所、矿池、智能合约、eos超级节点等五大方向的安全解决方案。
据此前周鸿祎曾介绍,所谓的“360安全大脑”,其实就是一个具有感知能力、学习能力、推理能力、预测能力和决策能力的综合性智能系统。5月份EOS漏洞的发掘,就是结合360安全大脑和安全专家的能力。包括2016年美国遭遇的大断网事件,黑客利用安防摄像头发动DDoS攻击, 360安全大脑也提前发现了有针对安防智能摄像头的异常访问流量。
而目前上述针对钱包、交易所、矿池、智能合约、EOS超级节点的的5种服务,主要是基于三个系统,包括数字货币钱包安全审计系统、区块链安全态势感知系统和区块链节点安全解决方案。
第一个,数字货币钱包安全审计系统,会详细地列一些审计的要点,阐述如何做一款比较安全的数字钱包,从而保障用户的财产安全。第二个,区块链安全态势感知系统这个系统是基于360安全大脑的,可以自动对异常区块、异常交易、异常地址和智能合约进行监控,不仅可以将交易风险降到最低,而且还可对非法数字货币进行溯源。最后一个是区块链节点安全解决方案,目前主要会针对EOS。
在安全方面,目前360总计有11项专利,应用于上述的系统之中。
尽管安全是360的老本行,但一些根植于行业的安全公司,比如慢雾、知道创宇已经逐渐发展起来,因此在这一领域,360也着实面临着竞争与挑战。
安全这条业务线虽然是为区块链行业提供服务,但其本身并不是基于区块链技术,而是基于人工智能、大数据等技术的。所以接下来,我们重点解析360在区块链技术方面的研究和突破。这里主要分两部分,BaaS平台和360公链“磐石链”。
BaaS战场:BATJ抢先布局,360凭什么胜出?
首先解释下什么是BaaS,BaaS是Blockchain as a Service的缩写,中文译为“区块链即服务”。开发者可以在平台以最简便、高效的方式创建、部署、运行和监控区块链应用程序。目前BaaS最流行的模式是区块链云服务,BaaS作为一种云服务,是区块链设施的云端租用平台,其多租户特性让计算资源、平台资源、软件资源得到了最大程度的共享。
目前,BATJ、华为、联想纷纷通过这种方式涉足区块链。原因是云自身的开放性、网络性及资源的易获得性,和区块链自身的特性有很好的结合点,华为区块链构架师张子怡就表示:“区块链与云计算的结合越发紧密,BaaS有望成为公共信任基础设施。”
360BaaS平台整体架构和其他家类似,也是分为三层:应用服务层、区块链服务平台和基础设施服务层。区块链服务平台又包含管理门户层、智能合约层、底层区块链框架层,基础设施服务层提供公有云、私有云、混合云三种模式的部署。
这里需要特别注意的有两点:
一是360BaaS平台支持的底层链包括磐石链、 Ethereum 和Fabric,Ethereum(以太坊)是目前应用最普遍的公有链,Fabric大家也很熟悉,linux基金会发起的开源联盟链,目前在国内的普及度很高,几乎各家的BaaS服务中都提供Fabric的接口。“磐石链”是360研发的底层公链平台,稍后我们会详细解析.
二是联盟链和私有链场景下的容器化部署运维这块,360BaaS平台是把它放在了PaaS层,并自研了链的自动化部署、升级和扩容技术。
公链战场:不追求TPS的磐石链,究竟有何野心?
下面重点介绍下底层公链360“磐石链”,这也是360首次对外披露相关细节。
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共识算法、跨链交互、交易并行。
多链,即抛弃了“一链治所有”的传统方案,采用“一链一合约”的新方案重新设计了一个保障每个合约都能正常运行的公链。这一设计极大程度上简化了架构,降低了数据处理压力,确保一条链上流量激增不会影响到另一条链的效率,在链上进行的任何业务都不会受到其他业务干扰,有效实现了资源隔离。
李连港介绍到:
1.主链的职责尽量简单,负责关键信息的注册、配置和处理跨链交易等; 2.业务子链相互独立不会直接交互,子链每个构件都是模块化的并且是松耦合的,这种设计使得当某个构件成为瓶颈的时候,我们可以独立的扩展此模块的能力。
据悉,vdBFT是一个结合 VRF、dPoS、BFT的全新的共识算法。
vdBFT共识在传统的 BFT 上做了多个方面的改进,主要包括:引入 VRF 函数和加密抽签,它的应用保证了参与共识的节点不因整个网络的扩展而变得很多,在很大程度上提升了共识的可拓展性;引入 dPoS 加强了网络的治理,应对无利害关系攻击;引入 checkpoint 避免了长距离攻击。采用了 dPoS 的方式治理网络,每一个有意愿要参与共识出块的节点都需要在 dPoS 表中上缴一定数额的押金而获得一部分的股份,加密抽签就是基于这个 dPoS 表确定。
具体来讲,每轮共识包括以下几个阶段:
1. 根据 VRF 从共识网络中选择备选提案节点,备选提案节点根据自己交易池信息出块作为备选块。 2. 根据 VRF 从共识网络中选举多个验证节点,每个验证节点从网络中收集备选区块,进行验证,然后对最高优先级的备选区块进行投票。 3. 根据 VRF 从共识网络中选举多个确认节点,通过 BFT 算法对上述验证节点的投票结果进行验证,并确定最终的共识结果。 4. 所有节点从网络中收集共识结果和对应区块,并在共识确认后开启下一轮的共识。 5. 每隔 3000 个区块在主链上做一个存证,把共识网络的区块固化下来。
当共识节点发现其他节点违反规定投票时,共识节点可以发起检举,然后通过 BFT 算法在共识网络中达成共识,对违反规定的共识节点以扣除节点所有抵押股份的方式进行惩罚。
跨链是目前区块链技术的一个热词,为的是提高交互,满足复杂商业生态场景里的基础需求。想象一个理财应用,用户可以用某项资产交换不同机构的理财产品,不同的资产就需要在多条链上做转移和交换。还有一些ORACLE应用同样需要多链间的跨链喂入交互,譬如汇率牌价、天气、股价、特定指标等等。
李连港分享了360对于跨链的思考:
首先,在现阶段还没有一个大家公认的通用跨链协议的情况下,不要指望自己设计一个新的跨链协议然后让大家来配合你。目前有很多项目基于这个思路在做跨链,我们认为这种思路只具有理论上的可行性,无法真正落地。其次,做跨链要考虑可扩展性。要做一个更加通用的跨链方案,而不仅仅是面向某种类型的资产。
因此,360设计时主要遵循的原则有:
1.需要有尽可能少的功能性。2.只要目标链可以暴露正常的接口,就不在基础协议里添加多余的复杂性。3.没必要在目标链中添加任何要求、约束或限制,通过外置微服务层,实现最具适应度的扩展和优化。4.需要提供一个稳定的基础层,并通过去中心化的交易方式降低遭受攻击的可能性。
基于此,磐石链采用去中心化交易所模式完成跨链交互,实现去中心化订单撮合,去中心化资产清算。具体来讲:
当用户将token转账到特定的中介地址后,系统会自动调用主链的智能合约进行去中心化撮合,支持单笔匹配交易和市场深度撮合交易;
资产清算时使用api接口调用或智能合约执行转账,保证资产清算过程透明独立,并且清算的目标账户由用户指定,用户每笔的提现或转账交易都需要用户自己的私钥进行签名,任何人无法伪造和篡改交易请求,从而实现了去中心化的过程。
区块链是一种分布式技术,由一个个顺序排列而成的交易组成块,再由一个个顺序排列而成的块组成链,每个块包含一个自增的高度作为编号,还有一个时间戳用于记载打包时间。
现有区块链内一般以账户为基本单元,账户内有各种属性,包括余额、交易数、合约代码、合约存储数据结构等。区块链内的一个交易会涉及两个或多个账户属性的相互读写操作,这些属性的状态存在前后线性依赖关系,以解决双花问题。
为了追求全链状态的确定性,要求交易在块内以列表形式存在,并且由所有节点一个个地顺序执行,不能出现随机跳序或随意并发执行的情况,否则各个节点的计算结果可能会出现不一致,最终无法达成共识。
但是,完全串行执行使节点的物理机器性能无法得到完全发挥,节点处理能力受制于单核CPU的最高主频,无法发挥多核优势和集群优势,严重影响区块链的处理性能。
针对这个问题,目前业内有两种可行的解决方案:
一是基于智能合约的交易分组预测,根据交易可能访问的资源集合,将交易按照冲突关系分入不同组,然后进行分组之间的并行执行;二是在智能合约编码环节由用户配合划分交易数据单元,在交易池中完成分组并执行;
但是,360认为,以上方案存在以下难点:
1.如何在当前合约调用的情况下,实现资源集合的静态分析并保证分析的准确性;2.如何让合约开发者可以尽可能地正确地标记metadata。因为编写并发程序很容易出错,而且问题的发现和调试都很困难;3.如何优化分组算法的粒度,保证在一个区块内交易数量极多时,分组占用的时间不好影响交易合约执行的时间;4.如果链上实际业务只有一个合约地址,比如联盟链场景下,交易并行程序将难以发挥;
因此,360磐石链的做法是:
放弃试图在表层解决问题、不碰系统核心的思路,将交易并行层下沉到核心层实现,在stateDB操作层和EVM调用层,执行交易数据的分析并完成分组,实现了类似MVCC多版本控制机制的乐观锁和原子性事务相结合,并行调度交易,同时结合DAG有向无环图,生成并发交易的拓扑结构图,确保验证顺序,来保障最终完成的一致性。
应用战场:除了积分变体,区块链没别的玩法了吗?
梳理完了360区块链安全、云服务BaaS、公链磐石链三大技术体系,我们来简单看看360目前在区块链上的应用。
目前主要有有四大应用,360共享云、爱得钻、区块猫、烯晶部落。
360共享云其实就是让用户把闲置的带宽资源、计算资源、存储空间,提供给有需要的人。这里和区块链所谓的结合点,在于“云钻”激励体系;爱得钻是广告商业化的探索,简单讲,就是鼓励用户看广告,获得爱得钻激励;区块猫,听名字大家应该就很熟悉了,也是模仿以太猫的一个产物;烯晶部落和网易星球类似,通过签到、邀请好友等方式获得数字货币。
整体来看,统统都是积分变体的产物,除了打着区块链概念以token激励吸引用户外,并无其他可圈可点之处。但是,相对于其他并无底层公链支持的“伪区块链产品”,360这些token值得期待之处在于它们或许真的能通过磐石链实现价值锚定和流转。
360区块链总监梁超告诉巴比特:
磐石链类似于以太坊,每个业务线会设计自己的经济模型,然后和主币进行兑换,会拥有完整的增发、销毁体系,只是出于合规要求,不上交易所,只在360内部体系流转。
当然口说无凭,至少还需等到今年底磐石链白皮书发布,乃至代码开源供各方检验后,才能断定真伪区块链,巴比特也会持续关注。
未来战场:区块链与人工智能、大数据究竟如何结合?
最后,分享一下360对于区块链和人工智能、区块链和大数据结合的思考。
区块链和人工智能的结合点主要在于智能合约的安全防护设计。
智能合约从技术层面来讲就是一种网络服务,是通过区块链共识,完成特定的合约程序执行。由于是共识,区块链上的任意智能合约代码和状态必然都要公开,每一行代码都要接受黑客淡定从容的审视,所以智能合约又是漏洞发生的重灾区。
要想真正解决智能合约的安全性问题,需要设计一套覆盖完备并且能自我完善和自我进化的综合防护体系。
执行前,需要实现基于规则库的语法安全检查和基于语义分析的模型识别,对合约代码进行静态检测;执行中,需要实现基于人工智能的形式化验证和基于深度神经网络的动态验证,对执行过程进行动态审查;执行后,需要实现基于人工智能的合理性审计与判决,对执行结果进行审计。通过以上几种方式对智能合约实施多重保护,确保合约执行安全可靠。
边缘计算是一种在物理上靠近数据生成的位置,处理数据的方法,是相对于云计算而言的。
边缘计算为什么重要?
1.云计算有延迟,尤其是IoT产生的数据,上传云端计算,再返回设备,时效性太差; 2.云计算满足不了目前大规模爆发的物联网数据计算需求,IoT联网设备和产生数据的增长量远大于云计算的增长,但边缘节点可以迅速扩充; 3.有许多数据可以本地计算,不需要云计算。比如机器产生的数据、电表数据、环境监测数据等数据并不需要云端处理,在本地端或者边缘端处理即可;
因此,360认为,边缘计算与区块链技术结合的方向有:
一是数据安全:终端产生的数据存储在第三方,造成数据的所有权和使用权分离。极易产生数据丢失、数据泄露、非法数据操作等问题,数据安全无法保证。例如360水滴直播事件、facebook隐私泄漏事件,解决方案是可以使用区块链技术对数据进行加密确权,只有授权后才能使用。区块链的存储网络,也保证了数据的完整性,比如IPFS。
二是身份认证:假如有百万级IoT终端集中上线、集中认证,传统的集中式认证机制是无法实现,所以,使用区块链去中心化的分布式认证技术,每个设备可以生成自己唯一的基于公钥的地址, 从而能够和其他终端进行加密消息的收发。
三是隐私保护:如何在保护个人隐私的情况下,最大化的获得数据的价值?那就是加密算法零知识证明。证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。它能够向别人证明我的数据是非常有价值的,但是又不告诉你真正隐私数据在哪。
四是共享计算与区块链:共享计算通过搭载共享CDN和P2P技术,把用户个人分散、闲置的带宽与存储很好的利用起来,形成具备存储、计算、传输、安全功能云计算节点,达到处理高频、高交互的海量数据的能力。
综上所述,360在区块链领域的布局已经很清晰了,安全、BaaS平台、公链磐石链三足鼎立,底层基础设施已搭建完成,并进入内测阶段。另外据巴比特了解,今年360的战略是IOT,360路由器通过和区块链结合,区块链会在IOT终端终端安全保护方面保驾护航,实质上承载着其IOT战略,这一点也值得关注。
可以发现传统互联网企业在区块链布局时有很大的相似性,基本都是BaaS+公链的方式,不免会在未来引发激烈的竞争,谁的生态更大?应用更多?人气更旺?一切还有待观察。
另一方面,虽然这类企业在宣传上,都有意淡化token的概念,却无法真正割舍token这块肥肉。360集团副总裁穆鸿就表示:
业界有很多通过无币区块链,联盟链的模式来做一些应用。但是我隐隐约约觉得可能是有些问题,我认为这个区块链的经济体制非常关键,要想把区块链技术用好,我认为要设计好它的经济模型。
对于区块链行业而言,互联网巨头已经开始悄然涉足公链生态,并尝试合规性的token激励与流转模式,尽管有时候显得束手束脚,但仍然是值得期待的探索。
声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。
简介:服务于区块链创新者
评论0条