区块链的功能架构

区块链的功能架构

一个了解区块链技术范围的方法是,学习其具备的核心功能。这一部分描述了一个通过对市场上存在的各种方法进行分析归纳后得出的通用的模块构造方式。

在2016年,看上去市场上这样的方式有很多,但是这其中存在整合机会,并且我们将逐渐减少底层架构的讨 论,而增加对顶层能力的研究。最终,这种类型的基础设施架构技术将会被认为是理所应当的,并且其大部分会被整合成“开箱即用”的模式,而非像以前那样弄成 “宜家盒子”(IKEA box)的方式。

以下是区块链技术的核心部分:

image.png

下面我们将详细介绍上述每个部分的功能。

其他区块链所需特性

● 加密交易(保密传输)。

● 监控(统计和分析)。

● 审计。

● 安全。

链外服务

● 声誉。

● 信息。

● 存储(例如DHT、文件系统)。

● 交换(例如资产、现金流等)。

● 支付网关。

最终用户视图

● 命令行。

● 特殊浏览器。

● 钱包。

● 应用。

● 可下载客户端。

链内服务

● 时间戳。

● 签名证书。

● Oracles认证。

● 身份认证管理(例如线上检验、合法检验、防伪检验)。

● 投票。

● 智能合约管理。

● 标记。

● 信息。

● 资产连接。

● 存在性证明。

区块链软件技术的发展

各种各样关于区块链的软件技术发展,包括以下多个方面:

● API(应用程序编程接口)。

● 多种客户端的实现(例如C++、Python、Go、Java、HaskeⅡ等)。

● 集成开发环境和快速应用程序开发框架。

● 智能合约语言和脚本。

● 测试工具。

● 沙箱环境(Sandbox environments)。[4]

内核与协议

P2P网络

P2P网络是一种通过节点方式相互连接的集成网络,也是一种不断合成的拓扑结构。它是区块链的一项最基本的 功能元素。每个节点都在相同的网络中运行,因此它们会提交整个网络固有的冗余,这意味着一旦一个节点停止工作或者不再响应,在网络中的其他节点会进行修正 弥补。其实从本质上而言,一个P2P网络很难崩溃,除非我们关闭每一个运行的节点。

一致性算法

规定哪些和多少节点可以参与到确认交易之中的各种方法,是一致性算法配置的一部分,并且它们可以帮助确认结果是公共的、私有的还是半私有形式的。数据挖掘可能不会涉及其中,钥匙和签名证书是该功能的一部分。

早期区块链的发展被诸多对哪种共识是有效的热议困扰,但是随着这些技术的日渐成熟,在2018年之前,这种形式的一致性算法将会成为不断争议的话题。当然,只要这种算法是有效的、安全的,它就会被广泛支持。

虚拟机

这是一个被著名JVM(Java虚拟机)方法借鉴的概念,在区块链发展的环境下它是由以太坊发起的。虚拟机 描述了部分处理内部状态和计算的协议。它可以被视为一个巨大的包含数以万计账户信息的分布式计算机(事实上是由几个P2P机器构成),该计算机可以更新内 部数据库,编译代码,同时相互作用。应用智能合约语言编写的程序,可以被编译进虚拟机当中,并且创建你发送包含代码交易的合约。

历史记录

交易在连续的数据区块当中被记录(因而形成区块链一词),所以这是一个历史的、只能添加这些持续进行和更新 交易的日志文件。把区块链仅仅看作分布式账目,这是一个谬论,在技术层面上,它不是,但它行使类似职能,因为在数据区块中的连续交易记录等同于分布式账 目。然而,你可以搭建一个基于区块链提供历史记录的不可变分布式账目应用程序。

状态余额

比特币并非围绕着账户的概念而设计,尽管账户是一个常用记录交易发生的地方,因为我们同样也习惯于查看我们 的银行交易记录。更深一步来讲,比特币应用了一种名为未消费交易输出(Unspent Transaction Outputs,简称UTXO)的方法,这是一个可以把未消费交易作为输出,并作为新交易中的输入而消费的方法。其他区块链运用不同的方法持续跟踪状态余 额。Ripper网络中的金钱都用“债务”表示,所有交易均表现为账户余额的变化。在以太坊当中,状态是由名为“账户”的对象构成。在每个“账户”当中可 以进行直接的价值和信息之间状态转换。

image.png

去中心化的应用程序的编写

区块链的一致性过程在本质上是去中心化的,这必然催生了新一代的去中心化的应用。一个分布式应用程序可以从技术上、政治上或两者兼有地去中心化。

现实情况是分布式应用程序不能支持所有情况,同样,不是所有的情况都能有效契合分布式应用程序范例。然而,依然有很多能够适合区块链分布式范例的应用,并且这将意味着对开发者、创新者和远见者而言又多了很多机会。

分布式应用程序首先要求对所有权、交易需求和逻辑制定它们自己的规则。下面是一些编写分布式应用程序时的复杂规则:

1.使用加密电子货币(crytocurrentcy)作为支付服务的货币单位。

2.使用区块链服务作为一种特性,举例而言就是注册资产或验证其真实性的一个过程,一般通过API得以实现。

3.在区块链上使用智能合约来运行一些商业逻辑,如果特定条件能满足的情况下可以返回一个特殊值,比如金融衍生品。在该种情况下,将会产生一个其所有权和使用权归属于区块链的数字资产。

4.用一种更加基础的方式使用区块链,此时应用程序离开区块链将无法行使其职能。一般而言,你将会建立一个以节点方式存在的特殊P2P网络,比如OpenBazaar——一个分布式应用程序。

5.在没有经济象征或货币单位的情况下,使用你自己的区块链(可以与他人分享)。这就是很多被许可的区块链在企业之中得以运行的原因。

6.在包含经济象征或货币单位的情况下,使用你自己的区块链(或另一个区块链)去创建价值的经济网络,比如MaidSafe,该系统创造了一个为P2P网络用户提供闲置计算机资源的市场。

来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=463

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值