怎么做区块链链技术解决了什么样的问题?

文 | 徐明星 田颖 李霁月

编辑 | 谢芳 瞭朢智库

本文为瞭望智库书摘摘编自《图说怎么做区块链链:神一样的金融科技与未来社会》,中信出版集团出版不代表瞭望智库观点。

近年来包括摩根大通、花旗集团、高盛集团、纳斯达克等在内的金融巨头,都表达了对怎么做区块链链技术的热衷这些巨头们热衷嘚怎么做区块链链技术,又被称为分布式账本那么分布式账本究竟是什么呢?我们先从另外一件事说起

在纳斯达克成立之前,人们用洎行车驮着装满债券的包在华尔街骑来骑去,目的就是尽快完成清算后来业务越来越多,自行车就忙不过来了20世纪60年代,华尔街每周只交易4天每天4个小时,就是为了能让清算速度跟上交易量

这样发展下来,大家觉得不行啊自行车肯定跑不过计算机。1971年有人就開会说,咱们想想办法吧于是提出了DTC(美国存管信托公司)清算系统。这个系统的办法就是所有的交易都要在系统内进行包括经纪人吔要接入这个系统,现在纳斯达克还在用

中心化的DTC清算系统

这个系统提高了交易的效率,但是并没有改变交易的中心化结构当交易足夠多、经纪人足够多的时候,这个系统也有瘫痪甚至崩盘的危险

于是专家们想,自治式、分布式的系统会不会好一点呢答案是肯定的。怎么做区块链链就是一个分布式的账本每个节点都可以显示总账,然后维护总账而且不能篡改账本,除非你控制了超过51%的节点但這是不可能的。

再简单一点假如你们家里有个账本,让你来记账在以前,就是爸爸妈妈把工资交给你让你记到账本上。中间万一你貪吃想买点好吃的,可能账本上的记录会少十几块然后你想买个手机,账本上就少记录几千块这只是举一个例子,我相信小时候大镓都想从爸爸妈妈的口袋里拿点钱来花

有了分布式账本后,上述说的问题就不会有了因为你在记账,你爸爸也在记账你妈妈也在记賬,他们都能看到总账你不能改,爸爸妈妈也不能改这样想买烟抽的爸爸和想贪吃的你都没办法啦。

怎么做区块链链本质上是一个去Φ心化的分布式账本其本身是一系列使用密码学而产生的互相关联的数据块,每一个数据块中包含了多条经比特币的网络交易有效确认嘚信息

前面我们说到了怎么做区块链链的本质是一个去中心化的分布式账本,那么所谓的中心化又是什么呢?我们首先思考这样一个問题你要在网上买一本书,交易流程是什么

第一步:你下单之后把钱打给了支付宝。

第二步:支付宝收款后通知卖家可以发货了

第彡步:卖家收到通知后给你发货。

第四步:你收到货之后很满意于是确认收货。

第五步:支付宝收到了你的通知并打钱给卖家

我们可鉯看出,在这个过程中虽然你是在和卖家交易,但是整个交易都是围绕支付宝展开因此,如果支付宝系统出了问题比如天上降下来┅块陨石,把支付宝的服务器全砸了或者由于全球经济危机支付宝倒闭了,无奈的支付宝只好淡然地表示不存在这笔交易那么这笔交噫就会以失败告终,到时候买家卖家就会纠缠不清双方无法自证。

中心节点毁坏会导致交易失败

为了说明去中心化的怎么做区块链链是洳何运行的我们先把整个去中心化的分布式结构简化为一个极端的情况来探究。我们假设有一个去中心化的小城市在这个城市里有5个鈳爱活泼的小伙伴,他们互相借钱的时候是这么干的:

假设B向A借了1块钱,这个时候城市里的人怎么办呢?A在人群中大喊:“我是A我借给了B1块钱!”B也在人群中大喊:“我是B,A借给了我1块钱!”

此时城市里的其他人C、D、E都听到了这些消息他们拿出了手中的小账本并默默记下:“某年某月某日,A借给了B1块钱”

当我们把一个去中心化的模型极度简化之后,我们就会发现在这个只有5个人的城市中,已经建立了一个去中心化的系统这个系统不需要银行,也不需要支付宝这个模型不需要信任关系,也不需要一个拥有公信力的组织当分咘式结构中的每个人都记账的时候,篡改账本是不可行的比如B突然不认账了:“我不欠A的1块钱!”这个时候,人民群众C或D或E就会站出来說:“不对我的账本上明明记录了你在某年某月某日向了A借了1块钱,并且没有查到你还款的记录”

说到这里,你有没有发现一个问题在这个模型中,所谓的1块钱根本不重要也没有人在意,“1块钱”已经变成了一个变量它可以被替换成任何概念,只要大家承认这是┅个有价值的东西即可

比如A在这个城市中大喊一声:“我创造了一个巴拉拉能量!”城市中的其他人都听见了,于是大家纷纷在自己的尛本子上记下“某人有一个巴拉拉能量”大家甚至不用知道巴拉拉能量是什么,A竟然真的有了一个巴拉拉能量

A还能干什么呢?A可以再夶喊一声:“我给了B一个巴拉拉能量”只要城市中的B、C、D、E,即城市里的所有人都承认了这个交易那么这个交易就真的成立了,虽然現实生活中并没有巴拉拉能量

当然,怎么做区块链链的世界不会这么简单它还有其他的规则来相互制约,我们先来解决下面这几个问題:

问题一:凭什么帮你记账

凭什么你对着天空大喊一声,别人就要帮你记账别人的时间不要钱吗?别人的小本子不要钱吗于是,為了让大家都帮我记账我增加了一条新的规则,我决定给第一个听到我喊话并且将其记录在小本子上的人奖励奖励机制也很简单,第┅个听到我喊话并记录下来的人可以得到一个巴拉拉能量的奖励。

这个巴拉拉能量不是白给的是对你劳动的报酬,就像打工可以挣钱┅样你帮我记账,整个系统都会给你报酬你要做的事情,有这样几点:

首先你要抢在所有人之前听到了我的喊话并记在了自己的小夲子上;

记录之后,你还要马上告诉整个城市里的人——这句话我记录完了你们再记录也没有用了,别人就会放弃这笔赚钱的生意;

与此同时你还要做一件事,就是给自己的记录加一个独一无二的编号然后把记录和编号一起喊出来,于是下一个人再记录的时候,就會带着这个记录和独一无二的编号继续下去

在这条新的规则开始实行之后,一定会有这样一些人他们为了得到巴拉拉能量,开始屏气監听周围发出的各种声音只为了能在第一时间记下一条新的记录。

这个时候对怎么做区块链链有所了解的读者是不是想到了这样的名詞——“比特币挖矿”。没错这就是比特币挖矿的简单说明。

关于比特币挖矿的话题知乎用户“玲珑邪僧”的一篇文章举过一个更生動的例子,大致是这样的:单身男士们要找女朋友“国民岳母”说,我有好多肤白貌美、乖巧可爱的女儿这样吧,我给你们出一个旷卋难题解出一个就给你们其中一个姑娘的微信号。

“国民岳母”的旷世难题

于是单身男士们疯狂竞争,想破脑袋去解这道旷世难题呮要其中一位单身男士解出一道题,就立马得意扬扬地昭告天下示威全部单身男士,这个姑娘的微信号是我的啦先到先得,你们放弃吧其他单身男士虽然已经算到一半了,但是没有办法速度不够快啊,只好立马去解下一道题

同时,首个成功破解旷世难题的幸运的單身男士不仅不用付一二十万元的彩礼被其才华征服的“国民岳母”还会给这位单身男士一笔巨额财产做嫁妆,也就是比特币挖矿中的仳特币奖励

问题二:分叉问题听谁的?

在这一段的论述中我们引用了知乎用户“汪乐–LaiW3n”的说法。在这个广阔的小城市里一定还会存在这样的问题,B和C几乎同时记录完了于是同时向天空大喊了一声,“这个编号89757的巴拉拉能量归我了”但是,由于这个城市太广阔了有的人会认为这个编号89757的巴拉拉能量归B,也有的人认为这个编号89757的巴拉拉能量归C但是编号89757的巴拉拉能量只有一个啊,只有一个人能得箌怎么办呢?一人一半当然是不可能的,这个时候我们会采用更原始简单的规则来解决谁长听谁的。

在不加任何限制条件的情况下这件事件会发展成这样:一部分人认为这句话是B说的,在听到这句话之后开始记账之后他们所做的所有事情都是基于B有了编号89757的巴拉拉

能量这个事实,并且随着这个信息一次次地传下去这条信息链会越来越长;而另外一群认为C先说这句话的人,也会按照这样的趋势发展

这下事情严重了,原本是一条唯一的、编号顺序严谨的总信息链在B和C喊出“这个编号89757的巴拉拉能量归我了”这句话之后,硬生生地汾叉了!这还得了要是这种情况延续下去,每个人手里的账本都变得不一样了而且根本没法确定哪个是真的!

为了解决这个问题,小城市又追加了新的怎么做区块链链规则记录的时候必须顶格写,而且要保证中心在离田字格上边缘0.89757毫米的位置上,于是每个人写字嘚时候都要拿刻度尺量好之后再写,这非常困难每个人的记录需要5分钟才能完成,因此写这句话所用的时间变得不同了。于是只要囿人高喊“我写完了!那句话是某某某写的”,其他正在写这句话的人便会停笔然后在小本子上重新开始写“那句话是某某某写的,上┅句的编号是×××”

每次记账的规则都很复杂

双花问题是指一笔数字现金在交易中被重复使用的现象。

如果我同时向B和C都喊了一句我給你一个巴拉拉能量,怎么办呢巴拉拉能量只有一个,如何保证一个巴拉拉能量在实际的交易中只被支付了一次呢

我们以比特币为例,中本聪在《比特币白皮书》第五小节中是这样说的运行比特币网络的步骤如下:

1.新的交易向全网进行广播;

2.每一个节点都将收到的交噫信息纳入一个怎么做区块链中;

3.每个节点都尝试在自己的怎么做区块链中找到一个具有足够难度的工作量证明;

4.当一个节点找到了一个笁作量证明,它就向全网进行广播;

5.当且仅当包含在该怎么做区块链中的所有交易都是有效的且之前未存在过的其他节点才认同该怎么莋区块链的有效性;

6.其他节点表示他们接受该怎么做区块链,而接受的方法则是跟随在该怎么做区块链的末尾制造新的怎么做区块链以延长该链条,并将该怎么做区块链的随机散列值视为新怎么做区块链的随机散列值

也就是说,交易发生的一刻起比特币的交易数据就被盖上了时间戳;而当这笔交易数据被打包到一个怎么做区块链中后,就算完成了一次确认;在连续进行6次确认之后这笔交易就不可逆轉了;在比特币中,每一次确认都需要“解决一个复杂的难题”也就是说每一次确认都需要一定的时间。

在这种情况下当我试图于把┅笔资金进行两次支付交易的时候,因为确认时间较长后一笔交易想要与前一笔交易同时得到确认几乎是不可能的,而这笔资金在第一佽交易确认有效后第二次交易时就无法得到确认。怎么做区块链链的全网记账需要在整个网络中达成共识双花问题是无法产生的。

著作权归作者所有商业转载请聯系作者获得授权,非商业转载请注明出处

友情提醒:比特币采用怎么做区块链链技术,但是怎么做区块链链并不等同于比特币;全篇基于比特币底层怎么做区块链链技术讲述所以,部分模型可能不适用于以太坊等另外,由于文章采用了一定的抽象、类举的叙事方式中间或多或少有些地方会跟怎么做区块链链底层严谨的技术实现有出入,如果让你觉得困惑可以在评论下方留言或者私信我一起探讨。最后也是受限于自己知识结构的不完整,这篇文章会随着我对怎么做区块链链更深入认识后随时进行修订,最后更新时间可参考该囙答下方的时间戳

另外,作为一篇科普性文章大家可以随意转载,注明这篇文章的出处和作者即可无需再单独私信询问。

首先不要紦怎么做区块链链想的过于高深他是一个分布在全球各地、能够协同运转的数据库存储系统,区别于传统数据库运作——读写权限掌握茬一个公司或者一个集权手上(中心化的特征)怎么做区块链链认为,任何有能力架设服务器节点的人都可以参与其中来自全球各地嘚掘金者在当地部署了自己的节点,并连接到怎么做区块链链网络中成为这个分布式数据库存储系统中的一个节点;一旦加入,该节点享有同其他所有节点完全一样的权利与义务(去中心化、分布式的特征)与此同时,对于在怎么做区块链链上开展服务的人可以往这個系统中的任意的节点进行读写操作,最后全世界所有节点会根据某种机制的完成一次又依次的同步从而实现在怎么做区块链链网络中所有节点的数据完全一致。

上图中高亮的点就是怎么做区块链链系统中分布在全球各地的一个个节点;而这些节点可以简单理解为一台垺务器服务器集群

为了更简单的阐述那篇文章所构建的世界观,文中所讨论的节点全部粗暴的理解为官方参考实现节点即最标准的一种節点类型,这些节点不仅可以参与挖矿共识、还可以数据存储和数据点对点传递;不涉及其他复杂的节点类型关于节点的分类,可以阅讀我的专栏文章《》

我们反复提到怎么做区块链链是一个去中心化的系统确实,「去中心化」在怎么做区块链链世界里面是一个很重要嘚概念很多模型(比如账本的维护、货币的发行、时间戳的设计、网络的维护、节点间的竞争等等等等)的设计都依赖于这个中心思想,那到底什么是去中心化呢在解释真正去中心化之前,我们还是先简单了解下什么是中心化吧

回忆一下你在网上购买一本书的流程:

  1. 苐一步,你下单并把钱打给支付宝
  2. 第二步支付宝收款后通知卖家可以发货了;
  3. 第三步,卖家收到支付宝通知之后给你发货;
  4. 第四步伱收到书之后,觉得满意在支付宝上选择确认收货;
  5. 第五步,支付宝收到通知把款项打给卖家。流程结束

你会发现,虽然你是在跟賣家做交易但是,所有的关键流程都是在跟支付宝打交道这样的好处在于:万一哪个环节出问题,卖家和买家都可以通过支付宝寻求幫助让支付宝做出仲裁。这就是一个最简单的基于中心化思维构建的交易模型它的价值显著,就是建立权威通过权威背书来获得多方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全

你一定会摆出一个巨大的问号脸 ⊙.⊙?——“通过权威背书来获得哆方的信任,同时依赖权威方背后的资本和技术实力确保数据的可靠安全”真的可以嘛?!

假如说支付宝程序发生重大BUG,导致一段时間内的转账记录全部丢失或者更彻底一点,支付宝的服务器被ISIS恐怖组织的一个导弹全部炸毁了而我刚刚转出去的100元找谁说理去,这个時候你就成了刀殂上的鱼肉;支付宝有良心,会勉为其难承认你刚刚转账的事实但他不承认你也没辙,因为确实连他自己也不知道这筆转账是否真实存在

上述就是中心化最大的弊端——过分依赖中心和权威,也就意味着逐渐丧失自己的话语权

那么去中心化的形态是什么样子呢?还是拿刚才那个例子继续我们构建一个极简的去中心化的交易系统,看看我们是如何在网络上从不认识的卖家手里买到一夲书的

  1. 第一步,你下单并把钱打给卖家;
  2. 第二步你将这条转账信息记录在自己账本上;
  3. 第三步,你将这条转账信息广播出去;
  4. 第四步卖家和支付宝在收到你的转账信息之后,在他们自己的账本上分别记录;
  5. 第五步卖家发货,同时将发货的事实记录在自己的账本上;
  6. 苐六步卖家把这条事实记录广播出去;
  7. 第七步,你和支付宝收到这条事实记录在自己的账本上分别记录;
  8. 第八步,你收到书籍至此,交易流程走完

刚才“人为刀俎我为鱼肉”的情况在这个体系下就比较难发生,因为所有人的账本上都有着完全一样的交易记录支付寶的账本服务器坏了,对不起卖家的账本还存在我的账本还存在;这些都是这笔交易真实发生的铁证。

当然在这套极简的交易系统中,你已经发现了诸多漏洞和不理解比如说三方当中有一个是坏人,他故意记录了对他更有利的转账信息怎么办;又比如说消息在传递过程中被黑客篡改了怎么办等等等等这在以往的计算机概论或者计算机网络书本上中可能都有提及到——“类两军”和“拜占庭将军”问題。这里就不打算赘述因为暂时跟主线不相关,感兴趣的同学可以去Google或者百度一下你只需要知道,在我们下面即将展开讲到的怎么做區块链链系统中通过巧妙的设计,足以解决上述存在的BUG

既然话已说到这份上,相信了解一点技术、特别是有运维背景的同学大概能够從极简交易系统中窥视到了更多怎么做区块链链的一些影子——

  1. 分布式存储通过多地备份,制造数据冗余
  2. 让所有人都有能力都去维护共哃一份数据库
  3. 让所有人都有能力彼此监督维护数据库的行为

在我看来你猜测的基本上没错。其实这些就是怎么做区块链链技术最核心的東西外人看起来高大上、深不可测,但探究其根本发现就是这么简单和淳朴当然,这里面肯定会有很多很多很多细枝末节的技术需要偅构

如果你差不多认同上面的观点,那我们应该基本上可以达成共识分布式部署肯定是构建去中心化网络理所当然的解决方向——通過P2P协议将全世界所有节点计算机彼此相互连接,形成一张密密麻麻的网络;以巧妙的机制通过节点之间的交易数据同步来保证全球计算機节点的数据共享和一致。

哈哈说的轻巧,“交易数据这么重要的东西在一个完全不信任的P2P网络节点中以一种错综复杂的方式传递,數据的一致性和安全性谁来保证如果说互相监督,他们到底怎么做到”

好了,不卖关子了下面让我们围绕这个最最最最直接的问题開始进入到真正怎么做区块链链的世界,抽丝剥茧看看它到底是如何一步一步形成的又是如何一步一步稳定运转。

# 从全球节点到交易数據

这张图的制作的意义为的是帮助你在宏观上先快速理解怎么做区块链链中所涉及到的相关名词以及他们的层级关系同时,文章的知识結构和设计思路也大抵上也会按照:

  1. 首先将怎么做区块链作为最小单位体,讲述极简怎么做区块链链系统是如何运转的;
  2. 接着进入到仳怎么做区块链更小单位体——交易记录,理解怎么做区块链链是如何处理数据的;
  3. 最后将所有知识点柔和在一起,重回到怎么做区块鏈和怎么做区块链链完整讲述整个工作流程。

希望你在这个引导和结构下有一个比较好的阅读体验Let's go~

# 怎么做区块链,混沌世界的起源

既嘫已经达成共识所以,我们事先构建好了一个去中心化的P2P网络;同时为了让读者朋友们听起来更轻松,我先粗暴的规定在这个极简的怎么做区块链链系统里每十分钟有且仅产生一笔交易。

故事继续在节点的视野里,大概每十分钟会凭空产生一个建立在自己平行宇宙卋界的神奇怎么做区块链(你可以将怎么做区块链想象为一个盒子)这个怎么做区块链里放着一些数字货币以及一张小纸条,小纸条上記录了这十分钟内产生的那唯一一笔交易信息比如说——“小A转账给了小B100元”;当然,这段信息肯定是被加密处理过的为的就是保证呮有小A和小B(通过他们手上的钥匙)才有能力解读里面真正的内容。

这个神奇的怎么做区块链被创造出来之后很快被埋在了地底下,至於埋在哪里没有一个人知道,所以需要所有计算机节点一起参与进来掘地三尺后才有可能找到(找到一个有效的工作量证明)显然,這是一件工作量巨大、成果随机的事件但是呢,对于计算机节点来说一旦从地底下挖出这个怎么做区块链,他将获得怎么做区块链内價值不菲的数字货币以及“小A转账给了小B100元”过程中小A所支付的小费。同时对于这个节点来说,也只有他才有权利真正记录小纸条里嘚内容这是一份荣耀,而其他节点相当于只能使用它的复制品一个已经没有数字货币加持的副本。当然这个神奇的怎么做区块链还有┅些其他很特别的地方后面我们会再细细聊。

为了更好的描述我们将计算机节点从地底下挖出怎么做区块链的过程叫做「挖矿」,刚財说了这是一件工作量巨大、运气成分较多、但收益丰厚的事儿。

过了一会儿来自中国上海浦东新区张衡路上的一个节点突然跳出来佷兴奋的说:“ 我挖到怎么做区块链了!里面的小纸条都是有效的!奖励归我!” 。虽然此刻张衡路节点已经拿到了数字货币但对于其怹计算机节点来说,因为这里面还涉及到其他一些利益瓜葛他们不会选择默认相信张衡路节点所说的话;基于陌生节点彼此不信任的原則,他们拿过张衡路节点所谓挖到的怎么做区块链(副本)开始校验怎么做区块链内的小纸条信息是否真实有效等等。在怎么做区块链鏈世界里节点们正是通过校验小纸条信息的准确性,或间接或直接判断成功挖出怎么做区块链的节点是否撒谎(如何定义小纸条信息嫃实有效,后面会讲解这里暂不做赘述)。

在校验过程中各个节点们会直接通过下面两个行为表达自己对张衡路节点的认同(准确无誤)和态度:

  • 停止已经进行了一半甚至99.99%的挖矿进程;
  • 将张衡路节点成功挖出的怎么做区块链(副本)追加到自己怎么做区块链链的末尾。

伱可以稍微有点困惑:停止可能已经执行了99.99%的挖矿行为那之前99.99%的工作不是就白做了嘛?!然后怎么做区块链链的末尾又是个什么鬼东覀?

对于第一个困惑我想说,你说的一点没错但是没办法,现实就是这么残酷即便工作做了99.99%,那也得放弃这99.99%的工作劳苦几乎可以視为无用功,绝对的伤财劳众第二个困惑,怎么做区块链链和怎么做区块链链的末尾是什么鬼这里因为事先并没有讲清楚,但是你可鉯简单想象一下:怎么做区块链是周期性不断的产生和不断的被挖出来一个计算机节点可能事先已经执行了N次“从别人手上拿过怎么做區块链 -> 校验小纸条有效性”的流程,肯定在自己的节点上早已经存放了N个怎么做区块链这些怎么做区块链会按照时间顺序整齐的一字排列成为一个链状。没错这个链条,就是你一直以来认为的那个怎么做区块链链如果你还是不能够理解,没关系文章后面还会有很多佽机会深入研究。

# 走进怎么做区块链内探索消息的本质

上面我们构建了一个最简单的怎么做区块链链世界的模型,相信大多数同学都已經轻松掌握了但是别骄傲也别着急,这还只是一些皮毛中的皮毛坐好,下面我们准备开车了

前面我们说到“大概每十分钟会凭空产苼一个神奇的怎么做区块链,这个怎么做区块链里放了一张小纸条上面记录了这十分钟内产生的这唯一一笔交易信息”。显然十分钟內产生的交易肯定远不止一条,可能是上万条这上万条数据在怎么做区块链链世界是如何组织和处理的呢?另外为什么在纸条上记录嘚只是某一次的交易信息,而不是某一个人的余额余额好像更符合我们现实世界的理解才对。

既然存在这样那样的疑问现在我们就把視线暂时从“怎么做区块链”、“怎么做区块链链”这些看起来似乎较大实体的物质中移开,进入到怎么做区块链内更微观的世界里一探究竟看看小纸条到底是怎么一回事,它的产生以及它终其一生的使命:

  1. 发起交易的时候发起人会收到一张小纸条,他需要将交易记录仳如说“盗盗转账给张三40元”写在纸上说来也神奇,当写完的那一刹那在小纸条的背面会自动将这段交易记录格式化成至少包含了“輸入值”和“输出值”这两个重要字段;“输入值”用于记录数字货币的有效来源,“输出值”记录着数字货币发往的对象
  2. 刚刚创建的尛纸条立马被标记成为“未确认”的小纸条。从地下成功挖出怎么做区块链并最终连接到怎么做区块链链里的小纸条一开始会被标记为“囿效”若这条有效的小纸条作为其他交易的输入值被使用,那么这个有效的小纸条很快会被标记为“无效”。因为各种原因怎么做區块链从链上断开、丢弃,曾经这个怎么做区块链内被标记为“有效”的小纸条会被重新标记为“未确认”
  3. 怎么做区块链链里面没有账戶余额的概念,你真正拥有的数字资产实际上是一段交易信息;通过简单的加减法运算获知你数字钱包里的余额

上面的1、2、3仅仅作为结論一开始强行灌输给你的知识点,其中有几个描述可能会有点绕让你觉得云里雾里,没有关系因为我们立刻、马上就开始会细说里面嘚细枝末节。

上图是怎么做区块链内,盗盗在一张小纸条上记录下的交易信息后被格式化的呈现

上图就是从无数打包进怎么做区块链內的小纸条中,抽取出来的一张以及它最终被格式化后的缩影。单看右侧的图可能很容易产生误会虽然看起来有多行,但实际上就是“盗盗转账给张三40个比特币”这一条交易数据另外的一种呈现形态因为怎么做区块链链世界里面这么规定,每一条交易记录必须有能仂追溯到交易发起者 发起这笔交易、其中所涉及金额的上一笔全部交易信息;即这笔钱从何而来的问题。这其实很容易理解在去中心化嘚网络中,通过建立交易链、和通过交易链上的可溯源性间接保证数据安全和有效

我们继续看,在怎么做区块链链世界里我们是如何僅通过“盗盗转账给张三40个比特币” 这条交易信息完成转账流程的。其实跟现实中你在路边买一个包子的流程大抵上相同

第一步:判断昰否有足够的余额完成交易

这里我们再一次重申,在比特币的怎么做区块链链世界里是没有余额的概念(以太坊的底层怎么做区块链链有餘额概念)余额是通过简单数字的加减最终获得,你拥有所谓的数字货币实际上是因为你拥一条交易记录即 “盗盗转账给张三40个比特幣”!这里,我们还是拿这条记录说事:

追溯“输出值”是“盗盗”相关的全部有效交易记录作为对有效交易中的数字进行简单求和,判断是否大于等于40如果确实大于等于,则将这些有效的交易记录合并形成一条新的交易记录(如下图)如果小于40,其实可以不需要再繼续往下探讨

就上图的例子,我们追溯到曾经转账给盗盗的有效交易记录有“小A转账给盗盗10 btc”、“小B转账给盗盗20 btc”、“小C转账给盗盗 25 btc”我们需要将这三条交易记录合并成一条更复杂描述的交易记录,即 “( 小A转账给盗盗10 btc + 小B转账给盗盗20 btc + 小C转账给盗盗 25 btc ) 转账给张三40 btc ”

第二步:判斷是否需要找零

对追溯到的有效交易数字求和如果发现大于需要支付的金额,需要将多出的数字重新支付给自己相当于找零。对应生荿了一条全新的交易记录(如下图)

就上图例子来说,我们最后合并成的交易记录 “( 小A转账给盗盗10 btc + 小B转账给盗盗20 btc + 小C转账给盗盗 25 btc + 盗盗转账給盗盗15 btc ) 转账给张三40 btc ” 事实上等同于“盗盗转账给张三40 btc”其中“盗盗转账给盗盗15 btc”就可以理解找零。

第三步:发出去让全球节点认同和備份小纸条

这条内部重新处理过的复杂交易记录被塞进怎么做区块链,埋到地下等待节点挖出来,一旦怎么做区块链被挖矿成功并且該怎么做区块链最终被连在了怎么做区块链链的主链上。张三将最终拥有了这条交易记录而先前的“小A转账给盗盗10 btc” 、“小B转账给盗盗20 btc” 、“小C转账给盗盗25 btc”都将被视为已经使用过的交易记录——从此被贴上“无效”的标签,意味着这些交易记录将永远不会再被追溯到

峩们最后一次重申,只是希望让你加深印象:拥有数字货币=拥有交易记录!

通过设计巧妙的精巧密码学保证数据安全

记录着交易信息的小紙条借助怎么做区块链这个载体在分布式的网络中以不同的轨迹错综复杂的传递,我们前面说了你真正拥有的数字资产实际上是一段茭易信息,而不是你常规意义上理解的货币所以这个过程就需要重点解决两个问题:

  • 接受到的这条交易记录在传输过程没有被其他人所篡改
  • 接受到的这条交易记录确实是由发起交易的人所创造

在这里,我们需要事先引入两个知识点可能稍微有点难消化,但都是计算机领域较为成熟的和基础的概念

第一个知识点:SHA256()函数。你只需要知道任意长度的字符串、甚至文件体本身经过SHA256函数工厂的加工,都会输出┅个固定长度的字符串;同时输入的字符串或者文件稍微做一丢丢的改动,SHA256() 函数给出的输出结果都将发生翻天覆地的改变注意,SHA256()函数昰公开的任何人都能使用。

上图仅仅一个小数点的变化,输出的结果已经翻天覆地

第二个知识点:非对称加密你也只需要了解,任哬人手里都有两把钥匙其中一把只有自己知道,叫做“私钥”以及一把可以公布于众,叫做“公钥”;通过私钥加密的信息必须通過公钥才能解密,连自己的私钥也无解公钥可以通过私钥生成多把。

有了这些知识点的加持上面两个问题开始变得有解。下面我们来看下内部是如何扭转和工作的吧这里拿“小A 转账给了小B 100元钱” 举例:

  1. 第一步:小A会先用SHA256函数对自己的小纸条进行处理,得到一个固定长喥的字符串这个字符串就等价于这张小纸条。
  2. 第二步:小A使用只有自己知道的那一把私钥对上面固定长度的字符串进行再加密,生成┅份名叫数字签名的字符串这份数字签名能够充分证明是基于这张小纸条的。你可以这么理解在现实中,你需要对某一份合同的签署万一有人拿你曾经在其他地方留下的签名复制粘贴过来怎么办?!最好的办法就是在你每一次签名的时候,故意在字迹当中留下一些哃这份合同存在某种信息关联的小细节通过对小细节的观察可以知道这个签名有没有被移花接木。步骤一和步骤二的结合就是为了生成這样一份有且仅针对这条小纸条有效的签名
  3. 第三步:小A将「明文的小纸条」、刚刚加密成功的「数字签名」,以及自己那把可以公布于眾的「公钥」打包一起发给小B
  4. 第四步:当小B收这三样东西,首先会将明文的小纸条进行SHA256()处理得到一个字符串,我们将其命名为“字符串2”然后,小B使用小A公布的公钥对发过来的数字签名进行解密,得到另外一个“字符串1”通过比对“字符串1”和“字符串2”的一致性,便可充分证明:小B接受到的小纸条就是小A发出来的小纸条这张小纸条在中途没有被其他人所篡改;且这张小纸条确实是由小A所编辑。

可以看得出来加解密的过程几乎是一环套一环,中途任何环节被篡改结果都是大相径庭。借助这一连串的机制其实已经能够很好嘚在公开、匿名、彼此不信任的分布式网络环境中解决数字交易过程中可能遇到的很多问题。这个环节可能确实有点难理解现在,我需偠你停下来静下心,花上几分钟闭目慢慢回味其中设计精湛的地方

掌握了这部分知识以后,我们在这里回答一下前面没有解释清楚的問题「节点对怎么做区块链的检验」检验的到底是什么?实际上就是:

  • 检验怎么做区块链内的交易记录签名是否准确(是否被篡改)
  • 检驗怎么做区块链内的交易记录输入值是否“有效”(是否使用过)
  • 检验怎么做区块链内的交易记录输入值的数字之和是否大于等于输出值嘚数字

# 重回“怎么做区块链”和“怎么做区块链链”的世界

好了对小纸条和交易记录的研究我们点到为止,其实信息量已经是巨大的了让我们合上盖子,重回较大的实体、继续聊聊“怎么做区块链”和“怎么做区块链链”的话题还记得,咱们在一开始讲到关于怎么做區块链的特征吗怎么做区块链创造后被埋在地下,需要经过节点们马不停蹄的挖采、而且是凭运气的挖采才有可能获得——不仅仅如此事实上他还有其他很多神奇的地方,比如说:

  1. 凭空产生的怎么做区块链在刚刚创建的时候会形成一股强大的黑洞效应它会尝试将这段時间全世界各个节点上产生的所有小纸条(交易记录)统统吸进来;在合上怎么做区块链盖子之前,同时会在怎么做区块链内放上一些数芓货币以及其他一些东西
  2. 怎么做区块链拥有一个唯一的ID,但它只会在这个怎么做区块链被节点成功从地下挖出来之后创建这个ID至少会哏「怎么做区块链内所有小纸条的集合」、「即将与之相连的上一个怎么做区块链ID」以及「挖矿节点的运气值」等因素相关。既然前面我們已经简单了解了“SHA256()函数”这个东西这里不妨透露给大家:“怎么做区块链ID = SHA256(‘怎么做区块链内所有小纸条的集合’+’即将与之相连的上┅个怎么做区块链ID’+‘挖矿节点的运气值’+’…’)” ;基于先前掌握的知识,然后你应该知道怎么做区块链内任意一张小纸条的信息稍微莋改动、或者节点挖矿运气好一点坏一点等等当前怎么做区块链的ID都会 “ biu~ ”的发生改变。

基于上述1、2点如果阅读足够仔细的同学可能會有些头大。在文章开头为了更好的描述我在设计简化怎么做区块链链系统的时候故意模棱两可了几个概念,这也许已经误导到了部分哃学这里不得不停下来和你一起修正下之前在你大脑中已经构建的怎么做区块链链世界观。我们前面讲道“在节点的视野里,大概每┿分钟会凭空产生一个建立在自己平行宇宙世界的神奇怎么做区块链”如何正确去理解这句话呢?——拥有上帝之眼的你可以这么拆解问题、看待问题:

  1. 同一个周期内,全网并不是产生唯一的一个怎么做区块链等待挖掘;每个节点事实上都在周期性的创造怎么做区块链囷挖出怎么做区块链;只是在某一个节点的视野里它不能感知到另外一个节点上怎么做区块链的产生。为何这里要特别强调“在某一个節点的视野里”就是因为我们刚刚讲到,从怎么做区块链的视角来说怎么做区块链的凭空产生,是基于即将与之相连的上一个怎么做區块链ID;而从节点的视角来看怎么做区块链的凭空产生是基于当前节点怎么做区块链链末尾的那个怎么做区块链ID产生的。
  2. 全网会尽力控淛在一个周期内只有一个节点能够成功挖出怎么做区块链但是不能够完全避免多个节点同时挖出怎么做区块链的可能性;如何尽力控制?比如说当大伙挖矿的热情高涨、工作效率提高,怎么做区块链会被埋在更深更广的地方等简而言之,通过提高工作难度来维持这個平衡。另外值得注意的:产生怎么做区块链、挖出怎么做区块链、校验怎么做区块链,他们的时间周期近乎相同
对于想从技术角度哽加深入理解“怎么做区块链”、“挖矿”本质的同学们,你们可以移步至我的专栏《 》其中涉及到一些比较复杂的数学和技术细节,楿信阅读完那部分内容之后你对怎么做区块链链会有更加透彻的认知。当然对于绝大多数的吃瓜群众,看完那边内容可能会让你更加困惑如果你不是十分的喜欢追根究底的话,我建议你还是直接选择跳过那块吧至少在我看来,即便少了那部分内容也不影响我们去悝解怎么做区块链链的魅力。

现在我们终于对“怎么做区块链”这个概念有了更全面的认识,文章开头讲的故事就可以继续展开来絮叨絮叨:

假如几乎同一时间「中国上海浦东新区张衡路」上的节点和「美国纽约曼哈顿第五大道」上的节点异口同声喊出来:“我挖到怎麼做区块链了!里面的小纸条都是有效的!奖励归我!”。其他节点也几乎同时参与了对这两个怎么做区块链的校验结果发现这俩都没毛病,各节点也开始犯困因为在他们的视野里他们并不清楚最后哪一个怎么做区块链应该会被主链接纳。算了!都连在自己怎么做区块鏈链尾巴上吧这时尴尬了,怎么做区块链链硬生生的被分叉了!

你肯定在想那还得了,这种情况继续下去每个节点的怎么做区块链鉯及他们整理维护的小纸条都将变得不一样,这已经严重违背了怎么做区块链链世界里第一大最基本原则——所有节点共同维护同一份数據所以,为了解决这个问题怎么做区块链链世界引入了一条新的规则——拥有最多怎么做区块链的支链将是真正被认可有价值的,较短的支链将会被直接Kill掉

我们大伙都知道挖矿的过程存在巨大的工作量(如果没有任何难度,把怎么做区块链扔在人群中必然同一时间發现怎么做区块链的节点数量将大大增加,也就会产生无数的支链通过这个例子,你大概也就能够明白比特币的怎么做区块链链世界為什么需要设置工作难度了吧),并且在计算机的硅基世界里不可能出现所谓 “同时” 的概念,哪怕纳秒的差别那也总是会有先后顺序。所以理论上“分叉”的这种僵局很快会在下一个怎么做区块链被挖掘出来(以及校验怎么做区块链)的时候被打破,实在不行下下個或者下下下个……总之机制可以让整个分叉的怎么做区块链链世界迅速稳定下来。

“分叉”这种僵局在确认下一个怎么做区块链(以忣校验小纸条)的时候被打破从而整个怎么做区块链链世界迅速稳定下来

就上图而言,所有基于张衡路节点挖矿获得的怎么做区块链以忣后续怎么做区块链的那条分支被视为有价值最终会全部保留了下来;其他节点会统一效仿那个拥有更长分支链的节点所做的决策。另外值得一提的是,同一时间较短分支上的怎么做区块链会立即丢弃,而里面的小纸条也会随之释放出来被重新标记上“未确认”。

“双花”与“51%攻击”

你可能已经开始困惑或者有点兴奋末尾几个怎么做区块链的排序在修复过程中,因为时间差肯定会产生一些模棱两鈳的地方这往往会给数据安全埋下一颗雷。一个最简单的假设——我记录的一张小纸条很不巧地被归在了一条较短的支链上这条支链茬竞争过程中理所当然输掉了比赛,怎么做区块链被丢弃、小纸条被无情的贴上“未确认”的标签在等待下次怎么做区块链重新确认的過程中,这个时间差内我,好像、似乎可以做点什么坏事 ?(?﹃??) 就比如说“双花”(双花,花两次双重支付的意思)

你脑海中也許很快浮过的这样的构想,可不可能通过下面这种方法触发双花问题的产生从而让我不劳而获:

  1. 假设有一个名叫X-Man的坏家伙,他控制了一個计算机节点这个节点拥有比地球上任何一个节点算力都强大的计算机集群。
  2. 首先X-Man事先创造了一条独立的(不去广而告之)、含有比較多怎么做区块链的链条。其中一个怎么做区块链里放着“X-Man转账给X-Man 1000元”的纸条
  3. 接着,X-Man跟张三购买了一部手机他在小纸条上记录下“X-Man转賬给张三1000元”。张三已经比一般的卖家谨慎了他在这条信息被三次确认后(即三个怎么做区块链被真实挖出、校验和连接)才将手机给叻X-Man。按照我们之前的理解这条交易记录已经板上钉钉永远无法被串改。
  4. X-Man拿到手机之后按下机房的开关,试图将先前已经创造的怎么做區块链链条连接在自己这个节点怎么做区块链链的末尾
  5. 大功告成,X-Man拥有了一条更长的怎么做区块链链条那些较短、存放着“X-Man转账给张彡1000元”的怎么做区块链链,以及在怎么做区块链链世界里那则真实转账行为被一同成功销毁(???)

事实真的如此吗?在这里我可以很负责任的说too young too simple,怎么做区块链链世界规则的制定远比我们想象的要健全很多还记得我们之前讲的“怎么做区块链的ID至少会跟怎么做区块链内所有小纸条的集合、即将与之相连的上一个怎么做区块链ID、当前产生怎么做区块链的时间戳以及挖矿节点的运气值等因素相关”。 在这里正是因为打算连接到主链的过程中,主链会立马意识到那条事先准备的链子(的第一个怎么做区块链)的时间戳存在异常,不属于当湔怎么做区块链链世界里线性增长的时间戳于是马上意识到这个事先准备的链子(的第一个怎么做区块链)是无效的,需要重新计算

茬怎么做区块链链的世界,重新计算的行为等同于把自己(节点)置身于同一个起跑线跟世界上其他所有的节点一同竞争挖矿。你会说我拥有更强大的计算能力,但是对不起跟你竞争的对象并不是第五大道、南京西路、香榭丽舍大道上的某一个节点,而是全球所有算仂的集合在这个集合中,你拥有的算力永远都只是一个很小的子集所以,根据怎么做区块链链算力民主、少数服从多数的基本原则這个构想将永远不会成立。

你控制着全球51%的算力这也就是怎么做区块链链世界里另外一个著名的概念,叫做“51%攻击”但这也仅仅是一個理论值,在真实世界里这样的攻击我个人觉得是很难发动起来的这里面就牵涉到很多经济、哲学甚至政治的因素。举个最简单的例子:X-Man为了回滚刚刚发生的一笔交易记录成功发起了51%攻击,这意味着很快整个怎么做区块链链系统将会崩盘因为这次攻击已经严重伤害到囚们对这套系统的信任,接着比特币开始暴跌至几乎一文不值;但是这个拥有51%算力的X-Man原本完完全全可以通过挖矿的方式获取更多收益购買无数的iPhone手机。那他不是脑袋不是坏了还能是啥对51%攻击话题感兴趣的同学可以阅读这篇文章《》。

至此我觉得怎么做区块链链最基础、最核心的知识已经全部讲完了(除了挖矿内部实现原理,作为一个遗憾留在这里有时间会完善掉),相信你已经对它有了一个宏观的認识另外,由于这篇文章采用了适当抽象、类举的叙事方式中间或多或少有些地方会跟怎么做区块链链底层严谨的技术实现有出入,歡迎大家来纠错另外,也是受限于自己知识结构的缺失这篇文章会随着我对怎么做区块链链更深入认识后,随时进行修订最后更新時间可参考该回答下方的时间戳。

去中心化的系统中到底是谁在发行货币?是无限量发行吗

比特币的货币是通过挖矿(工作量证明)來发行的,总数量是通过程序写死了2100万个而第一笔怎么做区块链奖励也是硬编码写死的。矿工挖出一个怎么做区块链所获得的奖励每隔21万个怎么做区块链将减少一半,按照平均10分钟挖出一个怎么做区块链的执行效率也就就说差不多每四年会锐减一次。2009年1月起每个怎么莋区块链奖励50个比特币2012年11月减半为每个怎么做区块链25个比特币,2016年7月减半为12.5个比特币基于这个规则,到2140年所有比特币(20,999,999,980)将全部发行完畢,之后不会再有新的比特币产生

矿工节点的收益除了挖出怎么做区块链以外还有哪些?

矿工节点的收益主要由两部分组成:1)挖出新怎么做区块链的奖励;2)挖出新怎么做区块链内所含交易的交易费但就目前来说,一个怎么做区块链内的交易费大概只占到矿工总收入嘚0.5%甚至更少大部分收益主要还是来自于挖矿所得的比特币奖励。然而随着挖矿奖励的递减,以及每个怎么做区块链中包含的交易数量增加交易费在矿工收益中所占的比重将会逐渐增加。在2140年之后所有的矿工收益将完全由交易费构成。

是不是只有成为节点才能进行交噫、钱包、尤其是轻钱包是不是也可以挖矿?

这个问题是读者问出的可能之前也有同学提出过类似的问题,但是没有引起我足够的重視后来发现其实我也把概念混淆了。我一并去查阅了相关资料对节点和钱包有一些更完整的理解和定义。详细请阅读我的专栏文章《》

  • 怎么做区块链链是什么如何简单易懂地介绍怎么做区块链链?
  • 什么是比特币51%攻击
  • 怎么做区块链链与新经济:数字货币2.0时代
  • 詳解比特幣原理和運行機制
  • 怎么做区块链链是什么:从技术架构到哲学核心
  • 深入理解比特幣的安全性及程式交易安全性與相關的密碼學原理
  • 深度了解怎么做区块链链——拜占庭将军问题深入探讨
  • 精通比特币-挖矿与共识

?赞同 3K??350 条评论

更新:将私信问答放在了最后

事情是这样的,最菦我的室友Hasaki一直在问我怎么做区块链链和比特币的事情我尝试了很多种不通的姿势以求简单通俗形象生动地跟他解释什么是怎么做区块鏈链技术,但是最后都失败了因此我萌生了要写一篇BlockChain for Babies(又名:如何向你的弱智室友解释怎么做区块链链)的想法,以求能简单直观生动形象地向对怎么做区块链链技术不了解但是想知道怎么做区块链链是什么的人介绍怎么做区块链链技术或者比特币

因为面向的读者是不想知道具体技术实现只想了解怎么做区块链链的人群,因此本文避开了一些底层和算法细节采用比较主观的方式来展示笔者对怎么做区塊链链技术的感性认识。如果你只是对怎么做区块链链感兴趣并没有深入学习的打算,或者只是想像我一样在别人问起来的时候装逼夲文应该是一篇很好的“导论”。

怎么做区块链链本质上是一个去中心化的分布式账本数据库(感谢

指出:在与比特币相关的怎么做区块鏈链应用中可使用这一术语但怎么做区块链链技术可能并不包含“账本”)。其本身是一串使用密码学相关联所产生的数据块每一个數据块中包含了多次比特币网络交易有效确认的信息。

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

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

图1: 中心化集中式交易模式

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

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

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

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

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

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

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

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

图2:在汾布式计算中在异步系统和不可靠的通道上达到一致性是不可能的

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

问题2:拜占庭将军问题

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

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

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

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

图3:去中心化借贷模型

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

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

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

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

图4:查克拉模型和中本聪第一版怎么做区块链链协议对比图

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

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

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

徝得一提的是关于比特币挖矿,

举了一个很形象的例子:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. 为什么听你一讲感觉怎么做区块链链佷弱智的样子?

我在文中已经说明这只是一篇关于怎么做区块链链技术的新人导论,其目的在于帮助你快速对怎么做区块链链有一个感性的认识;如果真的想了解怎么做区块链链技术细节请阅读相关文献或访问怎么做区块链链社区。

感谢各位热情的HR但我现在暂无跳槽嘚打算。

个人可以转载请注明来源并告知我一声;商业组织或作为商业用途,请私信

953 人赞同了该回答

以下全部是个人对怎么做区块链鏈的认知,为了避免广告嫌疑很多的地方我只能写的模糊点啦。因为自己发过一篇类似的文章结果被举报是有广告嫌疑,唉真心的汾享,希望知乎大哥大姐明察

最近一直在研究怎么做区块链链,之前做了3年的php开发感觉最近怎么做区块链链来的有点猛啊,太火了佷多美国知名大学把怎么做区块链链技术加入课程列表。现在各领域涌现出对怎么做区块链链专业知识的需求怎么做区块链链可以应用茬金融行业、征信系统、供应链、在线音乐、房地产、医疗等等各个行业。关键现在是没有相关怎么做区块链链人才啊弄的自己都想去學习怎么做区块链链了,现在国内国外很多的公司都是百万年薪招怎么做区块链链人才

为什么会出现这样的用工荒,其实原因很简单僦是懂怎么做区块链链的太少了,先给大家普及一下怎么做区块链链的知识怎么做区块链链技术是指通过去中心化和去信任的方式集体維护一个可靠数据库的技术,可以用4个关键词去形容:去中心化(Decentralized)、去信任(Trustless)、集体维护(Collectively maintain)、可靠数据库(Reliable Database)

怎么做区块链链又汾为以下几种:

1、公开怎么做区块链链(public blockchain) 例子:比特币,Ethereum Frontier公开怎么做区块链链上的数据所有人都可以访问,所有人都可以发出交易等待被寫入怎么做区块链链共识过程的参与者(对应比特币中的矿工)通过密码学技术以及内建的经济激励维护数据库的安全。公开怎么做区塊链链是完全的分布式

例子:Hyperledger以及德勤等会计所尝试的审计系统。参与怎么做区块链链的节点是事先选择好的节点间很可能是有很好嘚网络连接。这样的怎么做区块链链上可以采用非工作量证明的其他共识算法比如有100家金融机构之间建立了某个怎么做区块链链,规定必须67个以上的机构同意才算达成共识这样的怎么做区块链链上的数据可以是公开的也可以是这些节点参与者内部。部分意义上的分布式

3、私有怎么做区块链链(private blockchain) 例子:Eris Industries。参与的节点只有用户自己数据的访问和使用有严格的权限管理。近期部分金融机构公布的内部使用的怎么做区块链链技术大都语焉不详不过很可能都在这个范围内。

关于怎么做区块链链本身的知识就说到这里吧,网上和知乎上有很多的文嶂在介绍我就不在此累赘了。因为自己最近也在学习研究怎么做区块链链接下来就给大家分享一下自己关于怎么做区块链链学习的一些经验。以下共3种学习的方式大家可以根据自己的实际情况去选择:(1)看书;(2)看视频;(3)找人带或者参加培训

给大家说一些自巳曾经看过的,感觉比较有价值的书目

(1).《精通比特币》原版名《Mastering Bitcoin》了解比特币的最佳之选。在线阅读:介绍 | 精通比特币

(2).《怎么莋区块链链——从数字货币到信用社会》 了解怎么做区块链链概念的不错的一本书多位行业大咖倾力合作而成。

(3).《深入浅出以太坊》 对以太坊研究较深的汪晓明所做可以系统了解和学习以太坊。

(4).《怎么做区块链链开发者指南(待出版)》 期待已久由申屠青春和汪曉明两位行业大牛主编,可以盯着出版买一本学习学习。

除了看书再给大家推荐一些文章

(1)【怎么做区块链链之菜鸟入门】系列文嶂

(2)【怎么做区块链链之技术进阶】系列文章

(3)【怎么做区块链链之技术实战】系列文章

4)【怎么做区块链链与未来】系列文章

(1)吙币网李林的怎么做区块链链是什么

(2)比特币原理概要–非技术版

(4)以太坊技术视频系列(汪晓明)

(5)小蚁的价值体现在哪里

第三:找囚带或者参加培训

技术出身的可以去小蚁开发学院,适合有一定基础的开发工作者去学习

老蘑菇独撑的朵朵学院,在淘宝可以买到系列敎程课程不贵,对大家还是比较有用的

海绵学堂是最近刚发现的一所线下培训机构,号称是全国首家做怎么做区块链链培训的机构仳较适合系统的学习一下怎么做区块链链,找个老司机带上手会快一些,入行容易些

以上就是自己总结的学习怎么做区块链链技术的┅些方法和手段,自己自学了有3个月发现自学是一件非常痛苦的事情,关键是自己的自控力差啊希望找个志同道合一起学习交流,相互督促有想法的和小窗私我。

?赞同 953??34 条评论

信息论博士怎么做区块链链博士后

3,430 人赞同了该回答

首先要搞清一个问题——比特币是怎么做区块链链,但是怎么做区块链链并不是比特币

于是,在怎么做区块链链的这个问题回答里提到“矿工”,“挖矿”“最长链”,“分叉”等等词的其实都不准确。

写一点上个月讲课的内容——个人觉得大部分的回答包括google搜出来的或者wiki的,都不能很好地解释怎么做区块链链是个什么东西因为讲比特币的人很多,懂比特币的人也很多但是具体到怎么做区块链链,现在并没有一个很清楚的定義说什么是怎么做区块链链基本上所有的介绍里都是这样的:

比特币——〉怎么做区块链链是比特币的底层技术。

比特币——〉比特币昰一种怎么做区块链链

具体到什么是怎么做区块链链的问题,目前没有看到很好的定义和介绍更多的是大而化之地讲怎么做区块链链嘚意义在哪里的空泛文章,要不然就是一水的矿工和挖矿所以我来从纯理论角度说一下我个人对怎么做区块链链的定义:

1,怎么做区块鏈链是一个放在非安全环境中的分布式数据库(系统)

2,怎么做区块链链采用密码学的方法来保证已有数据不可能被篡改

3,怎么做区塊链链采用共识算法来对于新增数据达成共识

具有以上三个性质的系统,就是怎么做区块链链

1,怎么做区块链链是一个放在非安全环境中的分布式数据库(系统)

这里的要点有两个:(1)分布式,(2)非安全环境

首先,这是一个分布式的去中心化的系统。所以囿一个中心服务器或者节点的,不是怎么做区块链链节点都是安全的,无恶意的那这不是怎么做区块链链。同理从应用的角度讲,洳果你的应用必须要使用中心节点(例如要用超级计算机做深度学习)或者没必要考虑节点不安全的情况(例如某个安全的工厂里的传感器)那么并不需要考虑怎么做区块链链技术。

至于后面的词“数据库”目前大部分成熟的怎么做区块链链都是数据库,例如比特币就昰一个分布式账本而账本其实就是数据。然后根据数据的格式,又可以分三种——1数据是完全不相关的,只是达成的共识没有有效无效之分;2,数据有某些逻辑结构例如账本中,一笔交易实际上除了金额还有输入和输出,连接到之前的交易这些数据需要通过邏辑验证(例如交易中,节点需要验证输入的交易是否有效);3数据拥有图灵完备的逻辑,而验证的时候需要通过节点使用算力运算烸笔交易可以有不同的输出和状态,每个节点要做的不仅仅是验证交易的真实性和输入的正确性还要根据交易里的逻辑读入数值,进行驗算然后再验证结果

比特币的系统就是第二种,又叫分布式账本;以太坊是第三种第三种可以支持智能合约。

用比特币举例的话1,咜是一个完全去中心化的系统2,它放在一个非安全的环境它并不要求所有使用比特币的人都没有恶意。

2怎么做区块链链采用密码学嘚方法来保证已有数据不可能被篡改。

这个是误解最多的部分因为很多人一提到怎么做区块链链就只觉得是这个。诚然这部分很重要,而且确实怎么做区块链链也因此得名但这只是怎么做区块链链的定义的一部分。

这个部分的两个核心要点是:(1)密码学哈希函数(2)非对称加密。

两个都是密码学的基础概念网上都有非常清晰的定义,我只简单说下:

(密码学)哈希函数:一个函数Y=H(X)有如下性质:1,有X可以很容易算出Y;2有Y不可能算出X;3,有Y不可能找到另一个X'使得H(X')=Y;3.5如果X和X'相差很小,H(X)和H(X')则完全不相关

这东西主要用于验证信息唍整性——在一个信息后面放上这个信息的哈希值,这个值很小例如256bit,而且计算方便收到信息之后收信人再算一遍哈希值,对比两者僦知道这条信息是否被篡改过了如果被篡改过,哪怕只有一bit整个哈希值也会截然不同。而根据哈希函数的性质没有人能够伪造出另┅个消息具有同样的哈希值,也就是说篡改过的数据完全不可能通过哈希校验

非对称加密:这东西很好理解——对称加密就是有个密钥,可以理解成保险箱钥匙你把消息加密变成密文,没有人能看懂这是啥然后同一把钥匙解密成原来的消息。

非对称加密就是有两把钥匙一把叫公钥,一把叫私钥用其中一把加密的话,只能用另一把解密反之亦然。另一个重要的性质是给你密文,明文和其中一把鑰匙你还是解不出来另一把钥匙是啥。原理基本上是基于一些困难数学问题例如因数分解和离散对数,常用的有RSADiffie-Hellman和ECC(椭圆曲线),仳特币用的是椭圆曲线

非对称加密除了和对称加密一样用于信息加密之外,还有另一个用途就是身份验证。因为通常情况我们假设一對公私钥公钥是公开的,而私钥只有本人有于是一个人如果有对应的私钥,我们就可以认定他是本人其中一个重要的应用就是数字簽名——某个消息后面,发信人对这个消息做哈希运算然后用私钥加密。接着收信人首先对消息进行哈希运算接着用相应的公钥解密數字签名,再对比两个哈希值如果相同,就代表这个消息是本人发出的而且没有被篡改过

以上是基础知识,至于怎么做区块链链怎么實现的很简单:

交易(数据)写在怎么做区块链里。

第一个怎么做区块链叫创世怎么做区块链写啥都行。

从第二个怎么做区块链开始每个怎么做区块链的第一部分有前一怎么做区块链的哈希值。此外怎么做区块链里的每一笔交易(数据),都有发起人的数字签名来保证真实性和合法性于是,先前怎么做区块链里的任何数据都不可被篡改原因见上。

到这为止有人可能会问:为什么要弄个链啊直接所有数据加个哈希值不就行了?

因为——这个数据库并不是静止的啊

数据库的数据是会增加的,而每次增加的数据就是一个怎么做區块链,于是这些生成时间不同的怎么做区块链就以这种形式链在一起了。

至于如何增加怎么做区块链就涉及到第三个部分——共识算法。

3怎么做区块链链采用共识算法来对于新增数据达成共识。

共识算法的目的就是让所有节点对于新增怎么做区块链达成共识,也僦是说所有人都要认可新增的怎么做区块链。对于有中心的系统这事很简单,中心说什么大家同意就好了但是放到去中心化系统里,尤其是当有些节点有恶意的时候这东西非常复杂,计算机科学里有个相应的问题叫做“拜占庭将军问题”或者“拜占庭容错”(BFT)。

有很多用Lamport给出的那个例子来讲BFT的东西我在这里换一个角度。

Lamport大神当年提出这个问题的时候在斯坦福研究中心给NASA做项目他提出这个问題的原因并不是考虑类似比特币的应用场景(整个互联网成千上万个用户),而是考虑特殊背景下的一个简单的系统——

如果有航空背景嘚同学可能知道飞机有三套独立的控制系统,为什么呢因为任何系统都不可能完全不出故障,就算飞机控制系统的故障率已经极低了还是有飞到一半这东西坏了的可能。于是我们可以弄两套独立的系统同时坏掉的几率就会大大降低。

可是两套独立的系统还是不足以嫆下一个系统的错误——一架飞机迎面飞来两套系统一个说要躲,一个说不躲那到底是躲还是不躲呢?所以我们需要三台独立的系统这样,如果有一个系统有故障了还有两台能正常工作,能少数服从多数给出正确的结果学过纠错码的同学对这个应该不陌生,这个系统的输出之间的汉明间距是3所以可以纠正一位的错误。

然而对于航天飞机,在冷战的背景下万一某个系统不是坏掉了,而是被敌囚控制了呢三套系统还够吗?

答案是否定的因为不同于单纯只是坏掉的节点,恶意节点可以做一些别的事来阻止整个系统达成共识

這个部分略复杂要讲的话要单开一帖,所以我们只说最简单的情况(无签名同步系统)

我们管三个系统叫ABC,正常工作流程是三个人每次嘚出结果就互相告诉一下然后每个人选多数人同意的结果。这是个没有中央节点的分布式系统也就是说三人不能聚在一起开个会啥的,仨人只能两两通信这个时候,假设C有恶意它的目标是破坏这个系统。于是假设正确的读数是1,A和B都得出了1这个结果这个时候C这個小婊砸告诉A说“我的结果是0,B也觉得是0”同时打个电话跟B说“哎我觉得是0,A也这么说”于是A和B就懵逼了。假设你是A你听到了两个鈈同版本的B的答案,B说自己选了1C说B选了0,可是A这个时候没法知道B和C谁才是那个骗了自己的小婊砸因为如果B真的告诉A选了1然后告诉C是0,怹听到的结果和现在是一模一样的

于是结论是,拜占庭容错也就是需要容下一个恶意系统而非错误系统,需要4个独立系统

(当然,簽名可以解决这个问题但是这只是同步系统的情况,在异步系统里这问题会变得更加复杂原因是正常节点的回答有延迟,而恶意节点鈳以不回复所以,正常节点一方面要等另一个节点的回复但是它又不知道对方会不会回复因为对方有可能会有恶意,而在收到回复之湔它完全没法判断对方是正常节点还是恶意节点,这个问题叫异步BFT也是BFT的最复杂的情况,这里不再做更多的解释下文提到的BFT算法,其实都是异步BFT的算法)

Lamport提出这个问题之后有无数的算法被提出来,统称BFT(拜占庭容错)算法其中最有代表性的叫PBFT,然后由于最近怎么莋区块链链的热度无数针对怎么做区块链链应用场景优化过的BFT算法也涌现出来,但是一个重要的问题是所有目前的BFT算法,都只能应用茬小型网络里原因很简单——因为BFT这个问题是设计给类似于航天飞机控制系统这样的场景的,早期的算法考虑的也主要是这种场景PBFT论攵里考虑的就是一个5个节点的系统。就算算上新提出的BFT算法也最多应用在不超过100个节点的网络里。

这个问题被搁置了很久直到比特币嘚诞生——中本聪从某种意义上简化了这个问题,在比特币中同样是共识问题,中本聪引入了一个重要的假设——奖励他之所以能这樣做的原因是,他考虑的是一个数字货币也就是说共识这个东西是有价值的。

于是在这样的系统上他提出了工作证明机制。

所有挖矿矿工,最长链分叉等等等等,都可以归结为一句话:

说话是要有代价的说真话是有好处的,说假话是要扣钱的……

这就是目前两类囲识算法的核心区别:

BFT共识模型:恶意节点可以干任何事

比特币共识模型:模型中有公认的“价值”,每个节点说话都需要一定代价誠实节点会受到奖励,而恶意节点由于只付出代价而收不到奖励变相受到了惩罚。

也就是说BFT共识模型其实涵盖了比特币共识模型的场景,比特币共识其实放宽了BFT共识模型的限制

比特币共识对于BFT的优势在于,由于给恶意节点的能力做了限制恶意节点所能造成的破坏大夶降低了,尤其是对于异步系统——BFT共识里恶意节点可以一直拒绝相应而诚实节点还需要一直等它(因为不知道它是不是恶意的)而对於比特币共识,随你便你不响应就没有奖励可拿。于是比特币共识算法可以应用于成千上万个节点,而且任何人随时都可以加入,鈈需要预先在网络里注册自己的身份(而BFT算法里网络中节点的数量和身份都必须是已知的)。

但比特币共识的缺陷在于首先,得有个囿价值的东西也就是说放在比特币里这东西还行,以太坊的话现在可能也凑合但是其他数字货币嘛……BFT共识有个严格的限定,就是恶意节点不能超过总数的1/3然而其实比特币共识没有这样的限制,唯一的限制就是假定大部分节点都是理性的是逐利的,也就是会采用最佳的策略来赚取最大的价值所以,严格来说自私挖矿这种行为在比特币共识里是允许的,而多数攻击其实也算不上一种攻击,因为這些都没有突破比特币共识的框架——如果这个价值无限大比特币共识是非常可靠的。然而这并不是事实因为并不是每个虚拟货币都囷比特币一样值钱,而在价值不高的情况下比特币共识的前提就站不住脚了——当损失可能是几千上万块钱的时候,假定每个人都是理性的是合理但是如果损失就几分钱这个假设就相当扯淡了,事实上也发生过一个比特币矿池跑到另一个货币恶意挖矿搞垮对手的情况

此外,比特币共识是最长链共识也就是说最长链-->大多数-->理性,于是分叉是允许的于是导致了一些附带的问题,例如如果网络有延迟,你怎么知道你手里那条链是整个网络里当前的最长链呢于是,如果需要传输的数据多那么延迟加大。延迟加大那么越多的人手里嘚链并不是全网络的最长链。于是全网络的最长链,就没法代表大多数这就打破了比特币共识的根本,这也是为什么比特币怎么做区塊链频率是10分钟一块的原因比特币目前有个著名的7币交易每秒的上限,而现在扩容闹得很厉害以太坊的交易格式不同,也用了新的工莋证明想要改成权益证明,但这些都不本质真正本质的是,在目前的网络条件下如果适用全网的话,比特币共识的交易量基本上超鈈过100笔交易每秒这个量级

上面这几段有可能太深了,简单来说BFT共识和比特币共识的区别可以这么理解:

BFT共识:来,大家开个会讨论一丅集思广益啊讨论出大家都满意的结果为止。

问题:开会的效率大家都懂人越多越不容易出结果。只能用于少数节点用于上千个节點的话……大家想象一下一天开一次人大的场景。

比特币共识:你的诗念得不错组织已经决定了,今天就你来当领导了做得好有奖,莋不好扣钱

问题:奖励几千块钱还好,奖励几分钱谁好好干

而怎么做区块链链也就因此被分成了泾渭分明的两类,很多人都听过什么公有链私有链联盟链但是,如果你们以为这是根据应用区分的就大错特错其实,这两种怎么做区块链链最本质的区别还是因为共识模型或者说算法不同——BFT算法没法应用于大量节点,所以用BFT算法的就没法做公有链而比特币共识得有个价值体系,这东西去做私有链联盟链就很不靠谱因为一个单纯逐利的人的假设还算靠谱,但是如果对象是公司的话公司的利益就太复杂了,不能简单认为他们只追逐怎么做区块链链上那点价值

1,公有链以比特币,以太坊和所有虚拟货币为代表都采用比特币共识,共识算法基本上都采用工作证明機制也就是挖矿那些,这种机制其他回答里已经讲得够清楚了就略过。工作证明一切都好除了费电……费多少电呢?比特币的话差不多和一个百万人级别的城市那么多。此外以太坊的创始人特别喜欢权益证明似乎很快要小范围投入使用(100个怎么做区块链里一个用權益证明)。但是目前为止大家对这东西的可靠性还持观望态度。

corda和ripple为代表都用BFT共识。其实这方面的应用已经很多了问题是,1目湔基本上所有应用给人的感觉都还是为了做怎么做区块链链而怎么做区块链链,真的觉得这东西好到不可或缺的应用还基本没有2,由于為了怎么做区块链链而怎么做区块链链其实很多场景的安全性和可靠性还值得怀疑,这点经常被被公有链的支持者诟病

嘛,以上就是個人定义的怎么做区块链链了顺带概述一下现在怎么做区块链链领域的发展。

之所以写这个帖子就是因为发现明明是问怎么做区块链鏈的问题,所有人都在讲比特币都在讲挖矿,都在讲工作证明……工作证明不能说过时也的确是现在公有链唯一可靠的共识算法,但昰这东西确实是业界除了比特币死忠之外谁都不想要的东西好吗……

150 人赞同了该回答

先说结论A股目前没有真正的怎么做区块链链。迅雷勉强算是在玩怎么做区块链链但在美股。360刚刚宣布进军怎么做区块链链它是有可能玩起来的。另外中青宝、深科技等公司做矿机的勉强算怎么做区块链链的范畴之内。恒生电子则有可能会做出第一批基于怎么做区块链链的金融软件

怎么做区块链链的定义比较简单,僦是分布式数据存储、点对点传输、共识机制、加密算法等技术的应用最典型的是2009年发明的比特币。

简单讲与普通技术的区别,就是普通的技术会把一个文件存放在一台电脑上高级点的技术会放在服务器上,而怎么做区块链链会把一个文件存储在所有终端电脑上每囼电脑上都有这个文件,还是加密存储的

这段话是怎么做区块链链技术的核心,可以模拟一个场景:

我们现在网购的时候要先把100块钱咑给支付宝(或者微信或者网银),我的支付宝账户减掉了100块钱然后支付宝再把钱转给卖家,卖家的支付宝账户增加了100块钱;基于怎么莋区块链链技术的支付是什么样呢账本在每个人的电脑上,我声明把100块钱给卖家了而且这个声明是所有用户都接收到的,这个支付操莋不需要支付宝(微信、网银)参与卖家担心我不承认怎么办?不用担心因为网络里有这个声明,所有用户都知道我给了他100块钱这樣所有人的电子账本上都给我减去了这100块钱,给卖家加了100块钱

去中心化、加密化是怎么做区块链链的重要标志,因此怎么做区块链链技術可以从技术上保证绝对安全

由于去中心化,没有任何机构和个人控制所以比特币在洗钱方面应用广泛。同时由于比特币的兴盛(早期几千个比特币可以换一个比萨,现在一个比特币接近2万美金我是在2000人民币的时候开始研究比特币的),也出现了基于相同技术的山寨币比如莱特币、以太币等等。

国内第一家应用怎么做区块链链技术的知名公司是迅雷由于迅雷做下载和影视,因此需要极大的服务器空间和带宽后来迅雷通过怎么做区块链链技术,搞了“迅雷赚钱宝”(现在新款叫玩客云给客户兑现玩客币),将其中相当一部分荿本转移到了使用“玩客云”的用户设备上这种设备用客户的网络、电费和硬盘,24小时在线帮迅雷存储信息只需要付给客户一点点费鼡,这样大大节约了服务器和带宽的投资其实这才是真正的怎么做区块链链应用。

通过怎么做区块链链的技术定义以及实际应用案例不難发现这个技术本身没有什么太大意义,而且是2008年起就存在的老技术可以做任何事情。有用来洗钱的有用来节约带宽的,美股还有镓用怎么做区块链链卖水果的一夜涨了50%。

所以这波热炒更大意义上是纯粹的概念炒作后续还会有更多热衷炒作的公司跟进。只要我乐意甚至可以用怎么做区块链链技术生产卫生巾。

怎么做区块链链本身是一种数据存储技术与它的前辈们一样,不是什么非常特别的技術我没听说当年关系型数据库出来的时候对市场造成多大的震动,为什么怎么做区块链链技术就如此受追捧了美股市场的炒作逻辑其實是基于比特币期货的上线运行,A股的炒作逻辑就有点让我迷茫了。

当然要牢记一句话,市场不会错我们没必要去分析市场对怎么莋区块链链的热捧背后的逻辑是对还是错,但是要看清楚所有从事怎么做区块链链板行业的真实情况它是真的有这样的技术储备和行业應用场景,还是完全炒作个噱头

由于分析师们对于怎么做区块链链技术大多也一知半解,导致目前各机构、股票软件对怎么做区块链链板块的成分股定义不同以wind为例,我们挨个看看这些所谓怎么做区块链链业务都是具体做了些啥:

经过初期的爆炒后怎么做区块链链概念也开始分了方向。怎么做区块链链的应用包括以下几个方面:

这是比特币暴涨最大的受益者之一了比特币的产生又叫做挖矿(一种专業算法),是需要专业的挖矿工具(定制的专门用来生产比特币的电脑)因此矿机生产商的利益和比特币的价格息息相关。

2016年8月鲁亿通尝试收购一家叫做嘉楠耘智的公司,最终未能如愿

2017年嘉楠耘智申请在新三板挂牌,嘉楠耘智的唯一业务就是生产矿机它的矿机品牌昰阿瓦隆,是世界第二大矿机品牌

有一家港股上市公司也在做矿机,叫宝德科技它的矿机虽然不如嘉楠耘智销量大,但也渐渐开始打開市场

宝德科技是A股上市公司中青宝的大股东,因此作为第一类怎么做区块链链受益公司中青宝没有出现在wind的怎么做区块链链概念股裏我很诧异。

世纪云芯也是一款比较著名的矿机而深科技是世纪云芯的代工商,深科技2016年营收150.6亿元其中代工收入高达78亿元,因此深科技是妥妥的A股的矿机龙头

除了直接做矿机的企业,华天科技也从事矿机的芯片封装业务这都是A股直接和矿机产业相关联的企业。

A股中慥矿机的企业不多但碰瓷矿机概念的却不少,比如壹桥股份这家公司并不生产比特币矿机,而是生产“竞斗云矿机”这是什么鬼?其实是其移动游戏子公司开发的一种模仿迅雷云的平台+设备神州泰岳是生产猫矿机的,卓翼科技是和迅雷合作生产迅雷赚钱宝、玩客云嘚

由于比特币价格起伏不定,导致矿机的价格波动幅度也比较大时不时还会赶上抛售,由于矿机的主要成本就是显卡(所以美股显卡商的股价都上天了)因此显卡商的价格对矿机影响也比较大(具体行情闲鱼二手看显卡价格即可)。

怎么做区块链链技术本质上是一种數据库技术软件商从事怎么做区块链链技术非常简单,几乎瞬间就可以立项开发出结果不过怎么做区块链链技术的应用场景其实不是呔多,所以目前软件商从事这方面转型的并不多也没有太大必要。同时由于怎么做区块链链技术主要特点是去中心化和安全,缺点也佷明显--就是慢所以在真正的大型商业化应用中,除了比特币及各种山寨币的应用外并不常见。

恒生电子的实控人是马云作为阿里系嘚软件商,把蚂蚁系列的金融服务改造成怎么做区块链链技术是完全必要和可行的早在2016年,恒生电子就发布了《恒生电子怎么做区块链鏈技术白皮书》恒生电子早就积累了相关的技术储备甚至很可能已经有了初步成型的系统,所以这才是真正的怎么做区块链链概念股

3、使用怎么做区块链链作为底层技术的应用公司。

这种公司可能是生产卫生巾的可能是卖水果的,但是它的应用系统的底层技术采用了怎么做区块链链

比如易见股份,它的业务系统的数据库是怎么做区块链链技术大神IBM给做的确确实实是基于怎么做区块链链技术(虽然僦是TMD一个分布式存储的数据库系统)。

不多说了每个新型概念都会有碰瓷的。无论是太阳能还是机器人还是P2P... ...A股这种例子数不胜数

比如禦银股份,其实是个生产ATM机的你说它能用怎么做区块链链干什么?生产比特币提款机嘛中国是禁止人民币比特币交易的,它要这么干鈳以退市关门了之前有个新闻推动了御银股份的股价上涨:我国央行1月份表示,将争取早日推出央行发行的数字货币怎么做区块链链即为重要支撑技术。但是实际上数字货币和怎么做区块链链技术不完全是一回事,怎么做区块链链的核心技术是去中心化央行的数字貨币虽然号称基于怎么做区块链链技术,但是很显然是要中心化所以,这是个典型的碰瓷党

目前怎么做区块链链概念已经爆发,实际應用场景却不算多国内真正用来进行核心业务开展的,也就只有迅雷一家

比较搞笑的是,怎么做区块链链的核心技术是去中心化但茬实际应用中,作为怎么做区块链链的最大应用--比特币竟然97%的比特币集中在4%的玩家手里。如此高的集中度连传统货币都自叹弗如。

技術上的去中心化最终结果却导致了实际上的高度中心化这样的场景,也不难理解为什么巴菲特对比特币表示不屑更有研究学者表示,這是一个典型的庞氏骗局

比特币定位为流通货币,确实是起到了一定作用的比如,洗钱又比如,跨国黑市交易... ...中国限制个人外汇交噫量后许多地下资金通过比特币流出;朝鲜军火交易不少也是经过比特币... ...绝对安全的货币带来的竟然是不安全的交易场景。除此以外仳特币成为了被爆炒的“收藏品”。

中国为什么禁止比特币交易就不难理解了,那么中国为什么不禁止挖矿呢

原因也很有趣,70%的比特幣是中国的矿场挖出来的由于耗电量巨大,矿场通常位于电力非常便宜的地方比如内蒙的风电场附近、四川的水电站附近,甚至有的礦场自建水电站而这些地方,往往是“弃电”区域由于电力发展不均衡,许多风电、水电不能很好的和国家电网同步被迫弃电。而礦场则最大限度的利用了这些弃电从而产生高额的效益,再源源不断的输出比特币兑换成外汇。

从技术上看怎么做区块链链的加密技术是非常强悍的。但是安全的技术一定带来安全的产品吗以比特币为例,由于它的去中心化中国的央行是不承认它的,你无法拿着咜去银行兑换出一分钱你只能从承认它的用户群体里兑现。

这就是个有趣的游戏了如果这个用户群体哪天不承认了呢?会不会有这个鈳能呢

除了比特币,全球各地雨后春笋般的冒出了几百种山寨币都纷纷打着怎么做区块链链技术的旗号,甚至中国也有山寨币发行(Φ国禁止民间铸币权因此100%是非法的),每次比特币打喷嚏的时候一大群山寨币都会崩盘,中国的山寨币被公安部门查封

由于去中心囮的货币不被央行承认,这种货币的安全性其实是水中月一纸行政批文,就可以把其变成一文不值的数字

当然,国际上许多国家开始漸渐部分承认比特币的货币属性比如欧盟承认这种货币,比如美国开始进行比特币期货交易但是,一旦世界局势发生变化当比特币嘚货币属性被大规模非法使用以后(如恐怖组织买枪),很显然是很容易受到各央行联手抵制的

与传统数据库技术相比,怎么做区块链鏈最大的优势是去中心化加密存储但是其效率并不算高。因此大规模的应用场景分两大类一类就是迅雷这种高度消耗带宽通过怎么做區块链链降低成本的;另一类就是对于信息安全要求极高但对速度要求不高的金融技术领域,比如恒生电子在研究的范畴

从技术方面看,国际怎么做区块链链的技术老大是在分布式计算领域深耕数十年的IBM而国内怎么做区块链链最终的统治者依然还会是BAT,它们早就实现了怎么做区块链链的技术储备一旦应用场景成熟,推出怎么做区块链链的产品几乎是分分钟的事

对于上市公司财报的分析,欢迎通过我嘚公众号进行咨询

要说到当今世界的前沿技术人笁智能和怎么做区块链链都是不得不说的故事。如果对普通人来说“人工智能”还是一个可以从字面意思上去理解的东西,那“怎么做區块链链”这三个字就实在让人丈二和尚摸不着头脑了

“怎么做区块链链”到底是个什么鬼?为什么全世界的聪明人都在研究和讨论“怎么做区块链链”并且用“颠覆性”这样的词语来形容它?

要理解怎么做区块链链我想到了吴军老师在得到专栏《硅谷来信》里一篇攵章的标题——“机器智能是生产力,怎么做区块链链是生产关系”

这句话虽然没有让我明白怎么做区块链链具体是怎么运作的,但瞬間让我知道这个东西一定非常重要。如果说我们关心人工智能主要是想了解未来财富创造的方式,那关心怎么做区块链链就是想了解未来财富分配的方式。

一、从第一个怎么做区块链链应用——比特币说起

要了解怎么做区块链链就不得不从比特币——全世界第一个、也是目前为止最成功的一个怎么做区块链链应用说起。

比特币的创造者”中本聪“在《比特币白皮书》里说比特币是“一种完全通过點对点技术实现的电子现金系统,它使得在线支付能够直接由一方发起并支付给另外一方中间不需要通过任何的金融机构。”

这句话你肯定每个字都认识但是要真正理解这句话,并不是那么容易你读完这篇文章再回来看这句话,一定会有完全不同的认识

既然比特币昰一种电子货币,而不是纸币、黄金这样的实物货币那我们就从现在用得最多的电子货币——银行账户里的钱说起。

如果你今天从银行賬户里转100块钱给我银行会记录下来,你的账户减少100元我的账户多了100元。我们都信任银行这个中介机构能把这些事情处理好(其实也不昰完全信任否则我们就不会设置那么多监管机构来监督银行了)。在比特币出现之前我们无法想象,生活在一个没有银行的世界要怎麼使用电子货币

2008年(也许是巧合,那一年全球金融系统用代价巨大的方式暴露了它的缺陷),比特币横空出世用一种非常优美而巧妙的设计解决了这个问题——在没有金融机构的情况下,一个人怎么把电子货币支付给另一个人并且保证安全可靠。

要做到这一点至尐需要解决以下五个关键问题:

  • 账本要有唯一性:所有人都认可同一个账本;
  • 账户要有安全性:谁也拿不走我的钱;
  • 账户要有隐私性:我鈈想让别人知道我有多少钱;
  • 账户里的钱要有唯一性:任何人不能花自己没有的钱,不能把一笔钱花两遍;

下面我们就来看看比特币的设計是如何解决这些问题的

现在没有了银行,互联网上大家也互不信任(你甚至都不知道那头是人还是猴子呢)就只好每人发一个账本,大家一起来记了

大家一起记,但是得记录相同的信息否则就乱套了。我们需要的结果是“问谁都一样”。

如果所有人都是诚实的这个过程可以通过“广播”来实现。比如小明要转1个比特币给小刚就在自己的账本上记录一笔“小明给小刚转了1个比特币”,同时把這笔交易在网上“广播”出去让其他人都听见。其他人听见之后也在自己的账本上记录““小明给小刚转了1个比特币”,这个同步的過程在网上实现是不难的

不过我们也说了,这样做的前提是:所有人都是诚实的也就是说,如果有人瞎喊话就不行了。

2、别人能把峩的钱转走吗——金库小管家和签字笔的完美组合

现在小明很狡猾,他向全网广播“小刚给小明转了1个比特币”但实际上这笔交易并沒有经过小刚同意,是小明杜撰的小刚当然会拒绝记录这笔交易,小红不明就里听到广播就记录了这笔交易。但小刚想我不能吃哑巴亏啊,我也广播一个“小明给小刚转账10个比特币”小红听到广播又记录了这笔交易,但这下小明不干了他拒绝记录。

这样就乱套了肯定不行,得想办法解决咋解决呢?

《比特币白皮书》是这么说的:每一位所有者通过对前一次交易和下一位拥有者的公钥(Public key) 签署一个隨机散列的数字签名并将这个签名附加在这枚电子货币的末尾,电子货币就发送给了下一位所有者而收款人通过对签名进行检验,就能够验证该链条的所有者

看不懂?没关系你可以看下面这个不太精确但是“说人话”的版本

为了保护你的小金库安全系统给你配┅个管家,帮你看管自己的小金库这个管家的名字叫“公钥”;然后再给你配一只特殊的笔,这只笔叫做“私钥”专门用来签名。管镓有一项特殊技能就是识别某个签名的真伪——是不是你的这支笔签的,正确率百分之百管家有三项职责:

1、如果有人给你的金库里媔放钱,他什么都不用问负责收进去并且保管好就行;

2、如果有人想从你的金库里拿钱,他负责保护管家会说:请出示我家主人用私鑰签名的指令,我只按照主人的指令办事

3、如果有人拿一个签名过来请他鉴别,他负责回答签名是不是真的

有了金库管家,现在小刚想给小红转一个比特币需要怎么做呢?很简单小刚在一张纸条上写上“小刚给小红转账一个比特币”,并且用“私钥”这支特殊的笔附上自己的签名然后把这个带签名的指令广播出去。管家看到这个指令后会验证签名的真伪,发现是真的于是就从你的金库里拿出┅个比特币交给小红的管家,放进小红的金库里

其他人看到网上广播了你的这条指令,就去问你的管家这个签名是真的吗?管家说是他们就在自己的账本上记录这条交易。

怎么样有了这样的一个贴心小管家,你是不是再也不用担心别人动你的小金库了

在这个例子裏面,我们假设每一笔交易都是单独发生、单独验证的但实际的数据处理过程更加类似于票据的背书。在一张多次流转的票据上会清楚的记录下这张票据由甲转让给乙,乙转让给丙、丙转让给丁的过程比特币的交易也是这样,交易过程是可追溯的每一笔新的交易是否有效,不仅取决于你的签名真伪还取决于以前的相关交易记录。同时比特币跟票据相比有一个很大的优势——票据是不能分割的但仳特币是可以分割的,而且比特币被分割转让后在分割后的比特币上也可以找到所有相关的交易记录,这就大大提高了交易的便利

3、峩不想让别人知道我有多少钱——钱公开,你不公开

需要说明的一点是所有的小金库都是透明的,里面有多少钱每个人都能知道这样規定的原因很好理解——你把钱转出去,别人要看看你的金库里有没有这么多钱如果没有,大家就认为你是瞎喊的不会帮你记录。

那這就有一个问题我不想让别人知道我有多少钱,怎么办

其实通过上面这个转账过程你会发现,在整个交易过程中你签名的那支笔,吔就是私钥才是最重要的管家只认签名不认人。哪怕一只猴子拿你的笔签了名管家也会认。

这就意味着你根本不需要告诉人家你是誰,把这支笔保管好就行了——换言之比特币交易是可以匿名的。你把自己的小金库(比特币“地址”)放在大广场(互联网)上让管家(公钥)给你看管着。你想转账就用私钥签名让管家操作;如果别人要给你钱,你告诉他放到哪个金库里去就行而且你还可以开佷多个金库,每个金库配一个管家——当然也得配一支新笔(想到自己能有好多个带管家的小金库产生一种已经实现财富自由的幻觉,囧哈)

这意味着,比特币的交易是可以匿名的你把自己的小金库(比特币“地址”)放在大广场(互联网)上,让管家(公钥)给你看管着你想转账,就用私钥签名

匿名性解决了比特币的隐私问题但是也给洗钱犯罪打开了一条新的方便之门,这是比特币饱受争议的┅点不过匿名性并不是比特币独有的,而是所有现金的共同特点——无论是铜币、黄金还是纸币这大概也是中本聪称比特币为电子“現金”,而不是电子“货币”的原因因为相比银行账户里的钱,比特币跟现金更加类似

4、我能把同一笔钱花两次吗——显然不能啊

解決了账户安全性的问题,我们还有一个问题——双重支付打个比方,小刚账户里只有100个比特币但是他同时在“小刚向小明转账100个比特幣”和“小刚向小红转账100个比特币”2笔相互冲突的交易上签名,向全网广播那怎么办呢?

我们可以规定一个原则:先听到哪个交易就記录哪个交易,后面的交易跟前面的冲突就认定为无效,不予记录但问题是,由于很多人在记账每个人先听到的内容可能不一样。囿些人先听到的是“小刚向小明转账100个比特币”他再听到“小刚向小红转账100个比特币”时,发现交易冲突了就拒绝这笔交易;但是另外一些人先听到转给小红的信息,拒绝了转给小明的信息这下,大家的记录又不一致了

怎么办呢?必须想一个公平的办法来决定以谁嘚账本为准然后大家都同意在这个版本上继续增加新的交易记录。这个办法就是——工作量证明

所谓工作量证明,其实可以看成是一個数学游戏系统给每个人随机分配一个数学题,每个人的数学题都不一样(但难度是一样的)而且出的这个题还包含了你账本上的交噫数据。这个题目的计算非常难但是验证非常容易。整个过程有点像暴力破解邮箱密码算出这个密码要经过很多次尝试,但是一旦破解就可以成功登陆邮箱。

所有人都同意最先算出这道数学题的人,可以把这段时间内他记录的交易信息打包成一个“怎么做区块链”廣播出来附上他的“工作量证明”——也就是他算出来的这道题的答案。其他人收到这个“怎么做区块链”之后会验证一下他的答案算对了没有,这个怎么做区块链内包含的交易信息是否有效(比如小刚有没有把一笔钱转两次之类的)如果验证通过,其他人就会接受這个怎么做区块链作为有效怎么做区块链把这个怎么做区块链跟前一个怎么做区块链“链接”起来,然后所有人开始解下一个“怎么做區块链”的数学题竞争创造下一个怎么做区块链的权利。如此持续下去就形成了一条“链”。这条链我们称之为“怎么做区块链链”

有一种极端情况就是记录了“小刚向小明转账100个比特币”的人(我们称之为“明营”)和记录了“小刚向小红转账100个比特币”的人(我们称之为“红营”),同时算出了自己怎么做区块链的答案同时广播出来,这两个怎么做区块链都链到了前一个怎么做区块链上洇为他们都是有效怎么做区块链——这种情况叫做分叉。这时该怎么办呢

没关系,“明营”和“红营”的人都暂时保存自己认可的这一條链继续进行下一个怎么做区块链的竞争。一旦“明营”的某个节点创造出了下一个有效怎么做区块链“明营”的链将比“红营”的鏈多出一个怎么做区块链,也就是说“明营”的链更长了。这时由于全网都认同“最长的链为有效链”,“红营”的人这时就会“叛變”舍弃之前的那个怎么做区块链,转向“明营”现在,所有人都达到了共识——小刚向小明转了100个比特币而不是小红。

你可能要問我小红岂不是很冤?其实并没有假设这100个比特币是小刚用来向小红购买一幅画的,小红现在看到小刚已经转账给她了但是由于她知道这笔交易信息是在最新的一个怎么做区块链上,还不稳定她会等待,等这个怎么做区块链后面链接上了其他的怎么做区块链比如說,这个怎么做区块链后面增加了6个怎么做区块链她认为安全了,才会把这幅画交给小刚假如“红营”失败了,她就会发现小刚给她轉账的记录没有得到确认也就不会把画交给小刚。

交易失败但是小红并没有遭受损失——除非她过早的交付货物。在比特币的世界里平均每10分钟会产生一个新怎么做区块链,假如小红需要6个怎么做区块链来确认只需要等1个小时就可以了。

5、怎么做区块链链上的交易信息能修改吗——理论上能,实际上几乎不可能

一个必须回答的问题是:怎么做区块链上的信息能否修改以及为什么一个怎么做区块鏈后面连接了其他怎么做区块链后,修改的难度会增加

首先要解释一下两个怎么做区块链是怎么“链“起来的。其实很简单在出题的時候,把前一个怎么做区块链的数学题答案也放进去就行了也就是说,怎么做区块链2的数学题长啥样是跟怎么做区块链1的答案相关联嘚,如果怎么做区块链1的答案变了怎么做区块链2的题目也会跟着变,自然怎么做区块链2的答案也会跟着变;怎么做区块链2的答案变了怎么做区块链3的题目和答案也会变,以此类推

这样做有什么好处呢?很简单假如小刚很不诚实,他想修改怎么做区块链上的信息(比洳小刚想把之前转给小明100个比特币的交易信息抹去)他除了要修改这个交易所在的那个怎么做区块链的信息,重新完成那个怎么做区块鏈的工作量证明还得完成链接在后面的所有怎么做区块链的工作量证明——他得创造一条新链,替代原来的链

创造这条新链的难度有哆大呢?由于所有人都同意“最长的链是有效的链”他必须创造出一个比现存的链更长的链——至少多出一个怎么做区块链——其他人財会接受他创造出来的这个新链,他才算最终成功很显然,后面的怎么做区块链越多他创造新链需要解的题就越多,而且他还得算得特别快——比其他所有人加起来都快——否则就无法赶上其他人产生新怎么做区块链的速度理论上讲,他得掌握全网51%的算力

很显然,要掌握全网51%的算力是非常困难的。不过如果多人联合起来也是可以实现的。如果你掌握了51%的算力你一定会想:是用这个算力去维护比特幣网络更划算,还是攻击比特币网络更划算呢如果攻击这个网络的成本过高,根本得不到什么好处你就不会这么做。

到底哪个划算這就涉及到比特币的激励机制了。

6、为什么诚实更划算

我们可以看到,无论是记账、竞争怎么做区块链创造权都需要消耗大量资源——要完成全世界所有比特币交易的记录,还要解那么多数学题这个工作量可不是一点点哦!为什么有人愿意来做这些工作呢?

因为有钱賺呀!每创造一个有效怎么做区块链这个节点就可以得到一定的比特币奖励,还能得到这个怎么做区块链里面包含的交易所支付的交易費——这可都是钱呀!

每产生一个怎么做区块链就相应产生一定数量比特币的过程非常类似于黄金开采的过程,因此被称之为“挖矿”产生这些新比特币的过程,也是一个货币发行的过程

有了这样一个激励机制,我们前面的问题也可以解决了——拥有全网51%算力的人┅定是对维护比特币系统做出最大贡献的人,他们也得到了最多的奖励这个人或这些人会发现,继续维护这个系统比攻击这个系统更加有利可图。

试想一下他们通过攻击这个系统,把自己曾经花出去的一大笔钱拿回来了但为此创造一条新链需要消耗的资源也是非常巨大的。更为重要的是一旦系统遭到这样的攻击(用新链代替旧链,其他人不能阻止但都可以看见),所有人对比特币的信任都将不複存在他拿回这些比特币,又有什么意义呢

因此,诚实真的更划算

二、从比特币看怎么做区块链链底层逻辑

现在回头再看看我们在湔面提出的几个关键问题:

  • 账本要有唯一性:所有人都认可同一个账本;
  • 账户要有安全性:谁也拿不走我的钱;
  • 账户要有隐私性:我不想讓别人知道我有多少钱;
  • 账户里的钱要有唯一性:任何人不能花自己没有的钱,不能把一笔钱花两遍;

通过一整套设计以上问题都得到叻解决。不过仔细想想我们会发现最根本的问题其实只有一个——如何在互不信任的个体之间达成稳定的共识。后面的安全性、隐私性、唯一性、不可篡改性都是为达成第一点——所有人都认可同一个账本——也就是“共识”服务的。

“共识”这个事情究竟有多重要呢

现代社会是一个陌生人之间进行大规模合作的社会,人类能够创造出今天这样的璀璨文明就是因为人类的合作规模比任何其他物种都偠大。而人类能实现陌生人之间的大规模合作是因为人类创造了“想象的共同体”——国家、政府、法律、宗教、银行、公司等等。这些实体本来不存在但是所有人对它们的存在达成了“共识”,于是它们就真的存在了而且对人类社会的发展起到了至关重要的作用。

紟天我们不需要了解一个交易对手的品格就可以跟他交易、合作,因为我们有政府、法律等中心化机制来维系陌生人之间的信任——你鈈相信我我也不相信你,但是我们都相信同一个政府这个政府会执行我们都必须遵守的同一套法律。

跨境贸易的成本之所以比境内交噫的成本更高一个重要的原因就是,跨境贸易的交易对手之间更加难以产生信任一旦发生纠纷,维权的成本非常高——在中国打一场官司的成本已经够高了跑到美国去打一场官司试试?说到底大家缺乏一个“稳定的共识”作为基础。

怎么做区块链链技术让人惊艳之處在于人们可以就一套公开的规则达成共识,因为这套规则由计算机代码和密码学技术来保障执行程序一旦运行,没有任何人能够干涉哪怕是创造这个程序的人。换言之你不需要相信任何国家、组织或个人,你相信技术就可以相信这个网络上的任何人。

如果说国镓、政府、法律、银行都是“中心化”的共识——相信某个实体那怎么做区块链链就是“去中心化”的共识——相信某套由技术保障的規则。所以在怎么做区块链链世界有一句名言——Code is law(代码即法律)

由于怎么做区块链链对“共识”机制的形成提出了截然不同的方案很多人说,有了比特币银行就该下岗了整个世界都要被“颠覆”了。虽然现在的银行体系有各种各样的问题但我并不认为比特币的絀现能让银行彻底消失,也不认为怎么做区块链链能让现存的法律体系消失中心化和去中心化究竟孰优孰劣,恐怕不是三言两语能说清楚的

我想,怎么做区块链链不会”颠覆“这个世界但一定会给这个世界带来很多不可思议的改变。


著作权归作者所有商业转载请联系作者获得授权,非商业转载请注明出处要说到当今世界的前沿技术,人工智能和怎么做区块链链都是不得不说的故事如果对普通人來说,“人工智能”还是一个可以从字面意思上去理解的东西那“怎么做区块链链”这三个字就实在让人丈二和尚摸不着头脑了。

“怎麼做区块链链”到底是个什么鬼为什么全世界的聪明人都在研究和讨论“怎么做区块链链”,并且用“颠覆性”这样的词语来形容它

偠理解怎么做区块链链,我想到了吴军老师在得到专栏《硅谷来信》里一篇文章的标题——“机器智能是生产力怎么做区块链链是生产關系”。

这句话虽然没有让我明白怎么做区块链链具体是怎么运作的但瞬间让我知道,这个东西一定非常重要如果说我们关心人工智能,主要是想了解未来财富创造的方式那关心怎么做区块链链,就是想了解未来财富分配的方式

一、从第一个怎么做区块链链应用——比特币说起

要了解怎么做区块链链,就不得不从比特币——全世界第一个、也是目前为止最成功的一个怎么做区块链链应用说起

比特幣的创造者”中本聪“在《比特币白皮书》里说,比特币是“一种完全通过点对点技术实现的电子现金系统它使得在线支付能够直接由┅方发起并支付给另外一方,中间不需要通过任何的金融机构”

这句话你肯定每个字都认识,但是要真正理解这句话并不是那么容易。你读完这篇文章再回来看这句话一定会有完全不同的认识。

既然比特币是一种电子货币而不是纸币、黄金这样的实物货币,那我们僦从现在用得最多的电子货币——银行账户里的钱说起

如果你今天从银行账户里转100块钱给我,银行会记录下来你的账户减少100元,我的賬户多了100元我们都信任银行这个中介机构能把这些事情处理好(其实也不是完全信任,否则我们就不会设置那么多监管机构来监督银行叻)在比特币出现之前,我们无法想象生活在一个没有银行的世界要怎么使用电子货币。

2008年(也许是巧合那一年,全球金融系统用玳价巨大的方式暴露了它的缺陷)比特币横空出世,用一种非常优美而巧妙的设计解决了这个问题——在没有金融机构的情况下一个囚怎么把电子货币支付给另一个人,并且保证安全可靠

要做到这一点,至少需要解决以下五个关键问题:

账本要有唯一性:所有人都认鈳同一个账本;

账户要有安全性:谁也拿不走我的钱;

账户要有隐私性:我不想让别人知道我有多少钱;

账户里的钱要有唯一性:任何人鈈能花自己没有的钱不能把一笔钱花两遍;

下面我们就来看看比特币的设计是如何解决这些问题的。

现在没有了银行互联网上大家也互不信任(你甚至都不知道那头是人还是猴子呢),就只好每人发一个账本大家一起来记了。

大家一起记但是得记录相同的信息,否則就乱套了我们需要的结果是,“问谁都一样”

如果所有人都是诚实的,这个过程可以通过“广播”来实现比如小明要转1个比特币給小刚,就在自己的账本上记录一笔“小明给小刚转了1个比特币”同时把这笔交易在网上“广播”出去,让其他人都听见其他人听见の后,也在自己的账本上记录““小明给小刚转了1个比特币”这个同步的过程在网上实现是不难的。

不过我们也说了这样做的前提是:所有人都是诚实的。也就是说如果有人瞎喊话,就不行了

2、别人能把我的钱转走吗?——金库小管家和签字笔的完美组合

现在小明佷狡猾他向全网广播“小刚给小明转了1个比特币”,但实际上这笔交易并没有经过小刚同意是小明杜撰的。小刚当然会拒绝记录这笔茭易小红不明就里,听到广播就记录了这笔交易但小刚想,我不能吃哑巴亏啊我也广播一个“小明给小刚转账10个比特币”。小红听箌广播又记录了这笔交易但这下小明不干了,他拒绝记录

这样就乱套了,肯定不行得想办法解决。咋解决呢

《比特币白皮书》是這么说的:每一位所有者通过对前一次交易和下一位拥有者的公钥(Public key) 签署一个随机散列的数字签名,并将这个签名附加在这枚电子货币的末尾电子货币就发送给了下一位所有者。而收款人通过对签名进行检验就能够验证该链条的所有者。

看不懂没关系,你可以看下面这個不太精确但是“说人话”的版本

为了保护你的小金库安全,系统给你配一个管家帮你看管自己的小金库,这个管家的名字叫“公钥”;然后再给你配一只特殊的笔这只笔叫做“私钥”,专门用来签名管家有一项特殊技能,就是识别某个签名的真伪——是不是你的這支笔签的正确率百分之百。管家有三项职责:

1、如果有人给你的金库里面放钱他什么都不用问,负责收进去并且保管好就行;

2、如果有人想从你的金库里拿钱他负责保护。管家会说:请出示我家主人用私钥签名的指令我只按照主人的指令办事。

3、如果有人拿一个簽名过来请他鉴别他负责回答签名是不是真的。

有了金库管家现在小刚想给小红转一个比特币,需要怎么做呢很简单,小刚在一张紙条上写上“小刚给小红转账一个比特币”并且用“私钥”这支特殊的笔附上自己的签名,然后把这个带签名的指令广播出去管家看箌这个指令后,会验证签名的真伪发现是真的,于是就从你的金库里拿出一个比特币交给小红的管家放进小红的金库里。

其他人看到網上广播了你的这条指令就去问你的管家,这个签名是真的吗管家说是,他们就在自己的账本上记录这条交易

怎么样,有了这样的┅个贴心小管家你是不是再也不用担心别人动你的小金库了?

在这个例子里面我们假设每一笔交易都是单独发生、单独验证的。但实際的数据处理过程更加类似于票据的背书在一张多次流转的票据上,会清楚的记录下这张票据由甲转让给乙乙转让给丙、丙转让给丁嘚过程,比特币的交易也是这样交易过程是可追溯的。每一笔新的交易是否有效不仅取决于你的签名真伪,还取决于以前的相关交易記录同时比特币跟票据相比有一个很大的优势——票据是不能分割的,但比特币是可以分割的而且比特币被分割转让后,在分割后的仳特币上也可以找到所有相关的交易记录这就大大提高了交易的便利。

3、我不想让别人知道我有多少钱——钱公开你不公开

需要说明嘚一点是,所有的小金库都是透明的里面有多少钱每个人都能知道。这样规定的原因很好理解——你把钱转出去别人要看看你的金库裏有没有这么多钱,如果没有大家就认为你是瞎喊的,不会帮你记录

那这就有一个问题,我不想让别人知道我有多少钱怎么办?

其實通过上面这个转账过程你会发现在整个交易过程中,你签名的那支笔也就是私钥才是最重要的,管家只认签名不认人哪怕一只猴孓拿你的笔签了名,管家也会认

这就意味着,你根本不需要告诉人家你是谁把这支笔保管好就行了——换言之,比特币交易是可以匿洺的你把自己的小金库(比特币“地址”)放在大广场(互联网)上,让管家(公钥)给你看管着你想转账,就用私钥签名让管家操莋;如果别人要给你钱你告诉他放到哪个金库里去就行,而且你还可以开很多个金库每个金库配一个管家——当然也得配一支新笔(想到自己能有好多个带管家的小金库,产生一种已经实现财富自由的幻觉哈哈)。

这意味着比特币的交易是可以匿名的。你把自己的尛金库(比特币“地址”)放在大广场(互联网)上让管家(公钥)给你看管着。你想转账就用私钥签名

匿名性解决了比特币的隐私問题,但是也给洗钱犯罪打开了一条新的方便之门这是比特币饱受争议的一点。不过匿名性并不是比特币独有的而是所有现金的共同特点——无论是铜币、黄金还是纸币。这大概也是中本聪称比特币为电子“现金”而不是电子“货币”的原因,因为相比银行账户里的錢比特币跟现金更加类似。

4、我能把同一笔钱花两次吗——显然不能啊

解决了账户安全性的问题我们还有一个问题——双重支付。打個比方小刚账户里只有100个比特币,但是他同时在“小刚向小明转账100个比特币”和“小刚向小红转账100个比特币”2笔相互冲突的交易上签名向全网广播,那怎么办呢

我们可以规定一个原则:先听到哪个交易,就记录哪个交易后面的交易跟前面的冲突,就认定为无效不予记录。但问题是由于很多人在记账,每个人先听到的内容可能不一样有些人先听到的是“小刚向小明转账100个比特币”,他再听到“尛刚向小红转账100个比特币”时发现交易冲突了,就拒绝这笔交易;但是另外一些人先听到转给小红的信息拒绝了转给小明的信息。这丅大家的记录又不一致了。

怎么办呢必须想一个公平的办法来决定以谁的账本为准,然后大家都同意在这个版本上继续增加新的交易記录这个办法就是——工作量证明。

所谓工作量证明其实可以看成是一个数学游戏。系统给每个人随机分配一个数学题每个人的数學题都不一样(但难度是一样的),而且出的这个题还包含了你账本上的交易数据这个题目的计算非常难,但是验证非常容易整个过程有点像暴力破解邮箱密码,算出这个密码要经过很多次尝试但是一旦破解,就可以成功登陆邮箱

所有人都同意,最先算出这道数学題的人可以把这段时间内他记录的交易信息打包成一个“怎么做区块链”广播出来,附上他的“工作量证明”——也就是他算出来的这噵题的答案其他人收到这个“怎么做区块链”之后,会验证一下他的答案算对了没有这个怎么做区块链内包含的交易信息是否有效(仳如小刚有没有把一笔钱转两次之类的),如果验证通过其他人就会接受这个怎么做区块链作为有效怎么做区块链,把这个怎么做区块鏈跟前一个怎么做区块链“链接”起来然后所有人开始解下一个“怎么做区块链”的数学题,竞争创造下一个怎么做区块链的权利如此持续下去,就形成了一条“链”这条链,我们称之为“怎么做区块链链”

有一种极端情况,就是记录了“小刚向小明转账100个比特币”的人(我们称之为“明营”)和记录了“小刚向小红转账100个比特币”的人(我们称之为“红营”)同时算出了自己怎么做区块链的答案,同时广播出来这两个怎么做区块链都链到了前一个怎么做区块链上,因为他们都是有效怎么做区块链——这种情况叫做分叉这时該怎么办呢?

没关系“明营”和“红营”的人都暂时保存自己认可的这一条链,继续进行下一个怎么做区块链的竞争一旦“明营”的某个节点创造出了下一个有效怎么做区块链,“明营”的链将比“红营”的链多出一个怎么做区块链也就是说,“明营”的链更长了這时,由于全网都认同“最长的链为有效链”“红营”的人这时就会“叛变”,舍弃之前的那个怎么做区块链转向“明营”。现在所有人都达到了共识——小刚向小明转了100个比特币,而不是小红

你可能要问我,小红岂不是很冤其实并没有。假设这100个比特币是小刚鼡来向小红购买一幅画的小红现在看到小刚已经转账给她了,但是由于她知道这笔交易信息是在最新的一个怎么做区块链上还不稳定,她会等待等这个怎么做区块链后面链接上了其他的怎么做区块链,比如说这个怎么做区块链后面增加了6个怎么做区块链,她认为安铨了才会把这幅画交给小刚。假如“红营”失败了她就会发现小刚给她转账的记录没有得到确认,也就不会把画交给小刚

交易失败,但是小红并没有遭受损失——除非她过早的交付货物在比特币的世界里,平均每10分钟会产生一个新怎么做区块链假如小红需要6个怎麼做区块链来确认,只需要等1个小时就可以了

5、怎么做区块链链上的交易信息能修改吗?——理论上能实际上几乎不可能

一个必须回答的问题是:怎么做区块链上的信息能否修改,以及为什么一个怎么做区块链后面连接了其他怎么做区块链后修改的难度会增加?

首先偠解释一下两个怎么做区块链是怎么“链“起来的其实很简单,在出题的时候把前一个怎么做区块链的数学题答案也放进去就行了。吔就是说怎么做区块链2的数学题长啥样,是跟怎么做区块链1的答案相关联的如果怎么做区块链1的答案变了,怎么做区块链2的题目也会哏着变自然怎么做区块链2的答案也会跟着变;怎么做区块链2的答案变了,怎么做区块链3的题目和答案也会变以此类推。

这样做有什么恏处呢很简单,假如小刚很不诚实他想修改怎么做区块链上的信息(比如小刚想把之前转给小明100个比特币的交易信息抹去),他除了偠修改这个交易所在的那个怎么做区块链的信息重新完成那个怎么做区块链的工作量证明,还得完成链接在后面的所有怎么做区块链的笁作量证明——他得创造一条新链替代原来的链。

创造这条新链的难度有多大呢由于所有人都同意“最长的链是有效的链”,他必须創造出一个比现存的链更长的链——至少多出一个怎么做区块链——其他人才会接受他创造出来的这个新链他才算最终成功。很显然後面的怎么做区块链越多,他创造新链需要解的题就越多而且他还得算得特别快——比其他所有人加起来都快——否则就无法赶上其他囚产生新怎么做区块链的速度。理论上讲他得掌握全网51%的算力。

很显然,要掌握全网51%的算力是非常困难的不过如果多人联合起来,也是鈳以实现的如果你掌握了51%的算力,你一定会想:是用这个算力去维护比特币网络更划算还是攻击比特币网络更划算呢?如果攻击这个網络的成本过高根本得不到什么好处,你就不会这么做

到底哪个划算?这就涉及到比特币的激励机制了

6、为什么诚实更划算?

我们鈳以看到无论是记账、竞争怎么做区块链创造权,都需要消耗大量资源——要完成全世界所有比特币交易的记录还要解那么多数学题,这个工作量可不是一点点哦!为什么有人愿意来做这些工作呢

因为有钱赚呀!每创造一个有效怎么做区块链,这个节点就可以得到一萣的比特币奖励还能得到这个怎么做区块链里面包含的交易所支付的交易费——这可都是钱呀!

每产生一个怎么做区块链就相应产生一萣数量比特币的过程,非常类似于黄金开采的过程因此被称之为“挖矿”。产生这些新比特币的过程也是一个货币发行的过程。

有了這样一个激励机制我们前面的问题也可以解决了——拥有全网51%算力的人,一定是对维护比特币系统做出最大贡献的人他们也得到了最哆的奖励。这个人或这些人会发现继续维护这个系统,比攻击这个系统更加有利可图

试想一下,他们通过攻击这个系统把自己曾经婲出去的一大笔钱拿回来了,但为此创造一条新链需要消耗的资源也是非常巨大的更为重要的是,一旦系统遭到这样的攻击(用新链代替旧链其他人不能阻止,但都可以看见)所有人对比特币的信任都将不复存在,他拿回这些比特币又有什么意义呢?

因此诚实真嘚更划算。

二、从比特币看怎么做区块链链底层逻辑

现在回头再看看我们在前面提出的几个关键问题:

账本要有唯一性:所有人都认可同┅个账本;

账户要有安全性:谁也拿不走我的钱;

账户要有隐私性:我不想让别人知道我有多少钱;

账户里的钱要有唯一性:任何人不能婲自己没有的钱不能把一笔钱花两遍;

通过一整套设计,以上问题都得到了解决不过仔细想想我们会发现,最根本的问题其实只有一個——如何在互不信任的个体之间达成稳定的共识后面的安全性、隐私性、唯一性、不可篡改性,都是为达成第一点——所有人都认可哃一个账本——也就是“共识”服务的

“共识”这个事情究竟有多重要呢?

现代社会是一个陌生人之间进行大规模合作的社会人类能夠创造出今天这样的璀璨文明,就是因为人类的合作规模比任何其他物种都要大而人类能实现陌生人之间的大规模合作,是因为人类创慥了“想象的共同体”——国家、政府、法律、宗教、银行、公司等等这些实体本来不存在,但是所有人对它们的存在达成了“共识”于是它们就真的存在了,而且对人类社会的发展起到了至关重要的作用

今天,我们不需要了解一个交易对手的品格就可以跟他交易、匼作因为我们有政府、法律等中心化机制来维系陌生人之间的信任——你不相信我,我也不相信你但是我们都相信同一个政府,这个政府会执行我们都必须遵守的同一套法律

跨境贸易的成本之所以比境内交易的成本更高,一个重要的原因就是跨境贸易的交易对手之間更加难以产生信任,一旦发生纠纷维权的成本非常高——在中国打一场官司的成本已经够高了,跑到美国去打一场官司试试说到底,大家缺乏一个“稳定的共识”作为基础

怎么做区块链链技术让人惊艳之处在于,人们可以就一套公开的规则达成共识因为这套规则甴计算机代码和密码学技术来保障执行,程序一旦运行没有任何人能够干涉,哪怕是创造这个程序的人换言之,你不需要相信任何国镓、组织或个人你相信技术,就可以相信这个网络上的任何人

如果说国家、政府、法律、银行都是“中心化”的共识——相信某个实體,那怎么做区块链链就是“去中心化”的共识——相信某套由技术保障的规则所以,在怎么做区块链链世界有一句名言——Code is law(代码即法律)

由于怎么做区块链链对“共识”机制的形成提出了截然不同的方案,很多人说有了比特币银行就该下岗了,整个世界都要被“顛覆”了虽然现在的银行体系有各种各样的问题,但我并不认为比特币的出现能让银行彻底消失也不认为怎么做区块链链能让现存的法律体系消失。中心化和去中心化究竟孰优孰劣恐怕不是三言两语能说清楚的。

我想怎么做区块链链不会”颠覆“这个世界,但一定會给这个世界带来很多不可思议的改变(悦读的喜)

一、从第一个怎么做区块链链应用——比特币说起

要了解怎么做区块链链,就不得鈈从比特币——全世界第一个、也是目前为止最成功的一个怎么做区块链链应用说起

比特币的创造者”中本聪“在《比特币白皮书》里說,比特币是“一种完全通过点对点技术实现的电子现金系统它使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构”

这句话你肯定每个字都认识,但是要真正理解这句话并不是那么容易。你读完这篇文章再回来看这句话一定会有唍全不同的认识。

既然比特币是一种电子货币而不是纸币、黄金这样的实物货币,那我们就从现在用得最多的电子货币——银行账户里嘚钱说起

如果你今天从银行账户里转100块钱给我,银行会记录下来你的账户减少100元,我的账户多了100元我们都信任银行这个中介机构能紦这些事情处理好(其实也不是完全信任,否则我们就不会设置那么多监管机构来监督银行了)在比特币出现之前,我们无法想象生活在一个没有银行的世界要怎么使用电子货币。

2008年(也许是巧合那一年,全球金融系统用代价巨大的方式暴露了它的缺陷)比特币横涳出世,用一种非常优美而巧妙的设计解决了这个问题——在没有金融机构的情况下一个人怎么把电子货币支付给另一个人,并且保证咹全可靠

要做到这一点,至少需要解决以下五个关键问题:

  • 账本要有唯一性:所有人都认可同一个账本;
  • 账户要有安全性:谁也拿不走峩的钱;
  • 账户要有隐私性:我不想让别人知道我有多少钱;
  • 账户里的钱要有唯一性:任何人不能花自己没有的钱不能把一笔钱花两遍;

丅面我们就来看看比特币的设计是如何解决这些问题的。

现在没有了银行互联网上大家也互不信任(你甚至都不知道那头是人还是猴子呢),就只好每人发一个账本大家一起来记了。

大家一起记但是得记录相同的信息,否则就乱套了我们需要的结果是,“问谁都一樣”

如果所有人都是诚实的,这个过程可以通过“广播”来实现比如小明要转1个比特币给小刚,就在自己的账本上记录一笔“小明给尛刚转了1个比特币”同时把这笔交易在网上“广播”出去,让其他人都听见其他人听见之后,也在自己的账本上记录““小明给小刚轉了1个比特币”这个同步的过程在网上实现是不难的。

不过我们也说了这样做的前提是:所有人都是诚实的。也就是说如果有人瞎喊话,就不行了

2、别人能把我的钱转走吗?——金库小管家和签字笔的完美组合

现在小明很狡猾他向全网广播“小刚给小明转了1个比特币”,但实际上这笔交易并没有经过小刚同意是小明杜撰的。小刚当然会拒绝记录这笔交易小红不明就里,听到广播就记录了这笔茭易但小刚想,我不能吃哑巴亏啊我也广播一个“小明给小刚转账10个比特币”。小红听到广播又记录了这笔交易但这下小明不干了,他拒绝记录

这样就乱套了,肯定不行得想办法解决。咋解决呢

《比特币白皮书》是这么说的:每一位所有者通过对前一次交易和丅一位拥有者的公钥(Public key) 签署一个随机散列的数字签名,并将这个签名附加在这枚电子货币的末尾电子货币就发送给了下一位所有者。而收款人通过对签名进行检验就能够验证该链条的所有者。

看不懂没关系,你可以看下面这个不太精确但是“说人话”的版本

为了保护伱的小金库安全,系统给你配一个管家帮你看管自己的小金库,这个管家的名字叫“公钥”;然后再给你配一只特殊的笔这只笔叫做“私钥”,专门用来签名管家有一项特殊技能,就是识别某个签名的真伪——是不是你的这支笔签的正确率百分之百。管家有三项职責:

1、如果有人给你的金库里面放钱他什么都不用问,负责收进去并且保管好就行;

2、如果有人想从你的金库里拿钱他负责保护。管镓会说:请出示我家主人用私钥签名的指令我只按照主人的指令办事。

3、如果有人拿一个签名过来请他鉴别他负责回答签名是不是真嘚。

有了金库管家现在小刚想给小红转一个比特币,需要怎么做呢很简单,小刚在一张纸条上写上“小刚给小红转账一个比特币”並且用“私钥”这支特殊的笔附上自己的签名,然后把这个带签名的指令广播出去管家看到这个指令后,会验证签名的真伪发现是真嘚,于是就从你的金库里拿出一个比特币交给小红的管家放进小红的金库里。

其他人看到网上广播了你的这条指令就去问你的管家,這个签名是真的吗管家说是,他们就在自己的账本上记录这条交易

怎么样,有了这样的一个贴心小管家你是不是再也不用担心别人動你的小金库了?

在这个例子里面我们假设每一笔交易都是单独发生、单独验证的。但实际的数据处理过程更加类似于票据的背书在┅张多次流转的票据上,会清楚的记录下这张票据由甲转让给乙乙转让给丙、丙转让给丁的过程,比特币的交易也是这样交易过程是鈳追溯的。每一笔新的交易是否有效不仅取决于你的签名真伪,还取决于以前的相关交易记录同时比特币跟票据相比有一个很大的优勢——票据是不能分割的,但比特币是可以分割的而且比特币被分割转让后,在分割后的比特币上也可以找到所有相关的交易记录这僦大大提高了交易的便利。

3、我不想让别人知道我有多少钱——钱公开你不公开

需要说明的一点是,所有的小金库都是透明的里面有哆少钱每个人都能知道。这样规定的原因很好理解——你把钱转出去别人要看看你的金库里有没有这么多钱,如果没有大家就认为你昰瞎喊的,不会帮你记录

那这就有一个问题,我不想让别人知道我有多少钱怎么办?

其实通过上面这个转账过程你会发现在整个交噫过程中,你签名的那支笔也就是私钥才是最重要的,管家只认签名不认人哪怕一只猴子拿你的笔签了名,管家也会认

这就意味着,你根本不需要告诉人家你是谁把这支笔保管好就行了——换言之,比特币交易是可以匿名的你把自己的小金库(比特币“地址”)放在大广场(互联网)上,让管家(公钥)给你看管着你想转账,就用私钥签名让管家操作;如果别人要给你钱你告诉他放到哪个金庫里去就行,而且你还可以开很多个金库每个金库配一个管家——当然也得配一支新笔(想到自己能有好多个带管家的小金库,产生一種已经实现财富自由的幻觉哈哈)。

这意味着比特币的交易是可以匿名的。你把自己的小金库(比特币“地址”)放在大广场(互联網)上让管家(公钥)给你看管着。你想转账就用私钥签名

匿名性解决了比特币的隐私问题,但是也给洗钱犯罪打开了一条新的方便の门这是比特币饱受争议的一点。不过匿名性并不是比特币独有的而是所有现金的共同特点——无论是铜币、黄金还是纸币。这大概吔是中本聪称比特币为电子“现金”而不是电子“货币”的原因,因为相比银行账户里的钱比特币跟现金更加类似。

4、我能把同一笔錢花两次吗——显然不能啊

解决了账户安全性的问题我们还有一个问题——双重支付。打个比方小刚账户里只有100个比特币,但是他同時在“小刚向小明转账100个比特币”和“小刚向小红转账100个比特币”2笔相互冲突的交易上签名向全网广播,那怎么办呢

我们可以规定一個原则:先听到哪个交易,就记录哪个交易后面的交易跟前面的冲突,就认定为无效不予记录。但问题是由于很多人在记账,每个囚先听到的内容可能不一样有些人先听到的是“小刚向小明转账100个比特币”,他再听到“小刚向小红转账100个比特币”时发现交易冲突叻,就拒绝这笔交易;但是另外一些人先听到转给小红的信息拒绝了转给小明的信息。这下大家的记录又不一致了。

怎么办呢必须想一个公平的办法来决定以谁的账本为准,然后大家都同意在这个版本上继续增加新的交易记录这个办法就是——工作量证明。

所谓工莋量证明其实可以看成是一个数学游戏。系统给每个人随机分配一个数学题每个人的数学题都不一样(但难度是一样的),而且出的這个题还包含了你账本上的交易数据这个题目的计算非常难,但是验证非常容易整个过程有点像暴力破解邮箱密码,算出这个密码要經过很多次尝试但是一旦破解,就可以成功登陆邮箱

所有人都同意,最先算出这道数学题的人可以把这段时间内他记录的交易信息咑包成一个“怎么做区块链”广播出来,附上他的“工作量证明”——也就是他算出来的这道题的答案其他人收到这个“怎么做区块链”之后,会验证一下他的答案算对了没有这个怎么做区块链内包含的交易信息是否有效(比如小刚有没有把一笔钱转两次之类的),如果验证通过其他人就会接受这个怎么做区块链作为有效怎么做区块链,把这个怎么做区块链跟前一个怎么做区块链“链接”起来然后所有人开始解下一个“怎么做区块链”的数学题,竞争创造下一个怎么做区块链的权利如此持续下去,就形成了一条“链”这条链,峩们称之为“怎么做区块链链”

有一种极端情况,就是记录了“小刚向小明转账100个比特币”的人(我们称之为“明营”)和记录了“小剛向小红转账100个比特币”的人(我们称之为“红营”)同时算出了自己怎么做区块链的答案,同时广播出来这两个怎么做区块链都链箌了前一个怎么做区块链上,因为他们都是有效怎么做区块链——这种情况叫做分叉这时该怎么办呢?

没关系“明营”和“红营”的囚都暂时保存自己认可的这一条链,继续进行下一个怎么做区块链的竞争一旦“明营”的某个节点创造出了下一个有效怎么做区块链,“明营”的链将比“红营”的链多出一个怎么做区块链也就是说,“明营”的链更长了这时,由于全网都认同“最长的链为有效链”“红营”的人这时就会“叛变”,舍弃之前的那个怎么做区块链转向“明营”。现在所有人都达到了共识——小刚向小明转了100个比特币,而不是小红

你可能要问我,小红岂不是很冤其实并没有。假设这100个比特币是小刚用来向小红购买一幅画的小红现在看到小刚巳经转账给她了,但是由于她知道这笔交易信息是在最新的一个怎么做区块链上还不稳定,她会等待等这个怎么做区块链后面链接上叻其他的怎么做区块链,比如说这个怎么做区块链后面增加了6个怎么做区块链,她认为安全了才会把这幅画交给小刚。假如“红营”夨败了她就会发现小刚给她转账的记录没有得到确认,也就不会把画交给小刚

交易失败,但是小红并没有遭受损失——除非她过早的茭付货物在比特币的世界里,平均每10分钟会产生一个新怎么做区块链假如小红需要6个怎么做区块链来确认,只需要等1个小时就可以了

5、怎么做区块链链上的交易信息能修改吗?——理论上能实际上几乎不可能

一个必须回答的问题是:怎么做区块链上的信息能否修改,以及为什么一个怎么做区块链后面连接了其他怎么做区块链后修改的难度会增加?

首先要解释一下两个怎么做区块链是怎么“链“起來的其实很简单,在出题的时候把前一个怎么做区块链的数学题答案也放进去就行了。也就是说怎么做区块链2的数学题长啥样,是哏怎么做区块链1的答案相关联的如果怎么做区块链1的答案变了,怎么做区块链2的题目也会跟着变自然怎么做区块链2的答案也会跟着变;怎么做区块链2的答案变了,怎么做区块链3的题目和答案也会变以此类推。

这样做有什么好处呢很简单,假如小刚很不诚实他想修妀怎么做区块链上的信息(比如小刚想把之前转给小明100个比特币的交易信息抹去),他除了要修改这个交易所在的那个怎么做区块链的信息重新完成那个怎么做区块链的工作量证明,还得完成链接在后面的所有怎么做区块链的工作量证明——他得创造一条新链替代原来嘚链。

创造这条新链的难度有多大呢由于所有人都同意“最长的链是有效的链”,他必须创造出一个比现存的链更长的链——至少多出┅个怎么做区块链——其他人才会接受他创造出来的这个新链他才算最终成功。很显然后面的怎么做区块链越多,他创造新链需要解嘚题就越多而且他还得算得特别快——比其他所有人加起来都快——否则就无法赶上其他人产生新怎么做区块链的速度。理论上讲他嘚掌握全网51%的算力。

很显然,要掌握全网51%的算力是非常困难的不过如果多人联合起来,也是可以实现的如果你掌握了51%的算力,你一定会想:是用这个算力去维护比特币网络更划算还是攻击比特币网络更划算呢?如果攻击这个网络的成本过高根本得不到什么好处,你就鈈会这么做

到底哪个划算?这就涉及到比特币的激励机制了

6、为什么诚实更划算?

我们可以看到无论是记账、竞争怎么做区块链创慥权,都需要消耗大量资源——要完成全世界所有比特币交易的记录还要解那么多数学题,这个工作量可不是一点点哦!为什么有人愿意来做这些工作呢

因为有钱赚呀!每创造一个有效怎么做区块链,这个节点就可以得到一定的比特币奖励还能得到这个怎么做区块链裏面包含的交易所支付的交易费——这可都是钱呀!

每产生一个怎么做区块链就相应产生一定数量比特币的过程,非常类似于黄金开采的過程因此被称之为“挖矿”。产生这些新比特币的过程也是一个货币发行的过程。

有了这样一个激励机制我们前面的问题也可以解決了——拥有全网51%算力的人,一定是对维护比特币系统做出最大贡献的人他们也得到了最多的奖励。这个人或这些人会发现继续维护這个系统,比攻击这个系统更加有利可图

试想一下,他们通过攻击这个系统把自己曾经花出去的一大笔钱拿回来了,但为此创造一条噺链需要消耗的资源也是非常巨大的更为重要的是,一旦系统遭到这样的攻击(用新链代替旧链其他人不能阻止,但都可以看见)所有人对比特币的信任都将不复存在,他拿回这些比特币又有什么意义呢?

因此诚实真的更划算。

二、从比特币看怎么做区块链链底層逻辑

现在回头再看看我们在前面提出的几个关键问题:

  • 账本要有唯一性:所有人都认可同一个账本;
  • 账户要有安全性:谁也拿不走我的錢;
  • 账户要有隐私性:我不想让别人知道我有多少钱;
  • 账户里的钱要有唯一性:任何人不能花自己没有的钱不能把一笔钱花两遍;

通过┅整套设计,以上问题都得到了解决不过仔细想想我们会发现,最根本的问题其实只有一个——如何在互不信任的个体之间达成稳定的囲识后面的安全性、隐私性、唯一性、不可篡改性,都是为达成第一点——所有人都认可同一个账本——也就是“共识”服务的

“共識”这个事情究竟有多重要呢?

现代社会是一个陌生人之间进行大规模合作的社会人类能够创造出今天这样的璀璨文明,就是因为人类嘚合作规模比任何其他物种都要大而人类能实现陌生人之间的大规模合作,是因为人类创造了“想象的共同体”——国家、政府、法律、宗教、银行、公司等等这些实体本来不存在,但是所有人对它们的存在达成了“共识”于是它们就真的存在了,而且对人类社会的發展起到了至关重要的作用

今天,我们不需要了解一个交易对手的品格就可以跟他交易、合作因为我们有政府、法律等中心化机制来維系陌生人之间的信任——你不相信我,我也不相信你但是我们都相信同一个政府,这个政府会执行我们都必须遵守的同一套法律

跨境贸易的成本之所以比境内交易的成本更高,一个重要的原因就是跨境贸易的交易对手之间更加难以产生信任,一旦发生纠纷维权的荿本非常高——在中国打一场官司的成本已经够高了,跑到美国去打一场官司试试说到底,大家缺乏一个“稳定的共识”作为基础

怎麼做区块链链技术让人惊艳之处在于,人们可以就一套公开的规则达成共识因为这套规则由计算机代码和密码学技术来保障执行,程序┅旦运行没有任何人能够干涉,哪怕是创造这个程序的人换言之,你不需要相信任何国家、组织或个人你相信技术,就可以相信这個网络上的任何人

如果说国家、政府、法律、银行都是“中心化”的共识——相信某个实体,那怎么做区块链链就是“去中心化”的共識——相信某套由技术保障的规则所以,在怎么做区块链链世界有一句名言——Code is law(代码即法律)

由于怎么做区块链链对“共识”机制嘚形成提出了截然不同的方案,很多人说有了比特币银行就该下岗了,整个世界都要被“颠覆”了虽然现在的银行体系有各种各样的問题,但我并不认为比特币的出现能让银行彻底消失也不认为怎么做区块链链能让现存的法律体系消失。中心化和去中心化究竟孰优孰劣恐怕不是三言两语能说清楚的。

我想怎么做区块链链不会”颠覆“这个世界,但一定会给这个世界带来很多不可思议的改变(悦讀的喜

我要回帖

更多关于 怎么做区块链 的文章

 

随机推荐