2018-12-26 10:14:32

在12月22日举行的迅雷链技术沙龙成都站上,迅雷链底层研发工程师张骁就区块链安全问题和密码学的关系做了主题分享,受到了现场开发者的踊跃提问。大家普遍对密码学及信任体系的架构表现出了浓厚的兴趣。张骁表示,区块链之所以能够解决人与人之间的信任问题,是因为它的不可篡改性,而这种特性本质上又是基于密码学算法来实现的。因此密码学在区块链中的地位很关键,区块链是信任的基石,密码学则是区块链的基石。

密码学核心技术特点

张骁首先解释从密码学的角度分析“安全”的含义,他将其总结为三个方面。

1.机密性。信息数据在传输的时候,会进行加密处理。如果信息被未获授权或者不拥有相应密钥的人拿到时,也无法读取信息的原文,这就是信息的加密性。

2.完整性。即所传输的信息要保证是完整状态,不能够在中间被恶意篡改或者增添、删除一些信息。比如一张欠条,其中的金额数字、归还日期以及欠款人等关键信息,不能够被涂改,否则就被认为是完整性遭到破坏,直接作废,这就是最常见的一种对信息完整性的要求。

3.可用性。指相应的密码学的信息,在任何一个时间下都应该可以被外界所用。如前文所述的欠条,它应该保证在任何时候都能被拿出来、被展示出来,而不应该遗失、损毁。这就是信息安全中的可用性,也是信息安全保护的重要范畴。

不可篡改是密码学的本质


张骁表示,区块链的特点是因其能够保证不可篡改,本质上能够在原本互相不信任的人群或者不信任的机构之间,通过密码学的算法来传递一种信任。

不可篡改的特性是通过3方面来实现的,分别是数字签名、时间戳和集体维护。

数字签名表达的是对信息的确权,保证了信息的完整性以及发送方的授权关系,发送方确认信息是由他发送,接收方确认消息来自相应的发送方,并且没有被篡改过,也没有被恶意***过。

时间戳是在区块链的纵向保证数据的完整性,借助Hash链式的关系来保证前后的信息没有被篡改过。

集体维护保证数据可用性,区块链是基于分布式系统,特点就是能够更有效的提供对外服务,中心化系统一旦宕机就无法运行,但分布式系统即便部分节点失效,其它节点一样可以继续提供服务。

区块链中用到哪些密码学技术?

在区块链中使用的密码学算法主要是Hash算法,它是指对一个任意长度的输入,经过此算法映射成有固定长度、且有一定随机性输出的方法。

它的安全性基于以下这三个基本的性质。

1.单向性,单向性是指通过一个输入X,通过哈希算法可以很容易地得到输出结果Y,但是如果只拥有Y,则无法通过此算法找到原文X。

2.弱抗碰撞性,当X通过算法得出结果Y时,如果能找到一个不等于X的数据X’它的输出结果和X的结果同样都等于Y,这就叫数据的抗弱碰撞性。弱抗碰撞性就是指很难找到这样的本身不同、但输出结果相同的数据。

3.强抗碰撞性,指通过任何手段都无法有效的找到一对不相等的数据X和X’,使其满足两个数据的哈希输出结果都等于一个相同的值Y时,这样的哈希算法就满足强抗碰撞性。

区块链中还利用到了基于Hash算法的默克尔树,它主要是保证一定数量的数据的完整性不被攻破,可以轻易地验证出数据有没有被篡改过。

数字签名本身也可以视为一种密码学算法的应用,它是公钥密码学以及Hash算法的结合。消息发送方先将待签名的原文通过哈希算法映射成一段哈希值,然后对这段哈希值使用签名者的私钥进行签名,最后把签名和原文发送给相应接收者。接收者通过签名验证算法使用发送者的公钥解出签名消息的哈希值,然后对比原文的哈希值看是否匹配,如果匹配,则签名有效,反之则可认为签名是伪造。

迅雷链中如何与密码学的算法相结合?

首先是要通过高性能,确保能够高效地实现这些密码学算法。

其次不同的开发者用户对算法有不同的要求,为满足这些需求,迅雷链将密码学算法进行了抽象处理,方便用户在实际使用中,根据配置方式自由选择需要使用的算法,由此可以帮助开发者和企业,把迅雷链应用到更多的场景中。

张骁最后还展望了密码学的发展前景,他指出同态密码、零知识证明和量子密码都是未来可能的重要发展方向,不过相关技术目前还处于非常早期的阶段,离投入实际商用还有较远距离。但他相信,未来区块链的发展与密码学在安全领域上的提升是密不可分的,所以迅雷链也会紧密地去关注密码学未来的发展。

转载于:https://my.oschina.net/u/3438211/blog/2993326

迅雷链张骁:区块链是信任基石,密码学是区块链基石相关推荐

  1. 迅雷链技术沙龙:什么企业都适合用区块链吗?

    很多面临增长乏力的企业在区块链浪潮兴起时都会思考,是不是可以通过转型区块链调整自己的业务模式,实现新一轮的增长?区块链的技术壁垒很高,什么样的业务都能使用区块链技术吗?如何让自身的具体业务与区块相结合 ...

  2. 《迅雷链精品课》第一课:认识区块链

    <迅雷链精品课>第一课:认识区块链 区块链究竟是什么?共识算法.智能合约又是什么?为帮助广大开发者快速入门,助力区块链开发人才进阶,让区块链不再是遥不可及的技术概念.迅雷链给开发者免费献上 ...

  3. 区块链3.0谁为主链?EOS、迅雷链争冠亚——以太坊、EOS、迅雷链、小蚁、量子链最详评测

    蜂巢财经研究院出品 作者:乾元 :制图:叶梓 在所有区块链项目中,主链是市值最高的,就跟房地产行业,开发商市值最高,因为它承载着其他相关建设. 从海外团队建设的以太坊(EHT)到柚子(EOS),从国内 ...

  4. 区块链靠什么开启下一个互联网传奇?迅雷链:回归技术

    对于"区块链"的狂热追逐好似一场大风迅猛而过,最终沉淀下来的企业和开发者也许才是真正执着于其技术价值的.尤其是从 2018 年初到现在,投机和炒作的干扰越来越小,而随着区块链相关政 ...

  5. 张慧勇:迅雷链在解决高性能之后,都在研究这些……

    文丨互链脉搏 未经授权,不得转载! 4月27日下午,由迅雷主办.CSDN承办.互链脉搏协办的2019年迅雷链技术沙龙首站在北京圆满落幕.作为全球率先实现百万TPS高并发.秒级确认的高性能主链,迅雷链自 ...

  6. 2019 已过半,迅雷链的 Flag 完成了多少?

    北京时间8月15日晚,迅雷旗下网心科技宣布与泰国那黎宣大学达成合作--网心科技开发的高性能区块链平台迅雷链,将协助那黎宣大学旗下管理的超过490家医疗机构实现病历信息上链,在保护患者隐私的前提下,实现 ...

  7. 干货精选 | 迅雷链再度亮相“魔都”上海,性能与安全兼得的区块链为何备受关注?...

    5月25日,"链创未来--迅雷链技术沙龙"在上海广场嘉廷酒店迎来了2019年的第二站,时隔半年,这是迅雷链第二次来到"魔都"上海与广大开发者及区块链爱好者见面了 ...

  8. 《迅雷链精品课》第三课:区块链主流框架分析

    上一节课我们学习了区块链的技术架构,系统地分析了区块链平台的6个层次:数据层.网络层.共识层.合约层.应用层.接口层.这节课我们将结合实际看看现在主流区块链项目的技术架构:思考我们在设计具体的业务架构 ...

  9. 《迅雷链精品课》第二课:区块链核心技术框架

    上一节课我们明白了什么是区块链,了解了区块链的关键特性和技术等内容,这节课我们将深入了解区块链的技术架构,系统学习区块链平台的6个层次:数据层.网络层.共识层.合约层.应用层.接口层,另外通常还有客户 ...

最新文章

  1. Numpy 一维、二维数组、size/dtype/shape属性、数组函数arange/linspace/logspace /diag/zeros/ones/random 、多维数组索引和筛选)
  2. MVC系列框架之Struts存在的意义是什么?
  3. 【EventBus】发布-订阅模式 ( 使用代码实现发布-订阅模式 )
  4. NVIDIA之AI Course:Getting Started with AI on Jetson Nano—Class notes(四)
  5. 【赠书】掌握人工智能重要主题,深度强化学习实践书籍推荐
  6. 计算机英文文献博客,计算机专业外文文献论文翻译.docx
  7. linux 提取cpio_使用rpm2cpio,cpio提取rpm包的中的特定文件
  8. 迷宫问题(栈解决)--2015年8月9日19:23:23v1.0版
  9. Java 算法 复数求和
  10. ADF中在jspx页面加载的阶段添加自己的代码
  11. 利用lcx作端口映射
  12. 蒙版操作—剪切蒙版制作艺术字
  13. 软件复用及构件、C/S与B/S混合模型及实战项目技术简述
  14. 心跳重连机制(登录)
  15. 在android项目上集成libyuv库以及使用libyuv库完成camera的缩放,旋转,翻转,裁剪操作
  16. 数商云智慧医疗管理系统解决方案:医药电商系统实现智能化改造
  17. Android EditText 手机号344格式化输入的最佳实现
  18. python 资源站_python资源
  19. 智慧工地:“千里眼”视频远程监控系统案例分析
  20. 计算机书籍(必看推荐)

热门文章

  1. [Android]如何做一个崩溃率少于千分之三噶应用app(9)-Small插件化
  2. 牛犇CMS小说站群系统
  3. 苹果手机数据转移到新手机_不同品牌手机一键换机:换新手机怎么转移数据?...
  4. ESP32+ACS712霍尔电流传感器小结
  5. PHPCMS本地项目二次开发流程
  6. 读三国志有感之二·好学知礼的倔老头儿
  7. 东华软件测试题,东华大学软件测试作业整理.docx
  8. MATLAB R2021a离线下载并安装硬件支持包
  9. Matlab函数语法(函数可以接受多个输入参数,并可能返回多个输出参数)
  10. Dart ?? ?.