LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 区块链 安全向右 体验向左 可以做中间派吗

区块链 安全向右 体验向左 可以做中间派吗

2019-10-23 haojun 来源:区块链网络

互联网传递信息,区块链传递价值",这句至理名言深入区块链行业的每一个人,以至于都有一种错觉,觉得区块链比互联网技术要高人一等,从个人情感上来说,作为从业者,我是认同的,区块链的确是一项对社会具有颠覆性的技术,但从理智上来说,这事没那么简单,不停喊口号除了自我麻醉外,并不会带来实际效用。所以此文是来拨乱反正的,让大家理智的看待区块链现状,才能实事求是的创造更美好的未来。

区块链从业者们有一点是清楚并承认的,就是目前相比互联网,区块链行业还很小,但都会用一个经典的历史故事来自我安慰,即“汽车取代马车”的故事,认为互联网是马车时代,而区块链是那辆汽车,只是当你结合区块链特性再仔细分析这个故事,会得出一个截然不同的结论,分析如下:

汽车比马车跑的快,这是事实,快意味着方便,原来一天的路程,现在一小时就到了,很爽,但快同时意味着另一个事实,汽车一旦出事故,就很可能是车毁人亡的事,而马车可能也就是摔了一身泥,擦破点皮,所以显然,马车比汽车更安全,但历史选择了汽车,也就是人们选择了方便,而容忍了相比不够安全的缺陷。

区块链相比互联网更安全,因为人人都掌握着自己的私钥,不像互联网上服务器管理员可以任性的操作你的数据,但是私钥作为非对称加密技术里的概念,对大部分普通用户是个很抽象的概念,衍生的概念还有助记词、签名、验签、公钥等等“变态”词汇,并且在使用DAPP的时候,不停地要跟钱包交互,体验不得不说有点差,相比互联网,区块链实在是不太方便,而安全问题,又跟需求强烈程度有关系,如果某人账户下的资产合起来也没几块钱,而给其的安保等级堪比央行金库,这么做真有必要吗?我想傻子也能给出答案。

区块链行业最大的应用是什么?炒币。而炒币最大的平台是什么?中心化交易所。中心化交易所最大的特点是什么?用户的资金都托管在它们那里,而代币被盗之事时常发生,用户损失惨重。但即便这样,为什么用户依然愿意使用中心化交易所而不是上去中心化交易所去交易呢?因为方便,而安全问题不是时刻会发生的问题,即便发生了安全问题,只要不是特别严重,头部交易所也有资金来填补窟窿,用户心理上觉得还算安全就行!

看完上面的分析,你会不会觉得“汽车取代马车”的故事在打区块链的脸,如果还得不出这个结论,下面也不用看了,因为你打了我的脸2_05.png?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

当然,如果就这样对区块链的前途失去信心了,那我这篇文章也不会写,作为资深Coder,习惯做的事是发现bug,然后解决bug,而不是把bug放出来秀个优越感。好,说回正事,咱们首先来定义这个bug是什么?

目前区块链对所有账户一视同仁,让一贫如洗的账户跟家财万贯的账户享受同等安保等级,导致前者没有足够动力,同时也缺乏能力进入区块链,使行业除了炒币特别繁荣外,始终无法在其它领域发展壮大。

这个bug说的什么意思呢?就是安全应该分等级,对不同的用户需求,应该给不同的级别,需要采用什么级别,应该由用户自己来选择,而不是一刀切。那对于这样的bug怎么解决呢?解决方案可以有很多,这里先说已有的两种解决方案,币乎团队做的MyKey方案和FT公链的父子账户。

什么是MyKey?

MyKey是在已有公链基础上对账户体系进行改进的二层网络解决方案,说大白话就是MyKey团队写了智能合约框架,使用这个框架,公链(如EOS、以太坊)用户在跟链进行交互的时候可以不用关心一系列复杂加密概念,同时也能安全的使用区块链。具体怎么实现的呢?

1:?本地依然有用户的公私钥2:?当用户要创建账户的时候,由项目方的中心服务器帮用户在合约中创建一个账号,当然不仅包括账号名,还有紧急联系账号和一系列的公钥(包括用户本地私钥对应的公钥)做权限相关认证3:?当用户需要将本地数据上链的时候,先将本地数据用本地私钥签名,发给中心服务器,中心服务器确认是用户的数据后,调用合约,将签名后的数据和原始数据,以及所需操作上链,这样既证明是用户发起的操作,也不需要用户直接与链进行交互4:当用户本地私钥遗失的时候,便可在合约上对其公钥进行更改操作(当然会经过一系列的安全验证步骤)

什么是FT公链的父子账户?

首先,不同于MYKEY,FT公链的父子账户是在链内实现的,子账户通过父账户创建(注意:一个普通账户可以创建其它普通账户,并非只能创建子账户),如父账户是china,则子账户必须是china开头,如china.beijing,可以有两级子账户,china和china.beijing还可以创建china.beijing.haidian这个子账户,子账户本身拥有操作自己账户的所有权限,这个跟父账户是一样的,唯一不同于其它账户的区别是:父账户可以代为子账户进行签名,由此可拥有对子账户的所有操作权限。只是在链上,是可查询到是父账号还是子账号自己对交易签的名,父账号如果作恶,那完全是可以在链上取证的。那像这样一种设计可以如何用到实际项目中呢?见下:

1:对安全没要求、只想要体验便利的用户通过子账号功能,无需在本地保存私钥,也就不存在私钥丢失找回的问题,而项目方对用户的认证采用传统互联网认证方式即可;2:对安全有一定需求,同时也想体验便利的用户可在本地保存子账户私钥,通过自己签名将数据上链,而链上会记录此笔交易是由谁签名后上链的,可事后追查问题;如果本地私钥丢失,也可让项目方用手上的父账户更改子账户绑定的公钥,从而让子账户可以使用新的私钥进行签名;3:对安全要求特别高的用户,可依然创建父账号,而不是子账号来保证绝对的安全

像以上三种方式,项目方可灵活根据不同用户对安全和对便利的不同要求对产品进行设计。有人可能会对此种模式提出质疑,认为父账户一旦被盗,则所有子账户的安全就会出问题,是的,但我们可以想办法降低这种危险,譬如:

父账号可以使用多签名功能,分散风险,让黑客难以一次获取父账号所有的私钥来控制父账户;

子账号自己在觉得有必要的时候,可以将账号中的资产进行转移,这种操作父账号和项目方都是无法阻止的,子账号拥有绝对的权限操作自己的资产。

—-

编译者/作者:haojun

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...