写点什么

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

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

评论

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

如何在 eNSP 上保存配置?

Ethereal

读一篇博客,写一段代码,每天写写Python自然就会了,每日Python第1天

梦想橡皮擦

Python 3月月更

Linux运维必知:如何从其 PID 中查找进程名称

Ethereal

将本地代码同步到gitee和github中去

布衣骇客

Git Commit #Github

docker、k8s 面试总结

yuexin_tech

Docker k8s

从用户输入URL到页面展示,这中间发生了什么?

Tristan

前端 浏览器

初识工业互联网

劼哥stone

工业互联网

开发提效小技巧分享(一)

编程三昧

3月月更 前端工具

性能测试中Disruptor框架shutdown失效的问题分享

FunTester

Disruptor 性能测试 接口测试 高性能队列 FunTester

比特币突破4.4万美元!美欧制裁或推动俄罗斯资金转向加密货币

CECBC

[银行面试系列]1 进入银行之前必须了解的20个问题

暖蓝笔记

3月程序媛福利 3月月更

什么是元宇宙?为何要关注它?——解码元宇宙

CECBC

Go语言实战之数组的内部实现和基础功能

山河已无恙

Go 语言 3月月更

解密数据仓库LLVM技术神奇之处

华为云开发者联盟

数据仓库 LLVM 算子 GaussDB(DWS) 底层虚拟机

面试官:GRE 和 IPsec 隧道有什么区别?

Ethereal

紫光展锐解除楚庆CEO职务,内部员工爆料那些不为人知的内情!

IC男奋斗史

芯片行业思考

聊聊 Pulsar: Pulsar 分布式集群搭建

老周聊架构

云原生 Apache Pulsar 3月月更

开发电脑用 Windows 还是 Mac

HoneyMoose

Mybatis的where标签,竟然还有这么多不知道的!

CRMEB

如何在 Linux 中将主目录移动到新分区或磁盘?

Ethereal

期待!Fedora 36 发布日期和新功能

Ethereal

如何做好一场技术分享

Hockor

团队管理 个人成长

presto实战读书笔记

聚变

遵循Promises/A+规范,深入分析Promise实现细节(基础篇)

战场小包

JavaScript 前端 Promise 3月月更

三条命令搭建自己的博客平台

山河已无恙

WordPress 3月月更

Linux小技巧:如何在 Vim 中显示行号?

Ethereal

从理想照进现实,浅谈“算力网络”

鲸品堂

东数西算

如何打造良好的分享氛围

Hockor

团队管理 技术分享

千万级学生管理系统的考试试卷存储方案

晨亮

「架构实战营」

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