HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

评论

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

深入理解Deno是如何借助PowerShell进行安装脚本

梁龙先森

大前端 deno shell脚本编写 PowerShell 28天写作

立足智能化发展,风电能源产业互联网平台加快建设

一只数据鲸鱼

物联网 数据可视化 3D可视化 能源管理 风力发电

数据中心架构设计比较

Mybatis association关联查询

フェイト ゼロ

我与声网Agora

june

数据驱动业务增长的底层逻辑2.0

小飞象@木木自由

产品 数据分析 运营 业务增长

流批一体生产应用!Bigo 实时计算平台建设实践

Apache Flink

flink

java-时间的使用

建安

Java android SpringBoot 2

CPU高速缓存与极性代码设计

华为云开发者联盟

缓存 数据 cpu 存储

Windows下JMeter分布式压测环境搭建

行者AI

Jmeter

华为云PB级数据库GaussDB(for Redis)解析第二期:Redis消息队列Stream的应用探讨

华为云开发者联盟

数据库

基于matlab的控制系统与仿真3-根轨迹、bode图、Nyquist图

AXYZdong

matlab 2月春节不断更

python与c++区别之print

沈阳

一个员工的离职成本,很恐怖!

不脱发的程序猿

职场 HR 28天写作 二月春节不断更 员工离职

C语言重要的知识点

c 考核 重要知识 简单清楚 好看

2019年度CMMI V2.0性能报告

IPD产品研发管理

产品 项目管理 性能 质量 CMMI

算力平台软件开发|算力平台系统APP开发

系统开发

Kafka 是怎么存储的?为什么速度那么快?

码农架构

Java kafka 架构

话题讨论 | 如何看待公司发开工红包?

happlyfox

话题讨论 28天写作 2月春节不断更 话题王者 红包

可能是Java Stream的最佳实践(一)

ES_her0

28天写作

Idea快捷键操作

刘大明

IDEA

新病毒兼容M1芯片,已经感染3万台Mac

Geek_b0cff7

新一代信息技术赋能山东政务!区块链政务平台解决方案

源中瑞-龙先生

园区网为主的 DNS 架构设计

冯骐

程序员 运维 监控 网络 DNS

Open-Falcon 中的交换机监控

冯骐

运维 监控 网络 交换机 Go 语言

【LeetCode】翻转图像Java题解

Albert

算法 LeetCode 28天写作 2月春节不断更

Java 集合处理/ 空值处理/ 异常处理,使用心得分享!

brother ben

c语言简介

Geek_f510ff

c C语言

字节码角度分析i++和++i的区别

现实中游走

Java 字节码

为什么挤破头进大厂,大厂如何设置薪资职级体系?

不脱发的程序猿

HR 校园招聘 28天写作 二月春节不断更 互联网行业薪资

BFF (Backend for frontend)避坑指南

码猿外

架构 微服务 BFF

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