区块链笔记一|从比特币到以太坊,区块链1.0 – 2.0升级变迁

时间:2018年08月27日 丨来自:

从比特币的出生到以太坊的建立,做了一个按时间线性的简单的梳理,其中会讲述到它们之间的联系以及相关行业术语的含义,帮助大家建立最基础的区块链认知。

一. 比特币BTC – 区块链1.0

2008年,一名自称日裔美国人署名为”中本聪”的人发布了一篇论文《比特币:一种点对点式的电子现金系统》,这是数字加密货币概念,第一次出现在世界上。

2009年,中本聪发布了首个比特币软件,并正式启动了比特币金融系统,随后他逐渐淡出人们的视野,比特币软件的运维也移交给了其他成员。

中本聪的是谁?国籍?都是至今未解开的谜团,而关于他创造比特币的初衷,目前比较认可的说法是:以08年美国的次贷危机和金融危机为背景,他希望创造一种成为全球自由流动、不受政府监管和控制的数字加密货币。

1. 去中心化与分布式账本

上面提到中本聪希望比特币是自由流动、不受政府监管与控制的,更深一层的含义是:不受任何一个人控制,比特币能自动的运行。怎么做到呢?这就是去中心化和共识的概念。

我们愿意存钱在支付宝里面,是因为支付宝的母公司阿里巴巴是一家大企业,拥有极强的公信力。我们把支付宝数据库看作是一个账本,用户的所有数据都记录在这一个账本上,那么当遭遇黑客攻击、内部篡改、企业破产、物理灾难等危机时,当用户属于都依赖于这一个账本时,而这个账本受到安全威胁那么用户的数据就会不安全,这就是传统的数据中心化。

比特币就是为了解决以上问题而生的,首先我们把比特币软件也看做为一个“账本”,这个账本可以记录比特币区块链中至今发生的所有数据,每台PC设备都可以来运行它,有1万个用户运行了比特币软件,那么就有1万个数据节点来记录数据。这就是去中心化的分布式账本概念。

而如果有人想要去篡改区块链中的信息,根据比特币的规则,必须让51%的节点一起同意修改才会生效。今年1月份的数据:比特币全球节点为11703个,也就是说想要去修改数据,必须让分布于全球各个地方的5968个节点的治理者一起同意才行,这几乎是不可能的。

2. 旷工与比特币

去中心化的问题是解决了,但是怎么让大家愿意使用比特币软件,建立分布式账本的生态呢?金钱是最好的驱动力,所以只要运行比特币软件,就有机会得到比特币,而这一行为就是大家后来说的“挖矿”,而运行比特币软件建立分布式账本的这些人就是“旷工”。

挖矿的原理说白了就是让电脑去猜比特币区块链中,下一个区块的一个加密值,猜中了就能得到一定的比特币,而电脑性能越高猜中的概率就越高,所以造就了后来的比特币挖矿产业。

3. 比特币的缺陷

中本聪在设计比特币时限制了每一个区块容量大小为1MB,而这1MB仅仅是存储一些交易记录,虽然每一条交易记录的占用空间极低,但是随着比特币的火爆这已不能满足巨大交易量的存储了,因此许多节点治理者都提出了对比特币进行扩容,但是碍于51%投票机制,谁也说服不了谁,因此大家意识到“不易扩展性”是比特币一个很大的缺陷。

4. 硬分叉

关于比特币扩容的问题,最终的解决方案就是硬分叉,你们做你们的,我们做我们的。从比特币主线中脱离出一条支线,两条线相互独立互不干扰。比特币到目前为止一共硬分叉出了6种币:BCH(比特币现金),BTG(比特币黄金),BCD(比特币钻石),B2X,SBTC(超级比特币),BCHC。

二. 以太坊ETH – 区块链2.0

比特币的出现,开拓了人们的视野与思维,基于比特币而产生的概念越来越多,2013年来自俄罗斯94年出生的程序员Vitalik Buterin对外公布了以太坊初版白皮书,启动了该项目。

以太坊是一个全新开放的区块链平台,它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用,和比特币协议有所不同的是,以太坊的设计十分灵活,极具适应性。在以太坊平台上创立新的应用十分简便,目前以太坊的开源代码已托管到了GitHub社区上,人人都可以参与其中对以太坊进行不断地升级改造,或是根据以太坊的开源代码建立自己的区块链。

1. 智能合约

智能合约就是一段代码,一些人为制定的规则,运行在区块链中,参与治理的人必须遵从这些规则才能正常的使用下去。它开启了区块链的许多的实际应用场景,许多社会问题、需求、痛点都能通过区块链进行解决。不同行业、种类的规则都可以写进智能合约里面。

智能合约结合区块链,让其不可篡改、去中心化的特性真正发挥出价值,人们可以利用它开发出各种各样解决行业痛点的软件、Dapp。阿里巴巴早在2016年就开始利用区块链技术而服务实际业务,如:邮件存证、食品供应链、商品的正品与安全追溯等。

2. 石墨烯技术

它其实就是基于比特币的底层代码所整合出的一套技术框架,它上面提供各种模块让用户来搭建应用,如果将搭建应用比作造房子,那么石墨烯就提供了墙面、屋顶、地板等模块,用户只需像搭积木一样把房子搭起来,因此在以太坊上建立应用的成本和速度都大大改善。

做技术的同学应该很能理解,无论是Java还吃C都早已衍生出各种各样的技术框架。

3. 区块链是怎么存储数据的?

区块链并不是真正的存储数据,它只是存储这些数据的“标识”,而每一个区块会被计算为一串散列哈希值,然后这一串哈希又被记录到下一个区块中,这样就一个区块一个区块的记录,每一个最新的区块总是记录着这条链从创世到当前的所有数据哈希值。如果想要去改变一些数据,则必须从创世块开始头从修改。

所以文本、音频、视频、图片等这些数据还是存放在服务器的硬盘中的,但是他们在存储进服务器时,他们的数据标识会记录上链,因为链是不可被篡改的,所以也就反推这些记录在服务器中的数据也是不能被篡改的。