技术解读区块链密码学的起源,了解多链与非对称加密

来源:火星财经 作者:佚名 2018-07-04 10:47:21

多链与非对称加密HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。 常见的对称加密算法:DES,AES,3DES等等。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

74.jpgHTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

非对称加密指的是:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。 常见的非对称加密算法:RSA,ECC。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送给乙方;乙方再用自己的私匙对数据进行验签。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

在EKT中,我们就使用了公私钥结合的非对称加密和路由策略的机制实现拜占庭容错。我们EKT的多链,采用“多链分而治之”的新方案重新设计了一个保障每个合约都能正常运行的公链,其中就使用到了非对称加密对用户的信息进行保存,同时主链和子链信息共享但是功能隔离。这一创新极大程度上简化了架构,降低了数据处理压力,确保一条链上流量激增不会影响到另一条链的效率,在链上进行的任何业务都不会收到其他业务干扰,有效实现了资源隔离。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

在EKT中Token链是一个并行多链的结构,多链多共识,共享用户基础。EKT的Token是链上的一个属性,就像使用了utxo模型的链utxo有其他Token一样,我们的转账事件也是内置的。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

其实EKT解决的一个核心问题是,目前Dapp的开发难度的问题如果使用以太坊的Solidity开发,需要学习以太坊的一整套逻辑,在复杂应用开发的时候需要考虑各种优化方案,同一个功能使用传统C/S结构一天写完的,用以太坊可能要写几周时间,对开发者来说很不友好。 HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

例如针对C/S模型,要写一个非对称加密服务需要: HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

1. 设计一个服务端,可以计算出一对秘钥pub/pri。将私钥保密将公钥公开。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

2. 设计一个客户端请求服务端时,拿到服务端的公钥pub。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

3. 客户端通过AES计算出对称加密的秘钥X。 然后使用pub将X进行加密。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

4. 客户端将加密后的密文发送给服务端。服务端通过pri解密获得X。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

5. 最后还要设计两边通讯机制,通过对称密钥X以对称加密算法来加解密。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

这一套流程若要Dapp/公链开发者写出来,势必在真正开发区块链功能之前就已经被这些繁琐但其实通用的步骤耗费过多精力和资源。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

EKT的中心思想就是设计一个社区的机制,让开发者可以轻易的开发一个可以承载DAPP的主链,其他的交给EKT来处理, EKT 的“一链一主币,多链多共识”的机制为后来的区块链项目开发提供了很大的便利,可以使用于任何区块链适用的应用场景。 EKT 提供了一套底层的区块链机制,其他的区块链项目可以很容易的基于 EKT 的主链代码部署一套自己的主链。在EKT上编写的区块链项目将无需过于担心安全性问题,因为每一个接口都是非常简单并且在许多条并行主链上部署和运行的。部署主链时可以灵活的发行自己主链的代币以及选择共识算法。新部署的主链也可以加入到 EKT 通用积分的整个生态,共享 EKT 生态的用户资源,代币也可以和EKT 主币以及其他主链的代币进行交换和流通。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

EKT主链上每个DPoS节点的公钥都是公开的。这是一种兼顾效率、安全和去中心化的解决方案。Token现在一般被定义成一个智能合约,但如果把它变成一个预先定义好事件的“对象”,这个“对象”可以有自己的参数(比如总量、共识机制等等),则会带来更好的安全体验。接受token的地址可以有两种:普通的用户地址和合约地址,合约地址收到token之后可以执行非图灵完备的合约语言,进行简单的状态计算和token转移。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

以上是作者对区块链密码学的一些思考,和一些在设计EKT的多链多共识时对建设非对称加密底层的考虑。欢迎大家提出疑问,共同探讨。HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

参考阅读:HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

20140314 密码学的发展简史HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

20161225 加密算法之:对称加密与非对称加密扫盲贴HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

20170119 区块链 - 比特币的共识机制HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

20170907 从艺术到科学—密码学的发展历程HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

20180414详解“多链多共识”机制HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

20180202 区块链和比特币 不过是密码学历史上的一次小高潮?HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

20180622 EKT对话Bit-Z,精彩直播访谈回顾HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

《History of cryptography》HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

《BTC whitepaper》HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

《Ethereum whitepaper》HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

《EKT whitepaper》HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么


HTSBCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

公众号关注 bcfanscom 或搜索“区块链粉丝”,参与大咖直播和糖果空投活动

BCfans公众号