BlockChain 介绍

来源:互联网 发布:游戏秘籍输入器源码 编辑:程序博客网 时间:2024/06/07 22:54

本节概述了编织成Hyperledger Fabric的关键设计功能,以实现其全面但可定制的企业版块解决方案的承诺:

  • 资产 - 资产定义使得几乎可以从网络中获得货币价值的任何东西,从整个食品到古董车到货币期货。
  • 链码 - 链码执行从事务排序中分离,限制跨节点类型所需的信任和验证级别,并优化网络可扩展性和性能。
  • 分类帐特征 - 不变的共享分类帐编码每个渠道的整个交易历史记录,并且包括类似SQL的查询功能,用于高效的审计和争议解决。
  • 渠道隐私 - 渠道可以通过竞争企业和受管制行业在公共网络上进行资产交换所需的高度隐私和保密性进行多边交易。
  • 安全和会员服务 - 许可的会员提供了一个可信赖的块链网络,参与者知道所有的交易都可以被授权的监管机构和审计人员检测到并跟踪。
  • 共识 - 一种独特的共识方法可以实现企业所需的灵活性和可扩展性。

资产

资产范围从有形(房地产和硬件)到无形(合同和知识产权)。 Hyperledger Fabric提供使用链码交易来修改资产的能力。

资产在Hyperledger Fabric中表示为键值对的集合,状态更改在通道分类帐上记录为事务。资产可以用二进制和/或JSON形式表示。

您可以使用Hyperledger Composer工具轻松地定义和使用Hyperledger Fabric应用程序中的资产。

Chaincode

链码是定义资产或资产的软件,以及用于修改资产的交易指令。换句话说,这是业务逻辑。链码强制读取或更改键值对或其他状态数据库信息的规则。链码功能针对分类帐当前状态数据库执行,并通过事务提议启动。链码执行导致一组可以提交到网络并应用于所有对等体上的分类帐的键值写入(写入集)。

分类帐特点

分类帐是fabric中所有状态转换的顺序,防篡改记录。状态转换是参与方提交的链码调用(“交易”)的结果。每个事务都会导致一组资产键值对,它们作为创建,更新或删除而提交给分类帐。

分类帐由块(’chain’)组成,用于存储块中不变的,有序的记录,以及状态数据库以保持当前的结构状态。每个渠道有一个分类帐。每个对等体为其所属的每个通道保留分类帐的副本。

  • 使用基于键的查询,范围查询和组合键查询的查询和更新分类帐
  • 使用丰富的查询语言(如果使用CouchDB作为状态数据库)的只读查询
  • 只读历史查询 - 关键字的查询分类帐历史记录,实现数据来源方案
  • 事务由在链码(读集)中读取的键/值的版本和以链码(写集)编写的键/值组成。
  • 交易包含每个认可同行的签名,并提交订购服务
  • 事务被排序成块,并从订单服务“传送”到通道上的对等体
    对等人根据认可政策验证交易,并执行政策
    在添加块之前,执行版本控制以确保从链码执行时间开始,已读取的资产的状态没有更改
  • 一旦事务被验证并被提交,就有不变性
  • 频道的分类帐包含一个定义策略,访问控制列表和其他相关信息的配置块
  • 频道包含会员服务提供商实例,允许从不同的证书颁发机构派生加密资料
  • 请参阅分类帐主题,以便更深入地了解数据库,存储结构和“查询能力”。

通过渠道隐私

Hyperledger Fabric在每个通道的基础上采用不可变的分类帐,以及可以操纵和修改当前资产状态(即更新键值对)的链码。分类帐存在于通道的范围内 - 它可以在整个网络中共享(假设每个参与者都在一个公共通道上运行) - 或者可以将其私有化,只包括一组特定的参与者。

在后一种情况下,这些参与者将创建一个单独的渠道,从而隔离/隔离其交易和分类帐。为了解决希望弥合完整透明度和隐私之间差距的场景,chaincode只能安装在需要访问资产状态以执行读写操作的对等体上(换句话说,如果链码没有安装在对等体上,它将无法正确地与分类帐连接)。为了进一步模糊数据,链码内的值可以使用常用的加密算法(如AES)进行加密(部分或全部),然后追加到分类帐。

安全和会员服务

Hyperledger Fabric支撑着一个交易网络,所有参与者都具有已知的身份。公共密钥基础设施用于生成与组织,网络组件以及最终用户或客户端应用程序相关联的加密证书。因此,可以在更广泛的网络和信道级别上操纵和管理数据访问控制。 Hyperledger Fabric的“许可”概念,加上渠道的存在和功能,有助于解决隐私和机密性至关重要的场景。

请参阅会员服务提供商(MSP)主题,以更好地了解加密实现,以及在Hyperledger Fabric中使用的签名,验证,验证方法。

共识
在分布式分类帐技术中,共识最近已成为单一功能中特定算法的代名词。然而,共识不仅仅是简单地同意交易顺序,而是通过其在整个交易流程中的基本作用,从提案和认可到订购,验证和承诺,在Hyperledger Fabric中强调了这种差异化。简而言之,共识被定义为对包含块的一组交易的正确性的全圆验证。

当块的交易的顺序和结果符合明确的政策标准检查时,最终达成共识。这些制衡是在交易的生命周期内进行的,包括使用认可政策来规定哪些特定成员必须认可某个交易类,以及系统链式代码,以确保这些政策得到执行和维护。在承诺之前,同行将采用这些系统链码来确保有足够的认可,而且它们是从适当的实体派生的。此外,将在分类帐的任何块包含事务的任何块附加到分类帐之前进行版本控制。此最终检查提供了针对双重支出操作和可能危及数据完整性的其他威胁的保护,并允许对非静态变量执行函数。

除了发生的许多认可,有效性和版本检查之外,还有在交易流程的所有方向上进行的持续身份验证。访问控制列表在网络的层次层次上实现(从订购服务到通道),并且随着事务提议通过不同架构组件,有效负载被重复签名,验证和验证。总而言之,共识不仅仅局限于一批交易的商定订单,而是作为在交易从提案到承诺的过程中进行的正在进行的验证的副产品而实现的总体表征。

原创粉丝点击