写点什么

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

  • 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:142449

评论 1 条评论

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

引起故障的原因

jorden wang

“区块链+有机蔬菜”农产品溯源项目落地

CECBC

农业发展 农业

平安社区平台解决方案,智慧社区综合服务平台搭建

t13823115967

智慧社区管理平台开发

SourceTree 如何连接 GitLab

TroyLiu

git gitlab SSH sourcetree

Arthas 定位 Dubbo 手动注册 Eureka 异常

阿里巴巴云原生

阿里云 云原生 dubbo 工具 征文大赛

Spring 源码学习 13:initMessageSource

程序员小航

spring 源码 源码解析

干了三年的Java,你竟然还不会MySQL性能优化

华为云开发者联盟

Java MySQL sql

字节内部MySQL宝典意外流出!极致经典,堪称数据库的天花板

比伯

Java 编程 架构 面试 技术宅

如何利用状态同步开发一款游戏

Isa 婷婷

node.js 游戏开发 24小时自助游戏厅 联机游戏

Android开发经验谈:2021最新Android常用开源库总结,成功收获美团,小米安卓offer

欢喜学安卓

android 程序员 面试 移动开发

Spring Cloud Gateway (六) 自定义 Global Filter

Java 网关 SpringcloudGateway

移动设备管理平台的搭建(基于STF/ATXServer2)

行者AI

人工智能

数字化浪潮下 哪些银行业务或“生变”

CECBC

金融科技

涨知识!一个三非渣本的Android校招秋招之路,赶紧收藏!

欢喜学安卓

android 程序员 面试 移动开发

2021 第一份唠嗑

大头虾

如何通过 Serverless 轻松识别验证码?

阿里巴巴云原生

人工智能 阿里云 Serverless 云原生 数据采集

使用 iTerm2 打造美观高效的 Mac 终端

郭旭东

Mac 终端 iterm2

影像恋上智能:麒麟9000中的高甜CP创新

脑极体

稻盛和夫《干法》| 教你做快乐的打工人

小匚

读书笔记 程序员 个人成长

面试官:不会真有人不知道什么是线程池吧?

Java鱼仔

Java 线程池 并发

Ubuntu 使用 Iptables 做网络转发

wong

iptables Ubuntu20.04

深层互联带领自动旅游讲解耳麦进入“非入耳”时代

DT极客

「每日一题」抖音面试题:请阐述vue数据绑定的实现原理

Java架构师迁哥

免费下载来自阿里巴巴 双11 的《云原生大规模应用落地指南》

阿里巴巴云原生

阿里巴巴 阿里云 开发者 云原生 k8s

大数据分析决策平台建设方案,警务情报研判系统搭建

t13823115967

数字银行成长性和盈利能力可期

CECBC

数字化转型

阿里巴巴云原生的 2020,注定不凡的一年

阿里巴巴云原生

阿里云 容器 开发者 云原生 年终总结

ChaosBlade 在工商银行混沌工程体系中的应用实践

阿里巴巴云原生

云计算 高可用 开发者 云原生 实践

Pulsar 2.7.0 新增特性概览:事务支持、Topic 级别策略配置等

Apache Pulsar

大数据 开源 pulsar Apache Pulsar 消息中间件

程序员如何解决中年危机?资深Android开发带你入门Framework,醍醐灌顶!

欢喜学安卓

android 程序员 面试 移动开发

【薪火计划】07 - 与领导沟通的方法

AR7

管理

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