北大青鸟java培训:组成区块链基础运算功能的组织架构内容?

Python014

北大青鸟java培训:组成区块链基础运算功能的组织架构内容?,第1张

随着互联网的都不发展,消费者对区块链技术和数字虚拟货币的认知程度也在不断的提高。

今天,我们就一起来了解一下区块链技术的基础运算方法都有哪些结构构成的。

下面java课程http://www.kmbdqn.cn/就一起来了解一下具体情况吧。

构成计算技术的基本元素是存储、处理和通信。

大型主机、PC、移动设备和云服务都以各自的方式展现这些元素。

各个元素之内还有专门的构件块来分配资源。

本文聚焦于区块链的大框架:介绍区块链中各个计算元素的模块以及各个模块的一些实现案例,偏向概论而非详解。

区块链的组成模块以下是去中心化技术中各个计算元素的构件块:存储:代币存储、数据库、文件系统/blob处理:有状态的业务逻辑、无状态的业务逻辑、高性能计算通信:数据、价值和状态的连接网络存储作为基本计算元素,存储部分包含了以下构件块。

代币存储。

代币是价值的存储媒介(例如资产、证券等),价值可以是比特币、航空里程或是数字作品的版权。

代币存储系统的主要作用是发放和传输代币(有多种变体),同时防止多重支付之类的事件发生。

比特币和Zcash是两大“纯净”的、只关注代币本身的系统。

以太坊则开始将代币用于各种服务,以实现其充当全球计算中心的理想。

这些例子中代币被用作运营整个网络架构的内部激励。

还有些代币不是网络用来推动自身运行的内部工具,而是用做更高级别网络的激励,但它们的代币实际上是存储在底层架构中的。

一个例子是像Golem这样的ERC20代币,运行在以太坊网络层上。

另一个例子是Envoke的IP授权代币,运行在IPDB网络层上。

数据库。

数据库专门用来存储结构化的元数据,例如数据表(关系型数据库)、文档存储(例如JSON)、键值存储、时间序列或图数据库。

数据库可以使用SQL这样的查询快速检索数据。

传统的分布式(但中心化)数据库如MongoDB和Cassandra通常会存储数百TB甚至PB级的数据,性能可达到每秒百万次写入。

SQL这样的查询语言是很强大的,因为它将实现与规范区分开来,这样就不会绑定在某个具体的应用上。

SQL已经作为标准应用了数十年,所以同一个数据库系统可以用在很多不同的行业中。

换言之,要在比特币之外讨论一般性,不一定要拿图灵完备性说事。

你只需要一个数据库就够了,这样既简洁又方便扩展。

有些时候图灵完备也是很有用的,我们将在“去中心化处理”一节具体讨论。

BigchainDB是去中心化的数据库软件,是专门的文档存储系统。

它基于MongoDB(或RethinkDB),继承了后者的查询和扩展逻辑。

但它也具备了区块链的特征,诸如去中心化控制、防篡改和代币支持。

IPDB是BigchainDB的一个受监管的公开实例。

在区块链领域,也可以说IOTA是一个时间序列数据库。

文件系统/blob数据存储。

这些系统以目录和文件的层级结构来存储大文件(电影、音乐、大数据集)。

IPFS和Tahoe-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)包含crypto-conditions(CC)协议,以便清楚地标出组合电路。

CC很好理解,因为它通过IETF成为了互联网标准,而ILP则在各种中心和去中心化的支付网络(例如超过75家银行使用的瑞波)中广泛应用。

CC有很多独立实现的版本,包括JavaScript、Python、Java等。

BigchainDB、瑞波等系统也用CC,用以支持组合式业务逻辑/智能合约。

其实框架很简单的,你可以认为它是一个工具,甚至一个插件。框架的作用,就是将一个公用的,常用的技术,封装起来,帮你处理一些基础的东西,可以让你不用再去写那些繁琐的东西。就拿你要学的struts来说:他本质上也是用java写的,和我们自己写的类没有区别,他实现的东西我们自己也可以实现。比如接收客户端的数据,我们是用request.getParameter()来的,但是如果有很多个参数,我们要写很多个,很麻烦。struts它就帮我们实现,不用我们写,直接写个属性,就可以得到。其实本质还是用request.getParameter()。。所以你不要再在意框架是什么东西,等你接触了就知道了。你把它当做一个工具来用,这就是框架。