“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

微医区块链负责人朱显杰:区块链的技术原理和商业逻辑

  • 2018-06-05
  • 本文字数:5379 字

    阅读完需:约 18 分钟

导语:2018 年 5 月 3 日,TGO 鲲鹏会杭州分会会员、微医区块链负责人朱显杰作为 TGO 鲲鹏会线上分享第六季的嘉宾,以直播的形式分享了区块链的三个关键技术及几大诱惑。本文根据当天直播整理。



区块链的关键技术

  1. 利用密码学,保证数据的传输和访问安全;
  2. 利用分布式的共识机制增强信任;
  3. 利用块链式的数据结构存储数据,保证数据不可篡改。

加密

加密算法是互联网事业的安全保障,一般有两类:第一类是对称的加密算法,即加解密共用一个密钥。它的优点是加解密速度快,但密钥的分发相对困难,比较典型的算法有 DES 、AES 等。

另外一类是非对称加密算法 —— 公钥 + 私钥的密钥对。其中公钥可以公开,私钥不可公开。它的特点是加解密速度慢,但密钥分发相对安全。典型算法有 RSA 和 ECC(椭圆曲线)。



SSL 加密传输过程

上图是 SSL 加密传输的过程,总共分为以下四步:

  1. 信息发送方 A 用对称密钥对原文进行加密。为了安全起见,对称的密钥(会话的密钥)都是临时生成的;
  2. 信息发送方 A 用信息接收方 B 的公钥对会话密钥进行加密。但不是对原文加密,而是对密钥加密;
  3. 信息接受方 B 用自己的私钥解密,获取第一步临时生成的会话密钥;
  4. 信息接收方 B 用解密后会话密钥对原文进行解密。

以上四步的过程中既用了对称加密算法,又用了非对称加密算法:

  1. 对称加密算法:对原文进行加密,保证了传输加密过程的速度;
  2. 非对称加密算法:对称密钥进行加密。

数字签名

数字签名是互联网世界的公章,可以起到防篡改和防抵赖的作用。在此之前,我想先介绍一下哈希算法的几个特性:

原像不可逆。通过一个输入,再通过哈希算法得到一个输出比较容易,但通过输出再逆推输入,几乎不可能;

  1. 抗碰撞性。只要输入不一样,就能得出不一致的输出;
  2. 发散性。只要输入稍微改变,就会导致输出有很大变化;
  3. 难题友好性。只能通过暴力枚举的方式才能破解。

那么,什么才叫数字签名和验签呢?如下图所示:



  1. 信息发送方 A 对原文进行哈希计算,并获得摘要;
  2. A 用私钥对摘要进行加密,获得数字签名;
  3. A 将数字签名和原文发给 B ;
  4. B 用 A 的公钥对数字签名进行解密获得摘要;
  5. 再对原文进行哈希计算,获得摘要;
  6. B 将第 4 、5 步得到的摘要并进行比对,确保没有被篡改。

密码学在区块链里的应用

首先,我们要知道比特币的公钥和地址是如何生成的:

  1. 利用随机数生成私钥;
  2. 私钥通过非对称加密算法生成成公钥;
  3. 公钥通过哈希算法生成地址;
  4. 地址可公开,但私钥要保密。



上图中左下角以 B 开头的红色区域代表区块链,每一个区块都包含很多交易信息。同时,每个交易都会有数字签名,然后用私钥进行加密,就会形成带着数字签名的交易信息。

另外,区块链里的每笔交易都需要带数字签名。这样的好处就是:假设交易是我发起的,任何人用我的公钥都可以印证交易的真实性,所以可以确保区块链上所有交易都是不可篡改和不可抵赖的。

分布式共识机制

共识机制是人类社会的基石。无论何种共识机制,最终都是要让社会形成一致决议。对于计算机来说,共识机制分为两类:

  1. 非拜占庭问题,简称叫 CFT 。即在分布式的网络中,只假设存在故障节点,不存在作恶节点;
  2. 拜占庭问题。假设分布式网络中不但存在故障节点,还存在作恶节点。



所有的分布式共识机制分为两类:经典共识算法和针对区块链的共识算法。经典共识算法包括 Raft / Paxos 和 PBFT ,区块链算法包括 PoW ,PoS 和 DPoS 。

目前主流的数字货币基本上都在用 POW( proof of work )工作量证明算法。它的原理很简单:挖矿节点通过不断变化的 nonce 值,使 HASH(block_header:none)

它的优点是成熟度高,是目前为止最成熟的区块链公式算法。缺点包括:

  1. 不环保,并浪费大量资源;
  2. 挖矿中心化。大部分算力被大矿池控制;
  3. 交易性能 TPS 差。

第二个区块链共识算法叫 PoS( Proof of Stake )权益证明,并引进了币龄的概念。对每个账户来说,币龄和挖矿难度都不一样。币龄越多挖矿的难度值越低,以此解决 PoW 不环保的问题。所以,PoS 的第一个优点就是环保,第二个优点是支持拜占庭容错。但同时 PoS 也带来了新的缺点:

  1. 币发行问题。起初币只是创作区块,没有币龄,大家无法参与进来。所以目前 PoS 上的供应链,都优先使用 PoW ,在节点比较多的时候再改为 PoS ;
  2. 币流通性弱。解决方案是设置时间上限,权益按时间递减;
  3. 节点容易离线。如果没有那么多节点在线,整个区块链的网络会变的很脆弱;
  4. 无成本权益。PoS 挖矿不需要成本,任何人都可以分叉,导致分叉币很多。现在 PoS 会通过矿工抵押保证金的方式,确保把无成本问题抵消;
  5. 马太效应。有钱人更有钱,没钱人更没钱;
  6. 性能较低。

区块链的第三个共识算法叫 DPoS( Delegeted proof of stake )委任权益证明。它的目标主要是提高性能,其原理是控制记账节点数。它的优点是性能高,缺点包括:

  1. 中心化比较严重。包含了很多社区治理,比较容易滋生腐败;
  2. 不支持拜占庭容错算法。
  3. 区块链数据结构及现状



区块链其实就是区块 + 链,数据结构非常简单,就像上图所示。区块包含区块头和区块体,区块体是一些交易信息,区块头是原数据的信息。其中最主要的信息包括两个:上一个区块的哈希值和 nonce 值。

区块链的商业诱惑

ICO

ICO 是代币的首次公开发行,即初创公司通过发行代币的方式向公众募集资金。但 ICO 绝大部分是骗局,所以在去年 9 月 4 日被央行发文叫停。那么,为什么说 ICO 是披着天使的魔鬼?我们可以参考下图:



项目的融资过程分为:

  1. VC 。一般发生在 B 轮或 C 轮,风险比较大,个人投资成功率只有几十分之一;
  2. 天使轮。风险大于 VC ,个人投资和机构投资成功率都更低,但回报率也更高;
  3. 种子轮。风险更大,成功率更低,回报率更高;
  4. ICO 。现在很多 ICO 就是白皮书,甚至连项目和代码都没有。我们从投资的逻辑来分析,它的风险极大,成功率极低。

交易所



现在 24 小时的交易量大概能达到 1610 亿人民币,手续费大概按 1% 计算,大概每天能产生 1.6 亿的交易费。像 OKEX 这种大型的交易所,每天的交易量甚至能达到 150 亿左右,光是每天的交易费收入就有 1500 万。

同时,目前的虚拟货币 / 代币加起来共有 2100 多个,一般按发行费 1000 万来算,就有 210 亿发行费。除此之外,现在全球最大的区块链资讯行情平台已经是全球排名前 200 的网站了。在国内做的比较好的资讯平台包括:巴比特、非小号、金色财经和火星财经等。

硬分叉



举个例子,比特币在去年经历了一次共识破裂,变成了现在的比特币和比特现金。为了提高 TPS ,需要对比特币进行扩容。有几套方案:

  1. 比特现金是 Bitcoin ABC 提出来的,主要由比特大陆提供支持,直接把区块大小从 1 兆变成了 8 兆,但它不兼容原有的客户端;
  2. 隔离验证。原先 1 兆的区块不变,额外增加 3 兆见证的区块。把交易的其他信息,如见证信息、地址、数字签名放在新增的区块里。好处是可以借用原有的客户端;

挖矿

挖矿其实是一门生意。比特币每年产生 65 万枚,约合 65 亿美金;以太坊每年产生 800 多万枚,约合 32 亿美金;再加上莱特币、比特现金、交易费等,整个盘子一年 150 多亿美金。

挖矿主要分三块:

  1. 矿机。现在中国的矿机比较厉害,像比特大陆、蚂蚁矿机都已经全世界风靡;
  2. 电力成本。现在很多矿池都开在冰岛、魁北克这些国家,因为这些地方比较冷,通风系统比较好,空调、电力都比较便宜;
  3. 矿池。因为现在比特币需要消耗巨大的算力,即使投入几千万,也未必能有收获,所以组成矿池,大家共同提供算力,并按算力分配。

区块链带来了什么

我认为区块链是生产关系的变革,通过加密、授权、追踪的方式,解决跨组织协作的信任问题。跨组织信任问题其实很值钱,解决问题后就可以带来非常有意义的变革,使数据的所有权和使用权分离,让数据的所有权永远属于用户,合法的产生巨大的商业价值。但最近有个反例 —— Facebook 的用户数据泄露,导致市值缩水 500 亿美金。这其实就是因为 Facebook 的数据所有权和使用权分的不彻底。

还有一点是隐私和便利。自从有了互联网,我们在享受的同时,隐私也受到了损害。隐私和便利就像天枰的两端,如果想享受便利,就不得不让利自己的隐私。所以只要更偏重隐私,便利性就会变差。但我认为,随着社会的发展,人们会越来越注重隐私,天枰会越来越往隐私倾斜。区块链能在保证用户隐私的情况下产生商业价值,所以它是打破天枰最好的技术。

最后是超级智能 —— 人工智能 + IoT + 区块链 —— 人工智能是大脑、IoT 是个人感观、区块链为人体的血液,神经系统进行信息流转。有了人工智能的大脑、IoT 的感官、区块链神经 + 血液系统,将来就会形成超级智能。

Q & A

请问您现在炒币吗?

我买了一些主流币,但都非常少。我不太推荐靠炒币实现财富自由,我觉得完全是一种运气的,并不是谁能够预料到的。我认为风险非常大,所以不要把太多钱放进去。

如何理解拥有权和使用权分离?

区块链可以通过加密、授权、追踪,可以指定数据被谁使用、怎么使用。任何人使用,都得经过我的授权,这是对所有权的第一个体现。第二个,基于区块链可以对使用情况进行追踪,其他商业公司数据是怎么用的,所有的记录都会在区块链上显示。这些信息不可篡改,并且可以追踪, 能够有效的防止商业公司滥用个人信息,去做权限范围外的商业操作。

你的业务里应用区块链了吗,怎么用的?

我们公司是医疗健康科技领域,也在探索过程中,想做医疗健康科技的开发平台。但区块链目前离实际落地还差的很远,所有公司做的所谓区块链,都是探索性的工作,离实际的落地还有一些距离。

有人说公司法和公司制延续了几百年,区块链可以改善这种劳动协作关系,可能会是一种全新的合作形态吗?

目前大家对区块链还是有些误解,很多人认为区块链是去中心化,把靶子指向所有中心化的东西。但我认为这么理解不太靠谱,我认为区块链技术真正落地的场景,反而会是大公司。我知道央行已经成立了区块链的研究中心,专门研究数字货币。所以,最终很有可能是大公司真正落地,而不是靠所谓的草根阶级。

区块链现在有没有已经落地的领域?

据我了解,现在区块链大部分都还是停留在数字货币阶段。但除了数字货币之外的领域目前还比较少。同时,现在还有联盟链在做,特别是跨境支付,以些供应链金融现在也有尝试和落地场景。

2018-06-05 18:142299

评论 1 条评论

发布
暂无评论
发现更多内容

扩招1W人,字节跳动内部公开12月份Java岗71道面试题

比伯

Java 编程 架构 面试 程序人生

架构师训练营第 13 周学习总结

netspecial

极客大学架构师训练营

警务通APP系统开发,移动警务平台搭建解决方案

t13823115967

智慧城市

《O2O实战:他们是如何利用互联网的》.pdf

田维常

互联网

架构师 3 期 3 班 -week4- 作业

zbest

作业 week4

阿里华为等大厂如何处理数值精度/舍入/溢出问题

Java架构师迁哥

等保数据备份和恢复关键点,这些你该知道!

华为云开发者联盟

数据 容灾 恢复

微软最强 Python 自动化工具开源了!不用写一行代码!

星安果

Python 开源 自动化 工具 高效率

985研究生熬夜23天吃透845页架构宝典 终收割腾讯Java岗offer!再也不用怀疑人生了

比伯

Java 编程 架构 面试 程序人生

程序员因重复记录日志撑爆ELK被辞退!

Java架构师迁哥

从阿里离职后人虚了,头也秃了,就剩这份Java性能优化的PDF了

Java架构追梦

Java 架构 面试 性能优化 并发

OpenKruise v0.7.0 版本发布:新增周期任务分发控制器

阿里巴巴云原生

阿里云 容器 开发者 运维 云原生

forsage以太坊矩阵系统软件开发|forsage以太坊矩阵APP开发

系统开发

从面试角度分析LinkedList源码

Java旅途

Java List 集合 linkedlist

架构师训练营 1 期 -- 第十三周总结

曾彪彪

极客大学架构师训练营

盘点2020 | 微服务架构下该如何技术选型呢?

xcbeyond

微服务 技术选型 盘点2020 选型原则

干货丨如何使用Redash连接DolphinDB数据源

DolphinDB

数据处理 时序数据库 DolphinDB 数据库开发 redash

盘点2020 | 一个三线程序员的2020年,不卑不亢

沉默王二

程序员 盘点2020 沉默王二

建议收藏,mybatis插件原理详解

田维常

mybatis

90分钟10个手写案例,从源码底层给你讲解7种线程池创建方式

996小迁

Java 源码 架构 资料 笔记

Tufin联合Cisco,将网络安全自动化进行到底

Geek_448e23

网络安全 自动化管理 云安全

5张图搞懂Java引用拷贝、深拷贝、浅拷贝

bigsai

Java 浅拷贝和深拷贝

边缘计算和5G:我们从何而来?

VoltDB

云计算 大数据 5G 物联网 边缘计算

几款Java开发者必备常用的工具,准点下班不在话下

华为云开发者联盟

Java 工具 开发

智能微卡口监控系统搭建,智慧平安小区建设解决方案

t13823115967

智慧城市

PostgreSQL高可用:多主复制解决方案

PostgreSQLChina

数据库 postgresql 开源

女朋友突然问我DNS是个啥....

乱敲代码

计算机网络 DNS DNS服务器

LeetCode题解:127. 单词接龙,双向BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

架构师训练营第 1 期第 13 周作业

业哥

DAPP软件系统开发

系统开发

盘点2020|多线程的遥感大数据行业产品经历

老壳有点爽

大数据 盘点2020 InSAR

微医区块链负责人朱显杰:区块链的技术原理和商业逻辑_语言 & 开发_朱显杰_InfoQ精选文章