北大青鸟设计培训:区块链基础计算职能的组织结构是怎样的?
今天,我们来看看区块链技术的基本操作方法的结构。
下面java课程我们来看看具体情况。
计算技术的基本要素是存储、处理和通信。
大型机、PC、移动设备和云服务都以自己的方式呈现这些元素。
每个元素中也有特殊的构造块来分配资源。
本文重点介绍区块链的大框架:介绍区块链各计算元素的模块以及各模块的一些实现案例,偏重于概述而非详解。
以下是去中心化技术中每个计算元素的构建块:存储:令牌存储、数据库、文件系统/blob处理:有状态业务逻辑、无状态业务逻辑、高性能计算通信:数据、值和状态连接网络存储作为基本计算元素,存储部分包含以下构建块。
令牌存储。
代币是价值(如资产、证券等)的存储媒介。),价值可以是比特币、航空里程或数字作品的版权。
代币存储系统的主要功能是发行和传输代币(有多种变体),同时防止多次支付等事件的发生。
比特币和Zcash是两个“纯粹”的系统,只专注于代币本身。
以太坊开始使用代币进行各种服务,以实现其成为全球计算中心的理想。
在这些例子中,令牌被用作操作整个网络架构的内部激励。
有些令牌并不是网络用来推动自身运行的内部工具,而是作为更高一级网络的激励手段,但其令牌实际上是存储在底层架构中的。
一个例子是ERC20令牌,如假人,它运行在以太坊的以太网层。
另一个例子是Envoke的IP授权令牌,它运行在IPDB网络层。
数据库。
数据库专门用于存储结构化元数据,例如数据表(关系数据库)、文档存储(如JSON)、键值存储、时间序列或图形数据库。
数据库可以使用类似SQL的查询来快速检索数据。
传统的分布式(但集中式)数据库,如MongoDB和Cassandra,通常存储数百TB甚至数Pb的数据,性能可以达到每秒百万次写入。
SQL之类的查询语言是非常强大的,因为它区分了实现和规范,所以不会绑定到某个特定的应用。
几十年来,SQL一直被用作标准,因此同一个数据库系统可以用于许多不同的行业。
换句话说,讨论比特币之外的一般性,没必要谈图灵完备性。
你只需要一个数据库,简单易扩展。
有时候图灵完备性也很有用,我们会在“分散处理”一节详细讨论。
BigchainDB是一个去中心化的数据库软件和一个专门的文档存储系统。
它基于MongoDB(或RethinkDB)并继承了它的查询和扩展逻辑。
但它也具有区块链的特点,如分散控制、防篡改和令牌支持。
IPDB是BigchainDB的一个受监管的公开例子。
在区块链领域,也可以说IOTA是一个时间序列数据库。
文件系统/blob数据存储。
这些系统在目录和文件的分层结构中存储大文件(电影、音乐、大数据集)。
IPFS和太浩LAFS是分散的文件系统,包含分散或集中的blob存储。
FileCoin,Storj,Sia,Tieron都是去中心化的blob存储系统,还有老的优秀的BitTorrent,虽然后者用p2p系统代替令牌。
以太坊Swarm,Dat,Swarm-JS基本支持以上两种方式。
数据市场。
这个系统连接了数据拥有者(比如企业)和数据使用者(比如AI创业公司)。
它们位于数据库和文件系统之上,但仍然是核心架构,因为无数需要数据的应用(比如AI)都依赖于这样的服务。
Ocean是协议和网络的一个例子,可以基于它创建数据市场。
还有一些特定应用的数据市场:EnigmaCatalyst用于加密市场,Datum用于私有数据,DataBrokerDAO用于物联网数据流。
处理接下来,我们将讨论处理这个基本的计算元素。
“智能合约”系统通常是指以分散形式处理数据的系统[3]。
它实际上有两个属性完全不同的子集:无状态(组合)业务逻辑和有状态(顺序)业务逻辑。
无状态和有状态在复杂性和可验证性上有很大的区别。
三个分散处理模块是高性能计算(HPC)。
无状态(组合)业务逻辑。
这是一个任意的逻辑,不在内部保留状态。
在电子工程方面,可以理解为组合数字逻辑电路。
这种逻辑可以用真值表、示意图或带有条件语句的代码(if/then、and、or、not等判断的组合)来表示。
因为它们没有状态,所以很容易验证大型无状态智能合约,从而创建大型可验证的安全系统。
n个输入和一个输出需要o (2 n)次计算来验证。
交叉分类帐协议(ILP)包括密码条件(CC)协议,以便清楚地标记组合电路。
CC很好理解,因为它已经通过IETF成为互联网标准,而ILP广泛应用于各种集中式和分散式支付网络(如锐博,超过75家银行使用)。
CC有很多独立版本,包括JavaScript,Python,Java等等。
BigchainDB、Ripple等系统也使用CC来支持组合的业务逻辑/智能契约。