新手必读-区块链浅显道理

  区块链本质上是一个去中心化的分布式账本数据库。其本身是一串使用密码学相关联所产生的数据块,每一个数据块中包含了多次比特币网络交易有效确认的信息。

  这是区块链的定义,因此要逐步了解区块链,我们需要一步步了解如下东西。

去中心化

  先来考虑一个中心化集中式处理的过程。你要在某宝上买一部手机,交易流程是:你将钱打给支付宝-支付宝收款后通知卖家发货-卖家发货-你确认收货-支付宝把钱打给卖家。  

    

  在这个过程中,虽然你是在和卖家交易,但是这笔交易还牵扯到了除了你和卖家的第三方,即支付宝,你和卖家的交易都是围绕支付宝展开。因此,如果支付宝系统出了问题便会造成这笔交易的失败。并且虽然你只是简单的买了一个手机,但是你和卖家都要向第三方提供多余的信息。因此考虑极端情况,如果支付宝跑路了或者是拿了钱不却不承认你的交易或者是支付宝所在的城市因为开G20把所有人都赶走了(?),那么你就悲剧了。

  而去中心化的处理方式就要显得简单很多,你只需要和卖家交换钱和手机,然后双方都声称完成了这笔交易,就OK了。

  可以看出在某些特定情况下,去中心化的处理方式会更便捷,同时也无须担心自己的与交易无关的信息泄漏。

  其实如果只考虑两个人的交易并不能把去中心化的好处完全展示出来,设想如果有成千上万笔交易在进行,去中心化的处理方式会节约很多资源,使得整个交易自主化、简单化,并且排除了被中心化代理控制的风险。

  去中心化是区块链技术的颠覆性特点,它无需中心化代理,实现了一种点对点的直接交互,使得高效率、大规模、无中心化代理的信息交互方式成为了现实。

  当然,上述的例子有一个很大的潜在问题:没有了权威的中心化代理,怎样保证每笔交易的准确性和有效性呢?比如:如果没有了权威的中心化代理,张三某一天借了我100块钱,但是不还钱还不承认怎么办?这里就引出了区块链的其它特性。

两个基础难题

  在去中心化以后,整个系统中没有了权威的中心化代理,信息的可信度和准确性便会面临问题。

问题1:类两军问题

  第一次听说这个问题居然是在TCP的课上,大致说的是有两个相距很远的军队要传递信息,红军派遣一个信使去跟蓝军说:“你他娘的把意大利炮拿出来!”。蓝军收到信息后又派了一个信使去红军说:“收到指令!”。然后红军又派一个信使去蓝军说:“知道你收到指令了!”。然后蓝军又派一个信使去红军说:“知道你知道我收到指令了!”。然后红军又派一个信使去蓝军说:“知道你知道我知道你收到指令了!”……然后就没完没了了。

  

  在分布式计算中在异步系统和不可靠的通道上达到一致性是不可能的。在这种情况下,因为是点对点的通信,双方不可能在这种情况下达到信息的一致性。严谨一点,就是“在分布式计算上,试图在异步系统和不可靠的通道上达到一致性是不可能的”。

问题2:拜占庭将军问题

  拜占庭罗马帝国在军事行动中,采取将军投票的策略来决定是进攻还是撤退,也就是说如果多数人决定进攻,就上去干。但是军队中如果有奸细(比如将军已经反水故意乱投票,或者传令官叛变擅自修改军令),那怎么保证最后投票的结果真正反映了忠诚的将军的意愿呢?

  拜占庭将军问题反映到信息交换领域中来,可以理解为在一个去中心的系统中,有一些节点是坏掉的,它们可能向外界广播错误的信息或者不广播信息,在这种情况下如何验证数据传输的准确性。

区块链技术的诞生

  现在让我们来一步一步在去中心化的系统中解决这些问题,见证区块链技术雏形的诞生。

  1

  我们先来建立一个去中心化的系统,为了方便理解,我们来看一个简单的去中心化借贷模型:如果A借了B 100块钱,这个时候,A在人群中大喊“我是A,我借给了B 100块钱!”,B也在人群中大喊“我是B,A借给了我100块钱!”,此时路人甲乙丙丁都听到了这些消息,因此所有人都在心中默默记下了“A借给了B100块钱”。你看,这个时候一个去中心化的系统就建立起来了,这个系统中不需要银行,也不需要借贷协议和收据,严格来说,甚至不需要人与人长久的信任关系(比如B突然又改口说“我不欠A钱!”,这个时候人民群众就会站出来说“不对,我的小本本上记录了你某天借了A100块钱!”)。

  

  2

  可能你已经发现了,在上述的模型中,所谓的“100块钱”已经不重要了。换句话说,任何东西都可以在这个模型中交换,甚至你可以凭空杜撰一个东西,只要大家承认,你就可以让你杜撰的东西流通。比如:我在人群中高喊一声“我创造了10个查克拉!”,我甚至不需要知道查克拉是什么,也不需要关心世界上是不是真的有查克拉,只要大家都听到,然后在自己的小本本上记下“LaiW3n有10个查克拉”,于是我就真的有100个查克拉了。从此以后,我便可以声称我给了某人1个查克拉,只要路人甲乙丙丁都收到并且承认了这一信息,那我就算完成了这次交易,哪怕世界上没有查克拉。

  你现在脑海中是不是浮现出了三个字——“比特币”?由于真正的区块链和比特币比我上述的模型复杂太多,细节也丰富太多,因此以下还是以查克拉举例,毕竟本文是Blockchain for Babies.

  3

  假设过了很长一段时间,我凭空创造的查克拉已经在这个系统中流通了起来,大家都开始认可了查克拉。但是这个系统中一共就只有10个查克拉,于是有人动了坏心思,他在人群中高呼“我有10个查克拉!”怎么办?大家是直接在本本上记下他有10个查克拉么,这样不是人人都可以伪造查克拉了么?

  为了防止这种现象发生,我决定在我创造查克拉的时候给我的查克拉打上标记(更准确地说,我是给我喊的那句“我创造了10个查克拉”打上标记,比如标记为001),这样以后在每一笔交易的时候,我在高喊“我给了某某1个查克拉!”的时候,会附加上额外的一句话:“这1个查克拉的来源是记为001的那条记录,我的这句话标记为002!”。我们再抽象一点,某人喊话的内容的格式就变成了:“这句话编号xxx,上一句话的编号是yyy,我给了某某1个查克拉!”,这样就解决了伪造的问题。其实上述模型就变成一个简化的中本聪第一版比特币区块链协议:

  好了,看到这里你基本已经能够生动形象又不涉及任何细节地向你的弱智室友解释区块链了。但是也许你的室友是一个有打破沙锅问到底精神求是学子,因此你最好继续准好回答以下这几个问题。

  1. “凭啥?”

  你室友可能会问:“凭啥你喊一句话我就帮你记?我的小本本不要钱么?”。为了激励大家帮我传话和记账,我决定给第一个听到我喊话并且记录在小本本上的人一些奖励:第一个听到我喊话并记录下来的人,你就凭空得到了1个查克拉,这个查克拉是整个系统对你幸苦记账的报酬,而你记录了这句话之后,要马上告诉其它人你已经记录好了,让别人放弃继续记录这句话,并给你自己的记录编号让别人有据可查,然后你再把我的话加上你的记录编号一起喊出来,供下一个人记账。

  当这个规则定下以后,这个系统中一定会出现一批人,他们开始竖着耳朵监听周围发出的声音,以抢占第一个记账的权利。对的,你脑海中是不是又浮现出了“比特币挖矿”的字眼?

  值得一提的是,关于比特币挖矿, 有一个很形象的例子:

单身汪们要找女票,国民岳母说我有好多女儿,这样吧我给你们出点题目,解出一个就给其中一个姑娘的微信号。

单身汪们疯狂竞争,想破脑袋去解题。只要其中一只汪解出一道题,就立马得意洋洋地昭告天下,示威全部单身汪,这个姑娘是我的啦,你们放弃吧。其他单身汪们即使不服也没有办法,惆怅懊恼也不是个事儿啊,还是麻溜地立马去解下一道题目吧。这只喜赢姑娘的幸运小汪被岳母认可后还能得到25个货币单位的彩礼,简直人生赢家。

  2. “听谁的?”

  在这个系统中,如果我和另一个人C几乎同时地喊出一句:“为了艾泽拉斯!”。由于听众所处的位置不同,一定会有人先听到我说的那句话,而另外一些人则先听到C的那句话,如果我们规定只能有一个人说出这句话,那到底这句话是谁说的?

  如果不加任何条件,那么上述的情况一定会这样发展:一部分人认为这句话是我说的,在听到这句话之后开始记账,之后他们所做的所有事情都是基于这个事实,并且随着这个信息一次次的传下去,这条信息链会越来越深;而另外一群认为是C先说这句话的人,也会按照这样的趋势发展。这样,原本是一条唯一的信息链,在我们喊出“为了艾泽拉斯”这句话之后,分叉了!?

  

  这会导致怎样的情况呢?按照我们的设想,应该每个人的小本本上记录的东西都是一样的,都是一条可以把所有信息串联起来的链条。但是在这一刻,他们小本本上记录的东西不一样了!这还玩毛啊?以后还怎么确定交易和信息的真实性!?

  为了解决这个问题,我又追加了新的规则:每个人在记录小本本的时候,需要脱鞋然后用脚拿笔,在小本本上用正楷体书写!有了这个规定,由于用脚写字难度很大,每个人至少需要10分钟才能写完,而且由于每个人用脚写字的熟练度不通,写完这句话所用的时间也不同,因此一定会有人先写完然后高呼“我写完了!那句话是LaiW3n喊的!”,这样其它正在写这句话的人便会停笔,然后在小本本上重新开始写“那句话是来文写的,上一句的编号是xxx”。

  如果你对上述我的解决方法感兴趣,你可以对照我上面的比喻去了解以下知识:

  “听谁的”——中本聪破解“拜占庭将军问题”的算法

  “在小本本上记录”——比特币挖矿

  “脱鞋用脚写字”——比特币挖矿难度

  “脱鞋写字速度”——算力

  “新的规则”——工作量证明链

  3. “双花”问题

  这个时候你的室友可能又要问:如果我同时宣布我给了A一个查克拉和我给了B一个查克拉,但是我只有一个查克拉,那咋整?是A和B都收到了查克拉还是咋地?

  这个时候你只需要托起他的下巴,温柔地看着他的眼睛,用手刮刮他的鼻子,说:“小妖精,你把这种情况带到上面的规则中去试试?”

--------------------------------------------------------

一些私信问题讨论:

1. 为何目前还鲜有区块链和实体商业业务对接的案例?

  从理论上:区块链是一门新技术,保守大众(包括我)还处在观望阶段,只有少数激进或者目标明确的实体开始向区块链进军,而这些少数的实体在现阶段发声的强度还不够。

  从应用上:区块链技术要与实体商业对接,在技术和规则上还需要进一步开拓,区块链解决的所谓“不信任”问题其对象也只局限于区块链上的数据。因此如果区块链要与实体业务对接,还需要进一步推动实体与数据之间跨域的“游戏规则”的建立。

2. 虚拟加密货币最终是否会走向庞氏骗局?

  这个问题我也不太好回答,毕竟我是一个技术人员而非这个领域的弄潮儿。我个人的看法是:对于普通人,不建议长期持有某种数字货币,应将数字货币作为法币之间转换的桥梁;对于投机者,“炒币”需谨慎,应将风险控制在自己能够承受的范围内。

转载自:https://www.zhihu.com/question/37290469/answer/107612456

原文地址:https://www.cnblogs.com/liang1101/p/8474683.html

时间: 2024-10-31 23:41:41

新手必读-区块链浅显道理的相关文章

[转帖]新人必读:区块链实用型技能树

新人必读:区块链实用型技能树 https://linux.cn/article-11690-1.html 作者: FISCO BCOS 张开翔 | 2019-12-19 09:38   评论: 1 随着新一波的区块链热潮,许多同学怀着巨大的热情进入了这个领域,同时也会遇到不少疑惑,区块链开发需要哪些知识?怎么学习?从哪里学习?遇到问题怎么办?本文将试图给区块链领域新人一个快速实用的指引. 一.基本 IT 技能 区块链堪称“黑科技”,本身具有大量的技术元素,有志于从技术角度切入区块链的人,应该具备

区块链上的共识机制

前言 区块链上的共识机制有多种,没有一种共识机制是完美无缺的,同时也意味着没有一种共识机制是适合所有应用场景的. PoW:Proof of Work,工作量证明 依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高.可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错1. 优缺点2: 优点:完全去中心化,节点自由进出: 缺点:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全:挖矿

区块链开发(五)区块链ICO:互联网进化的驱动力

区块链开发(五)区块链ICO:互联网进化的驱动力 李赫 2016年10月8日 由于区块链不可篡改的特性,在众多区块链组织和公司的共同努力下,互联网将逐步从中心化的信任进化到由算法.数据为核心的去中心化信任.随着中心化的信任中介被逐渐削弱和替代,互联网的运作方式将被以区块链为代表的系统所改变.因此,区块链不仅是一种技术,更是一个关于互联网进化的故事,尽管这个故事还有些遥远,但它已经有了萌芽和初步的发展. 区块链ICO,正是符合去中心化趋势,通过全球众筹,可以将沉淀在全球的小额资金充分利用起来,形成

当区块链服务于民生保险业务场景,传统保险会发生变革吗?

2018年伊始,火了冲顶大会.旅行的青蛙,还有什么?应该就是区块链吧!越来越多的人好奇区块链技术如何落地应用,而民生保险,早已开始探索结合区块链的互联网创新型保险. 互联网保险行业的变革搅动了整个传统保险行业,很多线下保险开始放到线上进行售卖.在这种情况下,保险对诚信的要求也越来越高,保险的痛点信息不对称导致保险公司和投保人之间的不信任. 在越来越重视用户体验的互联网世界,摆脱繁琐的保险流程并且重建投保信任,这些变革将在区块链技术和保险结合上得以展现. 程羽,民生健康保险事业部总经理.万向区块链

数字货币:从纸币泡沫看比特币泡沫,从互联网泡沫看区块链泡沫

目录 货币:一种观念,一个记账单位 纸币:从泡沫到法币,从自由到垄断 数字货币:6000年后,回到起点 互联网:从泡沫到革命,从1.0到4.0 区块链:从泡沫到-- 为了不引起读者混淆,笔者在一些概念上作了区分.数字货币:通指一种新的货币制度,类似于信用货币制度或者金本位制度等:虚拟币:指代以比特币.莱特币等为代表的由市场创造的虚拟代币:同时提醒读者注意货币的虚拟化和虚拟币的意思也不一样,前者主要指现在的纸币虚拟化/数字化的过程. 一.货币:一种观念 雅浦岛和费币的故事在学界广为人知,货币学派的

程序员的自我救赎---12.2.1: 虚拟币交易平台(区块链) 上【发行区块链代币】

<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八)监控系统 (九)会员中心 (十) APP版本控制系统 (十一)Winner前端框架与RPC接口规范讲解 (十二)上层应用案例 (十三)总结 <虚拟币交易平台(区块链)> --上 [发行区块链代币] 关于对于区块链 或者 比特币还没有一个基础概念的就自行百度吧,什么"去中心化",

比特币以及区块链原理学习

2018年春节过后区块链技术一下子火爆起来了,本人也对该技术十分感兴趣,因此想研究下区块链技术的原理,看看区块链背后那些技术值得去研究.由于自己缺乏实际的开发经验和使用经验,文中难免会有些理解不到位,本文主要的目的还是想将最近的学习梳理总结一下. 一.概述 比特币是存储在计算机里一枚货币,计算机存储的本质就是一串数字,那么存储比特币的这串数字为什么就可以等同于真正的货币呢?而且比特币让人感觉很像黄金,不管这黄金从什么渠道获取(从沙子里掏的,还是自己购买的),人类都会认同它的财富价值. 说到比特币

2018年数字资产即将爆发数字资产交易系统开发区块链交易平台技术

2018年数字资产即将爆发数字资产交易系统开发区块链交易平台技术2018年数字资产即将爆发数字资产交易区块链交易平台技术,有人说2017年是区块链元年,那么2018年就是区块链爆发之年.所谓爆发,一则体现舆论话题不停,二则体现应用遍地开花,2017虽已过,不过这遍地开花的势头却是不容小觑.2018年,一场轰轰烈烈的"数字资产区块链开发运动"如×××般席卷而来,关于其争议一直没停歇过.展望2018年,既有机遇也有挑战.从国际上看,全球经济复苏态势仍可能延续,主要发达经济体货币政策将进一步

看了这个对区块链有了些了解

转自https://www.2cto.com/kf/201803/727574.html 如果你还没有听说过 3 点钟区块链群,说明你还不是链圈的人;如果你还没有加入 3 点钟区块链群,说明你还不是链圈的大佬;如果你还没有被 3 点钟区块链群刷屏,说明你还体会不到什么是"币圈一天,人间一年". "三点钟区块链"无疑成为了大家春节期间焦虑的根源,而"区块链"注定是 2018 年被持续讨论.关注的行业性热点话题. 3 月 1 日,朱啸虎对正翻涌不断的