Hyperledger系列供应链金融
发布于 3 个月前 作者 stvenyin 367 次浏览 来自 fabric
  • 深夜,别人睡觉,正是差异拉取的时候
  • 关于我,有情怀
  • 含分布式账本和智能合约。

*** 什么是分布式账本**

  • 一个只允许记录或者交易日志追加的系统。
  • Blockchain (区块链) 可以用来记录承诺、交易或者简单的我们不想让它消失的条目。
  • 在给定网络的所有节点中,它都存在备份,不可能被擦除或者修改。
  • (基于共识机制,擦除或者修改,意味着要修改所有节点中至少一半节点的内容,作弊成本非常高,几乎不可能。)
  • 交易按照区块链中的顺序处理,处理的结果就是一个分布式账本。
  • 智能合约
  • 是一段代码或者复杂的程序,它们存储在区块链上,并且在区块链上执行。这个代码会在不同的节点上同时执行。
  • 智能合约的运用举例:
  • 假设一个农场主,为他的农作物买了保险,如果极端天气的气温超过50度,并且天数超过了100天,那么保险公司要赔偿100万。
  • 现在,这样的合约是线下签订,当事情发生的时候,保险公司可能会找各种理由拒绝赔偿。
  • 当使用智能合约的时候,极端天气发生后,100万会自动打入农场主的账号,这是代码自动执行的,而且是不可撤回的。
  • 区块链不是加密货币
  • Cryptocurrency(cryptography + currency的组合),即加密货币,是比特币、以太币这样的。而区块链不等同于这些。加密货币仅仅是基于区块链的一个应用。
  • 为什么使用商业区块链
  • 全球的商场都有账本,组织和个人一样,都必须相信账本。
  • 大多数企业区块链应用都是基于,真实世界的信任关系。它的目标是建立一个生态系统,使更多的可信的合作伙伴加入进来。
  • 在一个被限制的网络中,参与者彼此了解,他们很有兴趣参与相同的活动。不需要POW(工作量证明),他们能够解决更即时的问题。
  • 商业区块链组件术语
  • Consensus Layer,在交易的顺序和正确性上达成共识
  • Smart Contract Layer,处理交易请求,并且通过执行商业逻辑代码来判断这个交易是否有效。
  • Communication Layer,负责节点间peer to peer的消息传输
  • Data Store Abstraction,允许其它的模块使用不同的数据库存储
  • Crypto Abstraction,允许不同的加密算法或者模块相互替换,而不影响其它的模块。
  • Identity Services,在启动区块链实例的时候,保证建立一个最根本的信任。登录或者注册时候的身份验证,网络操作时候的身份验证。同时,进行对身份的管理,包括删除、增加、更改等。提供身份的验证和授权。
  • Policy Services, 系统中各种各样的策略的管理。例如,背书策略、共识策略、分组管理策略。它和其它的模块进行交互,并且是依赖其它的模块来强制执行这些策略。
  • APIs,使客户端和程序能够和区块链进行交互。
  • Interoperation,支持不同区块链实例间的互操作。
  • Hyperledger模块化设计
  • Hyperledger像Linux一样,是模块化设计。

image.png

  • Hyperledger区块链框架

  • Hyperledger Fabric,作为开发程序,或者解决模块架构问题的基础架构。它允许组件,像共识服务、成员服务是可插拔的。

  • Hyperledger Iroha,一个商业的区块链框架,可以简便的嵌入到需要用到分布式账本技术的项目中。

  • Hyperledger Sawtooth,一个构建、部署、运行分布式账本的平台。它包含一个共识算法,Proof of Elapsed Time (PoET),它的目标是,大量的分布式验证人群,使用更少的资源消耗。

  • Hyperledger Burrow,一个许可的智能合约机制。

  • Hyperledger Indy,提供区块链上数字一致性的工具、库、可重用的组件,这样就可以在管理区域、程序、或者其它的仓库之间进行互操作。

  • 使用场景

  • 跨国支付,健康信息记录,食物安全供应链,钻石供应链,难民身份ID,真正的房地产交易,音乐媒体产权,绿色能源管理(中国二氧化碳排放量)

Hyperledger Composer

  • 是一系列的,用于构建区块链商业网络的协同工具。它帮助商业主更简单、更快的构建,帮助开发者创建智能合约和区块链应用来解决商业问题。它用JavaScript,和更现代化的工具,包括node.js、npm、CLI等。Composer提供的是一个商业抽象,具体可以参考汽车商业的例子。
  • 通过使用Hyperledger Composer,一个商人可以和开发者合作,
  • 定义在区块链使用场景中的资产
  • 定义商业规则,来决定什么样的交易是可以的
  • 定义参与者、身份识别和访问权限的控制,存在哪些角色,哪些角色可以执行哪种类型的交易
  • 开发者做如下的事情:
  • 做出可重用的、商业网络中的核心组件—资产、参与者、交易逻辑和商业网络的访问控制。然后,这个商业网络可以在多个公司之间进行分享。
  • 生成JavaScript和REST APIs,以便和程序、遗留系统交互。创建概要程序,并在商业网络上运行分析。
  • 开始开发和测试,然后把这个商业网络部署到线上的Hyperledger Fabric或者其它的区块链网络实例上。
  • 采用Hyperledger Composer的区块链客户端,有如下的优点:
  • 更快的创建区块链程序
  • 经过良好的测试、高效的设计,减少风险
  • 高度的抽象,更容易迭代,可扩展性高Hyperledger Composer包括下面几个主要组件:
  • 商业网络压缩包:抓取商业网络中的核心数据,包括商业模型、交易逻辑、访问控制。商业网络压缩包把这些元素打包起来,并把它们部署运行。
  • Composer场地:这个基于网络的工具,允许开发者学习Hyperledger Composer、为商业网络的建模,测试网络并部署到线上环境。Composer场地提供了一个商业网络样例的库,可以据此创建自己的商业网络。
  • REST API支持和整合的能力:一个商业网络的LoopBack连接已经被开发好了,它把一个运行的商业网络,作为REST API的方式暴露出来。这样商业网络可以和客户端程序交互,也可以很容易的和非区块链程序整合。
回到顶部