AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

技术小白也能看懂的区块链原理

  • 2020-04-02
  • 本文字数:1879 字

    阅读完需:约 6 分钟

技术小白也能看懂的区块链原理

猜疑、认证与信任中心

在谈区块链这一新技术之前,让我们先从一个熟悉的老场景网购开始说起。


你花 100 块在网上买了一件衣服,这个寻常的过程中钱先到了中间担保商,待到你确认收货,钱才会打给卖家。



中间担保上实际上充当了信任中心和认证权威的角色,不考虑物流的情况下,它做了这么几件事:


  • 验证你这 100 块钱是从你的账户里发出的

  • 验证你这 100 块钱只转给了卖家,而没有同时转给你女朋友

  • 验证你的账户里原来真的有 100 块钱


当然这是一个相对愉快的交易方式,因为如果没有支付宝这个第三方,事情一定会演化成下面这个样子:


你希望先货后钱,因为你觉得无商不奸;他希望先钱后货,因为他觉得人性本恶。


于是你们美好的希望都落空成奢望,因为陌生人之间的信任难以维系,他们会出于本能互相猜疑。


但显然上面的这个方式不是最愉快的方式,因为你和卖家因为中间商的存在,不得不向其提供个人身份证信息和银行卡信息,这种提交隐私的感觉总是不太好的;


但这个也不是最安全的方式,因为我们不能打包票说中间商的系统永远都不会坏掉,更为极端地考虑,中间商有一天收了你的钱却不认账的话,你也只能傻乎乎的承受结果。你之所以信任这个中介,主观上无非是感觉他现在做的足够大,大家都很信任他罢了。


然而有些信仰技术的弄潮儿们可不这么想,他们可能会告诉你:之所以需要一个中介来解决信任问题,无非是技术不发达的表现罢了。


那么有没有什么技术,使得你和卖家在基于不信任关系的前提下,绕过某一信任中心来解决信任问题呢?

共识,公账与区块链

这个时候我们就开始谈区块链了。考虑一个比较原始的借钱场景:


甲借给了乙 100 块钱,双方约定借贷时都要大喊一声。


此时甲在人群中大喊:“我借给乙 100!”


乙也在人群中大喊:“我收到了甲 100!”


互不相识的围观群众听到了喊话并达成了“甲借给乙 100 块”的共识,这一借贷行为本身没有任何的借条和收据,也没有任何一个验证中心来检测借贷行为的真实性,完全是群众们的耳朵发挥了监督作用。



此时乙如果开始抵赖,则围观群众义愤填膺:“我们都听到你说收到了 100!”一个写字最快的群众则拿出纸记下了甲乙借贷的故事,这样抵赖就基本不可能了。


翌日乙再将这 100 块借给了丙,那么群众仍听到了这笔交易,在这个账本上不光写下了这笔借贷,还写下了“以上笔借贷为基础”,即乙丙之间 100 块的借贷关系发生之前,甲乙发生过 100 块的借贷关系。将甲乙丙借贷中的两个账本连接起来,日后若再发生借贷则按同样的方法连接下去,就形成了下图所示的“公共账本链”:



群众们记录的公共账本链回答了下面几个问题:


  • 最开始那 100 块的借贷关系是哪里来的?

  • 那 100 块的借贷关系是如何流转的?

  • 每一个人想把 100 块的借贷关系转给下一个人时,由于之前账本的存在,他没有办法掩盖和作假(注意之前的假设,收到 100 块大喊一声,如果没收到就大喊一声而谎称自己有 100 块,群众就会去通过对以前的账本验证你喊话的真实性,显然你不在账本的历史记录中)


讲到这里可以发现,这个公共账本能够替代一个验证中心所发挥的功能,而且由于是群众所记,除非群众一起消失,否则一定会有写的最快的群众进行记账。


对应到区块链里,公共账本链就是区块链,记账群众就是分布在网络中互不相识的节点,记账最快的群众即运算能力最强的节点,唯一没有在上述场景中提到的是,系统会给记账最快的节点一定程度的奖励,这样他们才会收到激励争先恐后的去记账,从而在结果上维护了交易的真实和延续。


简而言之,区块链通过一种分布式的技术方式解决了某些人或主体之间互不信任的问题,上述借贷场景就是一个做出了假设和约束的区块链应用方案。

区块链照进现实

Gartner 认为区块链是 2017 年的十大战略技术趋势之一,而国内互联网金融长期观察者认为区块链目前的情况类似于 TCP/IP(1969 年出现的技术,30 年后应用才全面盛开)或者 HTML 刚出来的时候找不到落地的应用。目前国内区块链的应用还比较少,但是通过对其原理和技术的分析,业界普遍认为可应用区块链的领域比较广泛,包括但不限于金融、法务认证、政治投票、物联网、供应链、知识产权、房地产等。



而就在前年 10 月 25 日,华为也正式加入了 HyperLedgerProject 区块链联盟。有些同学可能并不太了解这一项目的意义,这里笔者并不想做出太多的解释,因为这可能需要更多深入的区块链知识,而本文的目的则仅仅是粗略的介绍区块链的原理和作用。但是看一看该联盟的成员,IBM、思科、英特尔等科技巨头赫然在列,区块链能对 ICT 产业带来怎样的变化和影响,更需要相关专业同事的探讨和分析。


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/U225kEL5p1TBgvuK5ncVKA


2020-04-02 14:361452

评论

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

读懂React原理之调和与Fiber

xiaofeng

React

【牛客刷题-算法】NC11 将升序数组转化为平衡二叉搜索树

清风莫追

数据结构 算法 二叉树 10月月更

React组件复用的发展史

夏天的味道123

React

Redis开篇--非关系型数据库

Java学术趴

10月月更

深入理解Node.js的进程与子进程

coder2028

node.js

Python应用之阿姆斯特朗数

芯动大师

Python语法 10月月更 阿姆斯特朗数

js进阶手写常见函数

hellocoder2029

Vue

存储优化--查询分离

喵叔

10月月更

一个dubbo和springboot的兼容性问题

xiaoxi666

Node.js实现大文件断点续传

coder2028

node.js

【牛客刷题-算法】NC9 二叉树中和为某一值的路径(一)

清风莫追

算法 二叉树 10月月更

架构师的十八般武艺:业务架构

agnostic

业务架构

Redis--SpringBoot整合Redis(包含工具类)

Java学术趴

10月月更

Vue实战必会的几个技巧

yyds2026

Vue

数据产品经理实战-项目管理

第519区

项目管理 数据产品经理

JWT 和 JJWT 还傻傻的分不清吗

HoneyMoose

React生命周期深度完全解读

夏天的味道123

React

MFC|双缓存绘图机制

中国好公民st

c++ qt 10月月更

【牛客刷题-算法】NC7 买卖股票的最好时机(一)

清风莫追

算法 动态规划 10月月更

webpack配置完全指南

Geek_02d948

webpack

细说react源码中的合成事件

flyzz177

React

React源码解读之任务调度

flyzz177

React

变量使用范围

理想何止三旬

变量

webpack配置优化,让你的构建速度飞起

Geek_02d948

webpack

Vue3入门指北(七)事件处理

Augus

Vue3 10月月更

js函数式编程讲解

hellocoder2029

JavaScript

【一Go到底】第三天---变量的使用

指剑

Go golang 10月月更

你要的react+ts最佳实践指南

xiaofeng

React

Redis中的数据类型以及常用方法

Java学术趴

10月月更

Vue响应式依赖收集原理分析-vue高级必备

yyds2026

Vue

环形链表 II

掘金安东尼

算法 10月月更

技术小白也能看懂的区块链原理_区块链_华为云产品与解决方案_InfoQ精选文章