区块链是一种技术。比特币是区块链技术的第一个应用实例。
一、比特币
现实世界货币的基本逻辑为:
货币作为物品交换的等价物,由各国家的央行发行;
人们努力工作,赚取货币,一部分用来养家糊口,一部分会存入银行;
银行系统记录人们存款、转账、提款等信息,提供银行卡或存折给用户,并将这些信息记录在账本中,称之为“ 中心化账本 ”。
一个网名为中本聪的人提出了比特币。
2008年10月,在一个密码学的学术论坛上,他发表了《比特币:一种点对点的电子现金系统》: 提出了一种完全通过点对点技术实现的电子现金系统,它使得在线支付能够直接由一方发起并支付给另外一方,中间不需要通过任何的金融机构 。
比特币是一种数字货币,一种虚拟货币。
相应地,支持比特币的系统就是点对点、不依赖金融机构、分布式的公开记账系统。
货币是由各国的中央银行发行的,而虚拟货币很多都是由企业发行的,如Q币是由鹅厂发行的。但是,比特币却是另外一种玩法:通过一套去中心化的算法机制自动发行的。
“去中心化” 是去银行的中心化账本,改为分布式的账本。
分布式账本中的每一页称为一个“ 区块 ”。
大约每10分钟就可以打包一个区块;
每打包一个区块,就会50个比特币的奖励,每4年会减半;
比特币的总量大约控制在2100万枚。
算法机制是指在每个区块上设置一个数学问题。这个数据问题可以自动调整数学问题的难度,以保证整个网络约每10分钟得到一个合格答案**。**
人们通过寻找需要求解问题的区块,以此获得比特币,称之为“挖矿”。
如果能够最先求解出问题,则获得该区块的记账权;同时,这个获得记账权的人(节点)广播自己的记账账本,通知其他账本会据此进行更新。称之为“共识机制”。
除了挖矿得到比特币之外,获得比特币的方式便是通过交易完成。
现实世界的货币存在银行的中心账本里,提供银行卡号来标识用户;用户去银行办理业务时,出示身份证和银行卡,并进行密码认证。
作为虚拟货币的比特币存放在“区块”分布式账本里,提供比特币地址来标识用户;同样,用户进行比特币操作时,需要进行数字签名和数字密钥验证。
现实世界的银行卡密码,人们可以凭借记忆或者记录在备忘录中。
作为数字货币的比特币,数字密钥存储在文件或数据库中,称之为“钱包”。同时,将保存和管理比特币地址(银行卡号)以及公私密钥对的软件,称为“ 比特币钱包 ”。
比特币本质上是一种虚拟数字货币,其本身是没有任何价值的。
但与现实世界关联起来,就能用来购买现实世界的物品,如购买披萨。同时,比特币也得到了多个国家的认可。
总之,比特币通过分布式账本、共识机制、数字签名与加密等技术,实现了不依赖于中间金融机构的分布式记账系统。
其主要特点是:
(1)通过分布式账本确保交易的不可篡改性;
(2)通过记账奖励的方式激励人们参与记账;
(3)通过解题获得记账权,记账后通知其他人同步记账记录。
这也是区块链的技术。
二、区块链
区块链就是“区块”+ “链”。
要理解区块链是什么?就需要理解区块是什么?链是如何串起来的?
在比特币部分,粗略地认为账本就是区块。
事实上,账本的交易记录存放在区块体中,有区块体相应地也就有区块头。
区块头主要包含哈希值、时间戳、默克尔树根等。
也就是区块包含区块头和区块体。
链是如何串起来的?
先确定链的头,也就是第一个区块(称为创世区块),再将第二个区块链上去,怎么链?计算出第一个区块的哈希值,并将该哈希值记录到第二个区块的区块头中。
后续依次类推,按照时间顺序完成链的串接。
这里前面的区块称为父区块,后面的区块称为子区块。
区块链本身不是一种新技术,而是多种原有基础技术的组合,如哈希运算、数字签名、P2P网络、共识算法以及智能合约等。
哈希运算将任意长度的字符串,通过计算,都能够生成一个固定长度的字符串,该输出的字符串称为哈希值。
哈希值被记录在区块中,可以唯一准确地标识一个区块。
数字签名的基本原理可参考 《数字证书》 一文。
在区块链网络中,参与挖矿的人们(称为节点)都拥有一份公私密钥对。发送交易前,使用私钥对交易进行加密,其他节点收到消息后,使用消息中的数字签名进行验证消息的合法性。
所有节点都进行记账,以谁的账本为准呢?需要建立一个大家都认可的策略,这个策略就称为“共识”。
这个共识如何确定?就可以采用“挖矿”的方法,谁先解出题,就以谁的账本为准。
网络服务架构有C/S(客户端/服务端)、B/S(浏览器/服务端)等,都有一个特点就是服务端这个中心的存在。
还有一种消除了中心化的服务节点的网络架构,将所有参与看成对等体,称为Peer-to-Peer Networking,也就是P2P网络。
按照访问和管理权限来分类,区块链别可以分为:公有链、联盟链和私有链。
公有链:区块链完全开放透明,任何人都可以参与;
联盟链或私有链:仅供有限个群体或者组织参与;
区块链的发展最初是以比特币系统为代表的数据货币,此时区块链仅支持数字货币。
后来区块链中引入了 智能合约 ,应用场景扩大到股票、私募等金融领域,并以以太坊系统为代表。
那么,智能合约是什么?
日常生活中,可以看到购房合同、劳动合同等等,这些都称为“合约”。
“合约”的约束可借助法院等。
那么,能不能建立一个电子合约,该合约的约束借助于“代码”呢?
先看一下例子,现在的公园中基本都有自动售货机,人们可以买水、饮料、棉花糖等等,当你通过电子扫码付了钱之后,就可以得到相应的商品。其本质就是人们选择商品并付钱之后,售货机就自动执行程序,释放出相应的商品。再抽象出来就是:满足一定条件,就能自动执行的计算机程序。这里自动售货机就可以看成智能合约系统。
以太坊系统又是何方神圣?
前有以太网,现有以太坊。
都是以太,都是还未被证实的科学物质。
都表达了一种理想,而以太坊想解决的是将区块链应用于更广泛的领域:社交、游戏。
2015年6月,以太坊发布。
期望打造一个可编程的区块链,允许用户创建各自所需的区块链。
为此,以太坊就需要成为平台、成为操作系统,承载APP的开发,类似于安卓操作系统。
而以太坊的APP就是智能合约,采用Solidity编程语言编写。
目前,区块链技术被应用到了物流、鉴证等领域,应用范围扩大到了社会各个领域。
全部0条评论
快来发表一下你的评论吧 !