分类 云计算 下的文章

2008年,中本聪提出了比特币的概念,这是一种全新的电子货币。比特币是一种去中心化的记账系统,人们通过挖矿获得比特币,通过公开记账的方式完成支付。

目前的记账方式

交易中最重要的事情就是记账,现在的记账是由银行来处理的,我们信任银行,因为银行的背后是国家的信用。但是银行可以冻结我们的账户,可以限制我们的交易,极端情况下我们的资产将不受保护。

区块链记账方式

中本聪提出一种设想,我们可以用去中心化的记账系统来记账,把所有的交易记录全部公开,并将这些交易记录存储在分布在世界各地的计算机上,每台计算机上都保存一份最新的账本。

如何记账:

假设初始网络中有A,B,C,D来记录交易:

  1. A -> 10BTC -> B
  2. A在本地记账,并广播通知网络上所有人,B、C、D共同参与记账
  3. B -> 5BTC -> C
  4. B在本地记账,并广播通知网络上所有人,A、C、D共同参与记账
  5. E想要加入记账,E会先将之前账本同步过来,然后加入网络,目前网络上有A,B,C,D,E参与记账
  6. C -> 5BTC -> D
  7. C在本地记账,并广播通知网络上所有人,A、B、D、E共同参与记账
  8. 重复这个过程

记账的数据

每10分钟将所有新发生的交易记录进行打包,每个包大约包含4000条交易记录,存储在计算机上占用1MB存储空间,这个打包后的数据就叫区块。世界上每10分钟就会产生一个区块,将区块按照时间顺序连接在一起就叫区块链。

打包的工作由所有的节点竞争完成(挖矿),而且10分钟内只能选出一个节点来打包区块,系统会奖励一些比特币给打包的节点。

如何打包区块

假如区块链系统开始工作,此时有A,B,C,D,E参与记账。第一个10分钟内产生了一些交易记录,10分钟过后A,B,C,D,E同时开始竞争打包,竞争的规则是计算一个复杂的数学题目(工作量证明),为了保证公平性,每个节点的计算难度都是随机的。最先得到正确结果的节点获得打包权限,然后将打包的区块数据链接到之前的区块上,得到最新的区块链。然后其余节点同步这个区块,从而获得最新的完整的区块链,区块链上记录着有史以来全部的交易记录。

区块+区块+区块+区块+区块+区块+区块+区块+区块+区块+区块+...+区块 = 区块链

区块链中的数据到底存在哪里?

区块链是一个分布式的网络,由诸多的节点组成,而区块链的数据在每个节点上都会存储一份。新加入的节点会去其他的节点上同步数据。至于数据量的问题,目前来看,还是可控的,比特币运行超过 10 年了,目前的数据也还没有超过 400G。比特币的数据上链之后就无法再更改了。区块链的数据存节点的本地磁盘上。

记账的奖励:

每一个比特币系统的节点都可以记账,那么记账会有什么好处呢?

  1. 手续费,如果 A 付 10BTC 给 B,那么 A 要多付一点点给 B,多付的部分就是给参与记账的节点的奖励
  2. 打包奖励,竞争打包区块成功的节点将获得额外比特币奖励

因为有手续费和打包奖励,很多人都争着去加入比特币系统中,成为其中的一个节点。加入计算的行为被人称为挖矿,参与计算的机器叫做矿机,每个矿机中都保存着一份完整的区块链数据,并参与竞争打包新的区块。

区块链本质是什么:

区块链本质就是一个分布式的数据库。比特币可以利用这种数据库存储交易记录,同样我们也可以利用区块链技术存放其他类型的数据。

区块链缺陷是什么:

区块链有两类数据,全部重复地存在每个全节点里面,全量复制,有n个全节点就有n倍的冗余。

第一类数据是:全网每个用户以及合约的最新状态,比如每个人的账户余额,这个数据存在内存里面。

第二类数据是:全网状态的历史修改记录,也就是log,存放在硬盘上。这个部分数据是我们所说的区块链。区块链就是这么个设计,每一台电脑,实际上承载了整个网络的工作量。这也是区块链性能瓶颈的根本原因。

当然,技术还是在发展,后续有技术可以将网络分而治之。

其他问题:

一个成熟的记账系统除了如何存储,如何激励问题外,还有很多问题需要解决。比如,如何保障账本安全,如何保障数据准确等,这里不再深入探讨。

什么是VMware vSphere?

VMware vSphere不是特定的产品或软件。VMware vSphere是整个VMware套件的商业名称。VMware vSphere堆栈包括虚拟化,管理和界面层。VMware vSphere的两个核心组件是ESXi服务器和vCenter Server。ESXi是hypervsior,您可以在其中创建和运行虚拟机和虚拟设备。vCenter Server是用于管理网络中连接的多个ESXi主机和池主机资源的服务。我希望这个简单的信息能够从“什么是VMware vSphere”这个问题中清除您的想法。与其他虚拟机管理程序(如Microsoft Hyper-v和Citrix Xen Server)相比,VMware vSphere是虚拟化行业的主人。

什么是VMware ESXi?

VMware ESXi 是 VMware 的裸机虚拟机管理程序。VMware ESXi是以ISO形式提供的软件,可直接安装在物理硬件上。ESXi安装占用空间小,大小为144 MB。VMWare ESXi允许您在其中创建多个虚拟机,以在单个物理硬件中运行多个操作系统,如windows,linux,solaris,macOS等。它使您能够在虚拟机之上运行工作负载,从而可以整合多个物理硬件,从而将工作负载运行到更少的物理硬件中。

tn-vsphere-overview-hypervisor.jpg

什么是VMware vCenter Server?

VMware vCenter是帮助您集中管理整个VMware虚拟化基础架构的软件。vCenter可以将大约数千个ESXi主机添加到清单中,从而可以管理多个ESXi主机以及ESXi主机上运行的虚拟机。vCenter Server提供了许多vSphere功能,例如VMware DRS,VMware HA(高可用性),VMware vMotion,VMware容错,虚拟机模板,VM克隆等。

arquitecturacenter.jpg

VMware vCenter可以安装在Windows上,也可以通过基于Linux的vCenter(称为vCenter Server Appliance)安装。最近在vSphere 6.5上从SUSE切换到Photon OS(VMware的操作系统)。了解基于Windows的vCenter Server和vCenter Server设备之间的区别。 您需要具有外部数据库(如Microsoft SQL Server,Oracle等)或嵌入式数据库(如PostgreSQL)才能安装vCenter Server。在Microsoft SQL Server Express版本是VMware vCenter Server的嵌入式数据库之前,PostgreSQL从vSphere 6.0成为嵌入式数据库。vCenter Server数据库存储有关虚拟基础架构清单对象的信息,例如ESXi主机信息,虚拟机信息以及性能数据。