此中心化非彼中心化:自下而上的执行≠自上而下的治理

澳门新葡亰手机版 12

人们对于“去中心化”这个词与区块链技术因果关系的错误理解,直接导致他们对“去中心化”一词出现了致命的解读偏差。尽管随着中本聪的消失,我们现在已经无法去追问他比特币白皮书中“去中心化”一词的确切含义,但无法否定的一点是,在比特币刚刚诞生的时候,它的商业模式其实特别像是我们现在熟悉的一个去中心化应用——抖音。正如抖音中所有的人既是视频的观看者、也是生产者一样,在早期的比特币网络中,所有的节点既是比特币的接收者、也是生产者。看到这里,可能很多朋友会有点困惑。毕竟在他们看来,我手里的比特币钱包只能用来转账,怎么还能拿来挖矿呢?笔者给大家解释一下:在最早的时候,比特币网络上的所有节点都是具备挖矿功能的——虽然现在人们经常会把区块链网络上的节点分为记账节点和交易节点,但在比特币刚刚诞生之时,并没有纯粹的交易节点,它实际上是和“记账节点”这个角色相互重合的,原因很简单:当时的比特币钱包,都是内置在比特币的全节点客户端里,而全节点客户端是自带挖矿功能的,当然啦,想不想生产比特币(挖矿),完全看你的心情,就像你想不想用抖音给自己录视频完全是你的自愿一样。这也是笔者认为比特币“去中心化”一词的重要含义之一,它早期的货币生产是以C2C的去中心化体系来完成的,就如同抖音上的视频都是以C2C的形式生产出来的一样。那么,大多数人的问题在哪呢?虽然他们在自己的履历中,已经很努力地把入圈的时间点给提前到了2013/2014年,但在理解比特币中心化的角度上,这个时间其实还不够早,因为当时的比特币网络已经出现了两个趋势:首先,随着比特币的全节点客户端越来越大,难以进行轻便的携带,大多数人放弃了比特币的生产权,而比特币社区也顺应了用户的要求,在剪掉全节点客户端中与自己交易记录无关的信息之后,制作出了没有挖矿功能的轻节点钱包、并广为传播。其次,GPU、FPGA、ASIC矿机的诞生,助力了矿场以及矿池这种矿业正规军的出现,使得比特币发行权集中到少数人的手中。尤其是一些矿池巨头,只要三两联手,就能够掌控51%以上的算力。这样一来,当很多人在2013/2014年进入到数字货币行业时,他们所接触到的比特币网络,实际上已经不像是C2C的抖音了,而更像是B2C的电视台,一方面,出现了大批没有内容生产意愿和能力的纯观众,另一方面,内容生产权集中到了若干个骨干团体手中,虽然还没有像80年代那样“全民只能看央视春晚”那么中心化,但也变成了央地各电视台争夺收视率的巨头并立格局。而当这种中心化的程度越过一个阈值的时候,就必然会涉及到一个问题,那就是这些中心化巨头们将会联起手来,对行业实行共同的治理,比如制定一些行业标准、以及影响CORE团队的决策等,由此一来,大多数人对“去中心化”的理解,就自然而然地被引导到了另外一个人们十分熟悉的话题上:那就是在行业与企业的治理上,集权与分权的孰优孰劣。然而,正如抖音和电视台不属于一类服务供应模式一样,抖音式的“去中心化执行”与电视台式的“去中心化治理”虽然表面上都姓“去中心化”,但其实完全是两类事物。而绝大部分的人的问题偏偏就在于,他们把自下而上的自发执行,与自上而下的分权治理完全混淆了(必须承认,笔者也曾经有过这一段经历)。关于这一点,其实我们只要举一个例子,就足以让这个原本不能自洽的逻辑彻底混乱:假设某企业老总定下规矩,不允许员工在背后说他坏话,同时为了落实这一要求,他鼓励员工们彼此之间相互举报,只要有相关的证据就可以得到奖金。那你说这种管理模式是中心化的还是去中心化的?标准的答案是:从自下而上的执行来说,它是一种去中心化的执行模式,在奖金的吸引之下,员工们彼此之间形成了点对点的举报态势,即便老板不在,他们也都处在其他人的监督之中,而从自上而下的治理来说,它是一种中心化的治理模式,强化了企业老总在企业中的威望,使得其一言堂的管理得到了严格的延续。

时间: 2019-11-19阅读: 49标签: 产品

澳门新葡亰手机版 1

掌握这15个概念,相信可以帮助你了解区块链是什么、它的运作原理以及相关特征等信息。

本文出自于金马老师课程——“金马带你定投区块链”的课程,还有“白话区块链”公众号中的概念,我的目的就是把对同一个概念不同描述同时记录下来,做一个对比,更加清楚的理解。

世界上唯一不变的就是变化的存在。

一方面,我是属于“盗版”,如果你觉得对你有价值,可以加入金马老师的“金马带你定投区块链”小密圈,它的课程可以帮你实现财富自由,也算是为老师做个推广。

时代的发展变化在互联网革命后变得更加迅猛——人工智能刚刚热了几年,虚拟现实、大数据和金融科技等一波波新技术概念不断涌现,让我们眼花缭乱。

另一方面,我是为了自己对区块链有个基础了解,看到不同的概念,可以直接从这里作对比。

在不断鼓噪的创新颠覆中,莫名的焦虑感笼罩着所有人,我们都害怕被时代抛下。尤其是作为产品经理的我们,时刻保持对新事物的好奇心是优秀产品经理的一项重要标签。

1.什么是比特币?

所以本文将尝试带领大家共同学习区块链产品必学的几项重要的基础概念。要始终铭记的是,投资不一定能增值,但知识必能让我们升值。

金马老师给的定义:

一、什么是区块链?

比特币有两层含义,比特币是第一个区块链实现,比特币也是一种数字货币,我们今天重点说第二层含义。

第二层含义中,比特币是一种数字货币,没有实体,
拥有存在数字钱包里的密钥是使用比特币的唯一条件,这让控制权完全掌握在个人手中。

事实上,区块链是多种计算机技术的新型应用模式。简单来说,它本质上是一个去中心化的分布式数据库。区块链与人工智能、大数据并称为金融科技的三大巨头。

笑来老师给的定义:

区块链通过让散落在网络中的每一个节点(你我皆可为节点)以某一确定的共识共同参与数据库的管理,实现数据信息的去中心化分布式存储。在不需要各节点互相信任的情况下,区块链可以保证系统内数据记录的完整性和安全性。相比于过去的中心化世界,区块链率先攻破的便是他们的不透明性,杜绝暗箱操作。

第一种含义:比特币是这个世界上是一个被证明为成功的区块链应用。

第二种含义:运用去中心化的技术去维护的一个公开账户或者账务公开的的世界银行,建立在区块链技术基础上的世界银行。

第三种含义:去中心化的,有p2p的技术加密技术,区块链技术,去保证账务公开的世界银行叫做比特币的世界银行。发行了一种货币,恰巧也叫比特币。进一步说比特币是一种货币。

第四种含义:在这样一个世界里,不像现实世界一一对应,它可以是一个银行、可以是一个货币,比特币银行所发行的货币也叫比特币。这个比特币其实某种意义上相当于这家去中心化的世界银行的股份、股票。

「区块」指的是数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性和生成下一个区块。区块链就是由这一个个区块根据时间顺序连接起来的一根链条,就像成语接龙一样,相邻的成语之间必然存在某种联系才能形成成语链条。

举一个例子:

可以把区块链想象成一份公开的「流水账」账本,每个节点都有同一个账本,大家共同参与记账,有交易发生时需将交易细节广播出来,保持各节点账本数据的同步更新。如果说区块链是一个账本,那么每一个「区块」就是账本里的每一页纸。

如果跳广场舞的大爷大妈们跑来问什么是比特币,我们该怎么解释给他们听呢。咳咳,旎叫瘦开讲咯,学着点哦~

区块链技术的主要特性:去中心化,不可篡改,可信体系,数据共享,可扩展性以及匿名性。

假设广场舞俱乐部为了鼓励大家多来跳舞,规定每来一次加2分,无故不来扣3分,领舞一次加1分……积分变动的情况由俱乐部的王阿姨来记录。积分可以在年底兑换花生油等奖品……

二、什么是去中心化?

其实,现实生活中,银行的职责和王阿姨的职责是一样的——都是记账(只不过王阿姨记的是积分,银行记的是钱)。发工资了,银行给你的账户上加2000块钱;买了一瓶洗发水减20元;存款一年加利息100元;转账就是在你账户上减1000,在对方账户上加1000……

去中心化的概念很早以前就已经存在,他的含义是指去掉中心媒介实现人与人之间直接交流沟通的一种方式。在去中心化系统里,任何人都是一个节点,没有任何中心,任何人都可以成为一个中心,每一个节点都处于绝对平等的地位。

但银行与王阿姨最大的不同在于,王阿姨是免费为大家服务的,银行却要问我们收钱,办卡费、年费、转账费……看看银行有多少座高楼大厦、雇了多少员工,就知道银行收了我们多少钱了。

人类对去中心化的向往和诉求始终在不懈努力着。从更早期的时候来看,民主主义制度的诞生和发展就是人们争取去中心化政权的象征。再到现代互联网来看,UGC产品例如微博,所有的内容和信息不是某一个中心散发出来的,而是由全体的网民共同创造出来的,我们每一个体都是一个独立的创造的节点。

如果某天我们不想要银行或王阿姨记账了,可以实现吗?

三、什么是分布式?

太可以了,比特币就是这样的。

分布式是指由多个分散在不同地域的网络资源组成,用于实现数据和资源共享的系统。

我们可以把使用比特币的人看成是一个广场舞俱乐部的成员,这个俱乐部的积分是这样规定的:
1)每个人的最初的积分(就是比特币)数额都是0;
2)社群里的人共同维护一个账本,无论是否有变动,账本每10分钟更新一次,更新后要通知社群所有人;
3)社群里的任何一个人都有权记账,只要记账,就能获得50个比特币的奖励(每四年减半,现在是12.5个比特币)。
4)所有想记账的人都要算同一道数学题,第一个算对的人才有资格记账。
5)比特币的上限是2100万枚。如果全都发完了,抢到记账权的人就可以得到过去10分钟内所有转账的手续费。

迅雷早期做的P2P下载,实质上就是一种硬盘的共享,把每个人电脑上的一部分硬盘拿来存储电影文件,需要时再彼此共享。

我们把抢记账权从而获得比特币奖励的过程,称为挖矿。

分布式计算则是一种CPU资源的共享,当需要大量计算工作时再分摊给一个个普通计算机,大家共同参与并最终得到计算结果,极大地提升了计算速度和资源利用。

最初比特币是没什么价值的,只有他的发明者中本聪愿意挖矿。在中本聪默默的挖了100多万枚比特币之后,终于开始陆续有人加入到挖矿队伍中。再后来,一些实体店铺、网站等开始接受比特币支付,人们对比特币的需求量越来越大,比特币就越来越值钱了。

分布式账本的概念便随之自然可以推导得出,每个节点都有一份实时同步的账本数据库,节点共同参与记账,维护账本的准确性。

这样的讲法,大爷大妈们应该能听懂吧?至少我那个每天都跳广场舞、一直担任领舞的老妈已经听懂了,哈哈哈~~~

四、什么是点对点传输?

2.什么是挖矿?

区块链技术是基于P2P网络而建立的,P2P就是点对点的意思,因此P2P网络,我们也称之为点对点传输网络。

不同于央行统一发行的人民币,比特币是通过“挖矿”产生的。挖矿其实就是比赛解决一个数学问题,算得快的人得到新币加以鼓励。在这个过程中,每个矿工都用他的算力在验证和记录交易。相当于将央行货币发行和结算的任务分配给了每一个参加挖矿比赛的人,这就是“分布式”计算。

所谓点对点传输也就是存储-转发-传输。它是以点对点的连接方式,把各个计算机连接起来,这种点对点传输的网络结构形式通常为远程网络和大城市网络所采用,网络的拓扑结构有星形、环形、树形和网状形等。

白话区块链给的解释:

纯点对点P2P网络没有客户端或服务器的概念,只有平等的同级节点,同时对网络上的其它节点充当客户端和服务器。

什么是比特币说的“挖矿”?
答:比特币中的“挖矿”实际上就是记账的过程,比特币的运算采用了一种称为“工作量证明(Proof
of
Work,PoW)”的机制,系统为了找出谁有更强大的计算能力,每次会出一道数学题,只有最快解出这道题目的计算机才能进行记账。而抢到记账权的计算机会获得25个比特币的奖励。通常把这个行为称为“挖矿”,把获得的比特币视为挖矿成功获得的奖励

五、什么是比特币?

3.通货紧缩货币

2008年11月1日,中本聪在一个讨论信息加密的邮件组中发表了一篇文章「比特币:一种点对点的电子现金系统」,比特币的概念由此被正式提出。比特币是一种P2P形式的虚拟加密数字货币,点对点的传输意味着一个去中心化的支付系统。

通货膨胀的产生原因之一是政府超量地发行货币,这让我们每个人手里的钱都会越来越不值钱。而比特币的协议规定的是,新币的开采速度每四年就会减半,总的来说比特币总量不会超过2100万枚,并将在2140年左右达到。比特币总量的变化曲线如下图。

除了具备与互联网相同的去中心化、全球化、匿名性等特征,比特币还弥补了互联网难以实现的缺憾——价值转移。

澳门新葡亰手机版 2

比特币作为区块链技术的第一个落地应用,使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。

所以,从长期来看,比特币是通货紧缩货币。持有比特币是规避通货膨胀的手段之一。这个图的横坐标是时间,纵坐标是比特币数量。

如此一来,人们向全世界任何一端发送比特币就如同发送电子邮件一样简单快捷,同时还能做到成本的最小化。比特币也因此被应用于跨境支付和全球贸易等国际领域,甚至如今在很多国家,它已经可以直接购买现实生活中的物品了。

我们看到越往后能挖出去的比特币会越少,自然挖矿成本就越高。

与其他虚拟货币最大的不同是,比特币总量恒定,恒为2100万。在中本聪的设计里,每个区块初始发行50个比特币,每21万个区块后,每个区块的比特币产量减半。而比特币每十分钟产生一个区块,大约四年时间可以产生21万个区块。因此约在2045年,99.99%的比特币将会发行完毕,到2140年,比特币将无法再进行细分。

4.去中心化
传统货币系统的操作是“中心化”的,买卖东西总是要通过银行或大公司来拿钱或者收钱,否则就没有办法建立信任。例如,我们在淘宝上买东西,需要先把钱付给阿里巴巴,等确认收货了,阿里巴巴再把钱转给商家。

比特币的独创性和稀缺性吸引了大批投资者。2017年12月17日,比特币达到历史最高价19850美元。

澳门新葡亰手机版,比特币的创新之处就在于,完全“去中心化”,不依赖阿里巴巴这样的中央权威。我可以直接把钱打给你,但也不怕你抵赖,因为在交易发生的时候全网无数的账本都会共同记录下这笔交易。而这个同步的记录过程是分布式、去中心化的。

六、什么是挖矿?

5.比特币的四个创新点

比特币网络是通过“挖矿”来生成新的比特币的。

金马老师给的定义:

所谓“挖矿”实质上是用计算机解决一项复杂的数学问题(比特币网络会自动调整数学问题的难度),来保证比特币网络分布式记账系统的一致性。网络上的每一个节点都可以成为矿工参与挖矿,每十分钟全网矿工共同计算一道复杂的数学题,谁先计算得出正确答案,比特币网络就会新生成一定量的比特币作为区块奖励赠予他。

1.一个去中心化的点对点网络:我可以直接向你发钱,不用通过银行、阿里巴巴等大公司

  1. 一个公共的交易账本:所有的交易都被记录在了全网共同维护的大账本中,也就是大名鼎鼎的“区块链”技术。

  2. 一个去中心化的数学的和确定性的货币发行:世界各地的矿工们都在比赛解数学题找币,币出现的速度会越来越慢,总量是确定的。

  3. 一个去中心化的交易验证系统:不需要权威机构就能互相“验明正身”。纸币可能会出现“造假”的情况,一张钱出现在不同的两个地方。但比特币通过数学验证机制保证了不会出现这样的“双重支付”。

矿工还需将正确答案广播至全网,便于节点同步账本的数据。

白话区块链介绍比特币的特点:

2009年1月3日,中本聪通过计算机系统挖出了第一个比特币,作为区块挖矿奖励,他获得了网络新生成的50个比特币,标志着比特币创世区块的正式诞生。

1)去中心化。不依赖任何一个中心记账,而是由所有人一起来维护一个账本,任何人都可以去抢记账权。

2)不可篡改。每一个区块都被盖上了时间戳,所有区块首尾相连,一旦想更改区块内的数据,时间戳就对不上了;而且俱乐部所有人都在盯着呢,想篡改至少要有超过一半的人愿意跟你一起“指鹿为马”。

3)公开透明。任何一个账户的往来账目都可以在区块链上查到。当你转账给别人时,不用担心对方收了钱不认账,区块链上都记得一清二楚呢。

4)抗审查。政府不能让比特币挂掉,除非它不让任何人挖矿,也就是把全世界的网络弄瘫痪了,而银行、支付宝、微信要挂掉只是政府一句话的事(比如收回支付宝的牌照);你的比特币存在一个去中心化的网络里,任何人不能抢走,而政府随时都可以“抢走”你银行卡里所有的钱(比如你吃了官司)。

5)国际化。因为比特币只存在于互联网,如果想转账、支付、购买比特币,只需要联网操作一下就可以了。从比特币钱包的下载数据来看,全世界有200多个国家在用比特币,比美元、人民币等货币都更加国际化。

6)抗通胀。人民币的总量是没有上限的,政府每年都在大量印钱,比特币的上限是2100万,任何人不得更改。

七、算力/矿机/矿池

6.比特币的客户端

算力,也可称为哈希率,是比特币网络处理能力的度量单位,即为计算机CPU计算哈希函数输出的速度。

参与比特币交易基本有两种方式,一种是维护一个“完整客户端”,自己保存所有的比特币整个交易历史,不依赖于其他的服务器和第三方服务。另外一种是普通用户常用的“轻量级客户端”,不保存完整历史,而通过信赖的第三方服务器来获取交易信息。大家通过okcoin、云币网购买BTC就是这种形式。

在通过“挖矿”得到比特币的过程中,我们的核心任务便是找到其相应的解,而对于任何一个六十四位的哈希值,求解都没有固定算法,只能靠计算机随机的哈希碰撞,而一个挖矿机每秒钟能做多少次哈希碰撞,就是其“算力”的代表,单位为hash/s。算力值的大小反映了计算机挖矿的速率大小。

由于第三方介入是有风险的,即使比特币的交易账本是全网公开透明的,选择了不可靠的在线钱包服务还是可能会丢币。所以大家一定一定要选择有信用的靠谱的第三方交易客户端。

矿机,是专门用于挖取比特币的计算机,这类计算机与普通电脑不同的是会配置上专业的挖矿晶元,多采用烧显卡的方式工作,耗电量较大,挖矿效率较高。根据「中关村在线」上矿机的销售数据来看,一台额定算力18TH/s的阿瓦隆矿机售价在1700元左右。

7 使用比特币客户端

随着挖矿参与人数越来越多,挖矿的难度也随之增大,不少个人矿工依靠自己的算力挖出比特币的可能性越来越低,因此他们组建了「矿池」,将每人的计算机算力集中进入矿池一齐发力,矿池挖到比特币后根据矿场的算力占比分配收益,以此反而保证了中小算力的投入产出。

比特币客户端通常由一个钱包和多个比特币地址组成。比特币地址是可以公开的,任何人都可以通过这些地址转钱到你钱包。

八、什么是加密算法?

发送比特币只需要输入地址和金额,收到钱的人会用私钥(以下会介绍)签名这笔交易,这就公告了全网:比特币从一个地址转移到了另外一个地址。从交易完成到“确认”大概需要10分钟,因为交易须由矿工开采打包成区块,这样才会被全网接受为“已确认”。

区块链使用哈希算法加密,哈希算法是区块链中保证交易信息无法被篡改的单向密码机制。

8.私钥

哈希算法会在接收一段明文(指没有加密的文字或字符串)后,以一种不可逆的方式将其转化为一段位数固定的较小二进制值记录进区块里,这个二进制值就是哈希值。

比特币的地址相当于带锁的信箱,私钥就好比这个锁唯一的钥匙。比特币地址是公开的,每个人都可以往这个地址发钱,但只有握有“私钥”的人才能打开用这个地址上锁的比特币。因为只要知道私钥就可以取走你的比特币,所以私钥一定要好好保管。

哈希值是一段数据唯一且极其紧凑的数值表示形式,倘若只更改一段明文中的一个字母,产生的哈希值都将千差万别。要找到对应同一哈希值的两个不同的输入,从计算系统的角度来说基本是不可能的。

9.比特币交易过程

区块链的不可篡改特性由此而来。

A给B付款0.1BTC的过程是这样的:A将要付B的0.1BTC用B的”专属地址“锁起来,然后向全网发送,相当于向所有人吼了一声:“我向能打开这把锁的人发送了0.1BTC”。

九、什么是共识机制?

B在网络中会马上收到这条信息,于是拿出私钥试试能不能打开这把锁。因为只有B钱包里的私钥才可以匹配这个地址,所以只有B能兑换这笔钱。

为确保区块链上的每一个节点都能按照同样统一的行为标准记录和存储数据,达成全网共识就显得至关重要。区块链作为一种按时间顺序存储数据的数据结构,可支持不同的共识机制。目前主流的共识机制共有三种:

10.将交易记录在总账本中

PoW:工作量证明机制

交易信息必须要被传送到比特币网络中,成为总账本的一部分。这个账本叫做区块链。一个“区块”里面记录了一段时间内的所有交易信息,“链”则是因为所有的历史数据块会一个个串联起来。

比特币网络采用的正是Pow共识算法。在基于Pow构建的区块链网络中,节点通过计算随机哈希散列数值解争夺记账权,求得正确的数值解以生成区块从而获得挖矿奖励。顾名思义,工作量越大则获得记账权的几率也越大。Pow在实现完全去中心化的同时,却造成了大量的计算机资源浪费。

(1)全网传播

PoS:权益证明机制

比特币的账本是分布式的,网络中的每个节点都在帮助记账。A给B付款0.1BTC的时候,只需要向身边的节点大吼一声,收到信息的节点又迅速向自己的邻居发送这个消息。一传十十传百,只要几秒钟就能传遍整个网络。现在,所有人都知道“A给B付款0.1BTC”。

为降低挖矿难度和提升效率,在2012年,网友Sunny
King提出了权益证明机制。在PoS构建的区块链网络中,通过评估节点持有代币的数量和时长,依照比例来决定节点获得记账权的概率。持有代币越多且时间越长,获得记账权的几率就越大。PoS机制对代币经济模型产生了激励作用,整个网络生态变得更加良性。但仍然难以运用于真正的商业应用场景中。

(2)挖矿验证

DPoS:股份授权证明机制

这个交易在比特币网络上传播开来,但只有被矿工们“挖矿”验证并加到一个新区块中里,这个交易才会成为总账本的一部分。

DPoS机制与董事会投票类似,拥有一个内置的实时股权人投票系统,就像系统随时都在召开一个永不散场的股东大会,所有股东都在这里投票决定公司决策。

11. 挖矿

在这样的区块链中,全体节点投票选举出一定数量的节点代表,由他们来代理全体节点确认区块、维持系统有序运行。DPoS与PoS最主要的区别在于节点选择若干代理人进行验证和记账,因此大大缩小参与验证和记账节点的数量,从而达到秒级的共识验证。

挖矿的过程是将过去一段时间的交易记录打包成一个区块,这个过程也会创造新比特币。

十、公有链/联盟链/私有链

挖矿其实可以想象成很多人一起来找“数独”游戏的解(9×9的数独就是要求每行每列每个对角线都有1-9),矿工们解题的办法就是笨笨地不断去试,没有更快的方法,只能比谁试得更快运气更好。

区块链共有三种链类型:公有链、联盟链以及私有链。公有链是指全世界任何人都可读取、发送交易且交易能获得有效确认的、也可以参与其中共识过程的区块链,即每个人都可以成为其中的节点,各节点均可自由加入和退出网络,并参加链上数据的读写。

数独游戏的难度可以通过改变行列大小来调整。想象一下求解一个几千乘几千的数独,确实有难度。但是,如果给你一个已经填好的数独,你就可以很快验证这个解是否有效(检查每行每列有没有重复的数)。

联盟链是指由多个机构共同参与管理的区块链,每个组织或机构管理一个或多个节点,其数据只允许系统内不同的机构进行读写和发送。通常情况下,联盟链常用于组织机构间的交易和结算。

“解起来困难而验证容易”就是比特币解谜游戏的最大特点。当然,真实的比特币谜题其实是基于哈希加密算法,我们以后还会更详细地谈到。

私有链,指的是需要授权才能加入节点的区块链。私有链中各个节点的写入权限被严格控制,读取权限也可视需求有选择性地对外开放。私有链一般适用于企业内部的应用,以及特定机构的内部数据管理与审计等金融场景的应用。蚂蚁金服就是应用私有链的显著代表。

一笔交易需要通过解题构建区块来证明它有效,矿工们都在齐心协力地为这个区块贡献计算量,计算量越多意味着更多的人信任这笔交易是有效的。

十一、扩容/分叉

12.矿池

扩容即扩充区块容量。比特币诞生时,中本聪一时也无法决定每个区块的大小,因为区块的容量大小决定每个区块可以记载数据量的多少,区块容量过小就会导致网络拥堵和交易费用过高等问题,而区块容量过大则会引起更多的计算资源浪费。基于早期比特币网络的参与人数较少,中本聪最后临时将区块大小限制在1MB。

矿池就是矿工们组队解题,赢了就按工作量分配收获的比特币。在这个时代,单打独斗已经很难做成一件事情了,挖矿也一样。

但从2013年以来,比特币网络的参与人数和交易量不断攀升,原本设定的容量已经愈发满足不了实际的需求。所以比特币社区开始探索如何给比特币“扩容”,即通过修改比特币底层代码,从而达到提高交易处理能力的目的。

13. 区块链

再说分叉。分叉是指区块链在进行代码迭代时,节点之间发生了意见分歧,从而导致区块链分叉。因为没有中心化机构,比特币等数字资产每次代码升级都需要获得比特币社区的一致认可,如果比特币社区无法达成一致,区块链很可能形成分叉。

区块链就是一个一个区块链起来。

根据分叉后的区块链是否能兼容旧区块链,分叉又分为“硬分叉”和“软分叉”。硬分叉是指当比特币代码发生改变后,旧节点拒接接受由新节点创造的区块从而分叉出另外一条链。而软分叉是指旧的节点愿意继续接受由新节点创造的区块,所以他们仍然维持在同一条链上。

区块一个接一个产生,当前区块链的产生基于前一个区块,所以每次解当前的区块都会为之前的交易增加一次证明,也就在网络中得到了更多的信任。

十二、什么是智能合约?

随着链的增长,计算复杂度不断增加,以往的区块也就越来越难以删改(一个区块获得6次以上证明就基本不可能撤销了)。所以验证一个交易有效的简单手段就是确定这个交易在区块链中、后面有几个新的区块。

智能合约(Smart
Contract)是一种旨在以信息化方式传播、验证或执行合约规定的计算机协议。智能合约的协议可以由一个计算系统自动执行,允许在没有第三方情况下进行可信交易。它带来的直接好处就是极大地降低了交易成本,应用于在区块链世界里,智能合约甚至可以帮你“完成交易”。

你可以这么理解,写好的区块就像泼出去的水。

比方说我们熟悉的自动贩卖机就是由多个智能合约组成的系统:购买者投入一定数量的货币,选择商品后,贩卖机根据内置逻辑提供商品和找零,两者间建立了一种强制执行的合约,按照合约规定的协议完成交易流程,隐去了人力成本。

此外,我们可以通过区块链顺藤摸瓜追溯每一笔历史交易,这就保证了比特币的来源都是清晰有记录的。

十三、什么是公钥/私钥?

澳门新葡亰手机版 3

在创建钱包时,比特币系统会生成一对独一无二的公钥和私钥。公钥经过一定的算法可以得到钱包地址,通过钱包地址我们便可进行资产交易,而私钥就是交易时对这笔交易进行数字签名,从而证明你拥有交易的输出权。

白话区块链中的解释:

私钥是由32个字节组成的数组,根据私钥是可以算出公钥的,也能间接算出地址,有了私钥就能使用对应地址上的比特币。所以私钥具有极强的隐私特点,因为谁拥有了私钥,谁就拥有了对钱包资产的掌控权。

什么是区块链?

公钥与私钥组成了一个密钥对,公钥是密钥对中公开的部分,私钥则是非公开的部分。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密的数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。它们的组合就是俗称的非对称加密方式,是对互联网世界使用的对称加密方式(如用户账号与密码)的提升。

区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案

通俗一点说,区块链技术就指一种全民参与记账的方式。所有的系统背后都有一个数据库,你可以把数据库看成是就是一个大账本。那么谁来记这个账本就变得很重要。目前就是谁的系统谁来记账,微信的账本就是腾讯在记,淘宝的账本就是阿里在记。但现在区块链系统中,系统中的每个人都可以有机会参与记账。在一定时间段内如果有任何数据变化,系统中每个人都可以来进行记账,系统会评判这段时间内记账最快最好的人,把他记录的内容写到账本,并将这段时间内账本内容发给系统内所有的其他人进行备份。这样系统中的每个人都了一本完整的账本。这种方式,我们就称它为区块链技术。

十四、什么是数字货币钱包?

14.完整客户端

表象上看,数字货币钱包类似我们常用的实体钱包,是用来存储我们个人比特币、以太坊等数字货币资产的。然而钱包的核心应是进行安全的密钥管理,通过对私钥的防护,间接保护资产安全。因为我们的数字货币是存放在密钥里而不是钱包里的,即使钱包丢失,只要我们还记得密钥就能找回资产,就能创建新的钱包继续管理资产。

自己维护一个全节点客户端的成本比较高,但是可以保证你的钱包是安全的。如果你有几千个甚至几万个比特币,可以考虑用这种方式来实现安全存储。

根据钱包对私钥的存储方式又可分为冷钱包和热钱包。热钱包通俗来讲就是在线钱包,指的是可以通过互联网访问私钥的钱包。而冷钱包是指网络无法触达到私钥的钱包,意即离线钱包,具体形态例如没联网的手机或电脑、摘抄了私钥的笔记本等等。

从bitcoin.org下载的客户端包含了比特币系统的所有方面,是一个独立的完整节点。但是正因为包含了所有历史数据,下载整个区块链可能就需要好几天,请确保你有足够的容量的硬盘、带宽和时间。

十五、到目前为止,区块链的发展经历了几个阶段?

15.编译比特币源码

目前普遍认为有三个阶段:

对于开发者,可以从GitHub上的比特币页面
https://github.com/bitcoin/bitcoin
下载代码自行编译,从终端运行bitcoind,也需要下载所有区块。

第一个阶段,或称区块链1.0,以比特币为代表的数字货币领域创新,如货币转移、兑付和支付系统等。第二个阶段,或称区块链2.0,以智能合约为代表的企业级应用领域,此时更多的是做一些合约方面的创新,是涉及交易方面的商业合同,比如股票、证券的登记、期货、贷款、清算结算等。第三个阶段,或称区块链3.0,区块链进入社会治理领域,包括了身份认证、公证、仲裁、审计、物流、医疗、签证、投票等领域,应用范围扩大到了整个社会,区块链技术有可能成为“万物互联”的一种最底层的协议。最后的话

在书里面一步步教授了比特币核心的JSON_RPC
API接口的使用,包括以下技能点:

当变化来临时,把头埋进沙子解决不了任何问题。兴许我们一辈子也不需要真正掌握这些高深莫测的技术,但当身边一切的信息应用和金融产品服务都建立在区块链之上时,我们的阅读和学习都将帮助我们更好的拥抱一个新世界,认识一个新的价值转移、无需信任、权利证明的方式。

1.获取比特币核心客户端状态信息
2.钱包设置及加密
3.钱包备份、纯文本导出和恢复
4.钱包地址及接收交易
5.查看区块信息
6.基于UTXO(未花费的交易输出)的建立、签名与提交

原文

16.密钥

比特币交易需要用有效的“数字密钥”产生的签名认证。

密钥是成对出现的,由一个“私钥”和一个“公钥”所组成。公钥就像银行的帐号,而私钥就像控制账户的PIN码或支票的签名。

公钥用来接收比特币,私钥用来对收到的比特币进行签名。公钥可以由私钥唯一产生,但是知道公钥却不能反向推导出私钥,这就保证了比特币的安全性。
如果你知道一点密码学的知识,这就是非对称加密。

17.地址

比特币的地址是通过账户主人的公钥产生的,只需要把比特币地址告诉其他人,别人就可以给你转账。

18.私钥、公钥、比特币地址之间的关系

从私钥可以唯一生成公钥,公钥可以生成比特币地址。但反向都是解不出来。私钥必须始终保持机密,丢了私钥就相当于丢了比特币。

澳门新葡亰手机版 4

这个图可以让你了解非对称加密。

19.钱包与助记词

由于完全无规律的密钥对不便于维护和记忆,现在的钱包多是从一个“种子”出发生成许多关键的钥匙。如图所示,子子孙孙地繁衍出新的密钥。

种子可以是随机生成的数字,也可以用助记词来生成。单词的顺序就是钱包的备份,可以用来恢复或重新创造新的钱包的钥匙。助记词可以让人们更容易抄写和储存。

这里要提醒的是,由于知道了助记词就能重新创建种子恢复钱包,助记词一定要妥善保管。不少人使用imtoken的时候给助记词截了图,导致钱包信息泄露。

切记切记不要截图,最好是抄写下来。

澳门新葡亰手机版 5

家下来的内容会涉及密码学和数学,我们用尽量通俗的方式来解释哈,你不要有压力,即使读不懂,也要读完哈。

20.椭圆曲线加密(从私钥到公钥)

通过椭圆曲线加密算法,可以从私钥计算得到公钥,这是不可逆转的过程:K = k
* G 。其中k是私钥,G是被称为生成点的常数点,而K是所得公钥。

我们用一个例子来理解椭圆曲线加密:

小明就读于小学二年级,会计算加法,但是不会计算除法。
你:“小明小明,过来,叔叔问你,1+1等于几?”
明:“等于2。”
你:“那考你个难的,7+7等于几?”
明:“切,等于14呗。”
你:“行,那叔叔再问你,几个7相加等于56?”
明:“……”,默默掏出草稿纸、铅笔、手指头、脚趾头,进行了10分钟的深度计算:2个7等于14,3个7等于21,4个7等于28……。“叔叔,我算出来了,是8个,对不对?”
你:“好小子,叔叔就不信考不倒你。几个7相加等于8***92?”
你心中默念,以小明的计算能力,要算到这个数恐怕得一年半载的。
明:“叔叔好厉害呀,我算不出来。”

对于椭圆曲线代码来说,固定的生成点G就是例子里面的7;私钥k就是例子里面的8,也就是对G进行加法的次数(G+G+…+G
= kG);公钥K是得到的结果(56和8-92)

上面的数字 8—-92 竟然被打星了,奇怪。

我们继续,和上面的例子不同的是,椭圆曲线密码中的“加法”是建立在“有限域上的二元三次曲线的点”上的。

具体的说,这个加法可以表现为以下两个图。将两个点连线之后求曲线交点关于x轴的对称点。图a是两个不同的点相加,图b是两个相同的点相加。

澳门新葡亰手机版 6

澳门新葡亰手机版 7

这个加法有两个很重要的特点

(1)正向计算(从私钥计算公钥)很简单。

(2)逆向计算(从公钥反推私钥)很困难。从公钥反推私钥只能像例子中的小明一样用傻瓜穷举法,以目前的计算能力,攻破椭圆曲线是不现实的。

看个例子理解一下为什么正推容易,反推难:

椭圆曲线加密公式:K=kG。
正推:已知k,G,求k
G。
反推:已知K,G,求k。
先看反推,反推只能用最傻瓜的穷举法,比如k=10。
G==K?[No]
G+G=2G==K?[No]
2G+G=3G==K?[No]
3G+G=4G==K?[No]
4G+G=5G==K?[No]
5G+G=6G==K?[No]
6G+G=7G==K?[No]
7G+G=8G==K?[No]
8G+G=9G==K?[No]
9G+G=10G==K?[Yes]
花了10步找到答案, k=10。
再看正推。
已经知道k=10。
G+G=2G
2G+2G=4G
4G+4G=8G
8G+2G=10G=K
四步就找到答案。

哈哈,有点晕了吗?不是很复杂,如果没看懂建议你再看一遍。如果实在看不懂,你记住正推容易,反推几乎不可能就好了。

21.哈希函数(从公钥到比特币地址)

比特币地址是由公钥经过单向的哈希函数生成的。

哈希(Hash)是一种数据编码方式,将大尺寸的数据(如一句话,一张图片,一段音乐、一个视频等)浓缩到一个数字中,从而方便地实现数据匹配、查找的功能。

比如这里有一万首歌,给你一首新的歌X,要求你确认X是否在那一万首歌之内。

将一万首歌每一个音符和X比对非常慢。那么,我们可以将每一首的数据浓缩到一个数字指纹上(称为哈希码),得到一万个数字,再将X的数字指纹和这一万个数字比对,就能知道X是否在那一万首歌中。

显然,有可能多首歌的哈希码是同一个。好的哈希算法会尽量减少这种冲突,让不同的歌有不同的哈希码。

就算真有极小概率出现不同的歌有相同的哈希码,那也只有寥寥几首歌,此时再一首首比对即可。

作为例子,如果要你要哈希那一万首歌,一个简单算法就是让歌曲所占硬盘的字节数作为哈希码。这样的话,你可以让一万首歌“按照大小排序”,然后遇到一首新的歌,只要看看新的歌的字节数是否和已有的一万首歌中的某一首的字节数相同,就知道新的歌是否在那一万首歌之内了。

再说一个题外话,我是一名程序员,我几次面试都中算法题都被考到了 Hash
的实现。

所以,如果你也是一名程序员,一定了解了解 Hash。

22.比特币交易的生命周期

澳门新葡亰手机版 8

交易在全网的传播

每个比特币节点都和一些其他节点相连,形成一个巨大的网状结构。每个节点收到交易之后都会进行验证,如果有效就传播到其他节点,如果无效就拒绝并返回。一笔有效的交易在几秒钟能就会传遍全网。

比特币网络有以下特点:

  1. 没有中心,所有节点的地位都是同等的

  2. 传播灵活高效,能够抵御攻击。

  3. 每个节点在传播交易之前都会独立验证,增加可靠性。

23. UTXO

这个概念很重要,对你理解很有帮助,要认真理解它。

比特币交易的基本单位是UTXO“未花费过的一个交易输出”。在比特币的世界里既没有账户,也没有余额,只有分散到区块链里的UTXO。

要理解UTXO,我们假设一个这样的场景:张三挖到12.5
枚比特币。过了几天,他把其中 2.5
枚支付给李四。又过了几天,他和李四各出资 2.5 比特币凑成 5
比特币付给王五。

如果是基于账户的设计,张、李、王三人在数据库中各有一个账户,则他们三人的账户变化如下图所示:

澳门新葡亰手机版 9

我们正常理解,应该是按照上面的图

但在比特币中,这个过程是通过 UTXO 实现的,图示如下:

澳门新葡亰手机版 10

看图你会发现,上一笔交易的输出是下一笔交易的输入,形成一条交易链。在一笔交易中,被交易消耗的UTXO被称为交易输入,由交易创建的UTXO被称为交易输出。

比特币钱包通过扫描区块链并聚合所有属于该用户的UTXO来计算该用户的余额。当用户付款时,他的钱包通过选择可用的UTXO来构造一笔交易。一旦UTXO被选中,钱包会为它生成包含签名的解锁脚本,相当于把钱柜打开取钱出来支付。

24.交易费

大多数交易都需要支付交易费,作为对辛勤工作的比特币矿工们的劳动费。交易费可当做矿工们确认区块的奖励,交易费的多少会影响处理的优先级,有足够费用的交易会更早被包含在下一个挖出的区块中,也就更早得到确认和验证。交易费大多数情况下都是由钱包程序替你自动计算出来的。

顺便提一句,为什么 steem bts eos 不需要交易费?这是课后作业。

25.交易验证:UTXO的锁定与解锁

比特币的交易验证引擎依赖于两类脚本来验证比特币交易:一个锁定脚本和一个解锁脚本。

(1)锁定脚本

A给B的比特币地址付款时,A会输出一个UTXO,用含有B地址的锁定脚本给这个输出的UTXO上锁,相当于告诉大家:花这笔钱的条件是能打开这个锁。

(2)解锁脚本

B要使用UTXO来付款时,需要用解锁脚本证明自己能把之前A上的锁打开,说明自己满足花这笔钱的条件。解锁脚本包含一个用B的私钥生成的有效签名。

(3)交易验证

每一个比特币客户端都会同时执行锁定脚本和解锁脚本来验证这一笔交易。只有一笔有效的交易才会导致UTXO被标记为“已使用”,然后从有效的(未使用)UTXO集中所移除。

澳门新葡亰手机版 11

希望大家关注一下金马老师的小密圈:

澳门新葡亰手机版 12