流程: 区块链三大主流技术简单梳理

2.3.科尔达(R3-Corda)架构

区块链三大主流技术简单梳理 在传统

3.1.2

排序节点收到该交易以后会按照通道进行拆分,拆分以后再进行排序,也就是说排序并不是全局排序,而是按照每一个通道单独排序,最后分别组装成区块发往主节点,通道之间是相互隔离的,它们并不会知道彼此的存在,但是每一个组织的节点都可以订阅多个通道。 Solo共识模式:指网络环境中只有一个排序节点,从Peer节点发送来的消息由一个排序节点进行排序和产生区块,由于排序服务只有一个排序节点为所有Peer节点服务,没有高可用性和可扩展性,不适合用于生产环境,通常用于开发和测试环境。 Kafka 共识模式:对所有交易信息进行排序(如果系统存在多个channel,则对每个channel分别排序)。Kafka是一个分布式的流式信息处理平台,目标是为实时数据提供统一的、高吞吐、低延迟的性能。 Etcdraft 共识模式:它是一种基于 etcd 的崩溃容错(CFT)排序服务。遵循 “领导者和追随者” 模型,其中领导者在通道中的orderer节点之间动态选出,该领导者将消息复制到跟随者节点。由于系统可以承受节点(包括领导节点)的丢失,只要剩下大多数排序节点(即所谓的“仲裁”),Raft就被称为“崩溃容错”(CFT)。换句话说,如果一个通道中有三个节点,它可以承受一个节点的丢失(剩下两个节点)。

3.3. 科尔达(Corda)共识

区块链三大主流技术简单梳理 系统中有多个公证人(notary),当一个公证人(notary)变更的时候,该对象的当前公证人把这件事广播通知系统中的所有其他公证人,其他公证人按照交易规则,查询自己的STXO库,看看这个对象是不是在自己这里以前发生过交易。如果共识的结论是这个对象目前不是STXO,因此可以交易,则系统中的各个notary就可以接受这个交易,并且将该对象记录到自己的STXO数据库中,使其成为已经交易的状态,从而杜绝这个对象未来可能的双花。而后,发布这个变更消息的notary,也应当根据这个共识的结果,最终确认这个变更交易,产生新的UTXO。这样一来,notary变更交易就正式完成了。反过来,如果共识的结论是“这个对象以前就是STXO”,那么各个节点就通过这个共识拒绝了这个交易,他们自身不需要做额外的动作,而发布变更消息的节点,也不应该为这个交易提供确认。

四. 结构流程:

应用程序发起一个交互请求到背书节点,背书节点收到这个消息之后会去调用容器管理模块看看链码容器是否在运行,如果没有启动就会去编译并且启动容器,启动后的容器会跟背书节点建立一个GRPC连接,连接建立好以后背书节点会从应用程序发送过来的请求转给链码进行执行,链码执行完成以后会返回一个执行后的结果,背书节点收到这个结果以后调用ESCC对这个结果进行签名背书,最后将背书结果返回给应用程序,这就是整个链码的交互流程。签名ESCC这是一种系统链码,虽然是链码但是它们运行在节点进程中的而不是链码容器的形式存在。 Fabric的SDK支持:go,java,node.js 区块链三大主流技术简单梳理

4.3 科尔达(Corda) State(状态):主要是对账本的操作,对数据的操作。主要API为Party(用来编辑数据属性状态)和ContractState(用来操作传递数据) Contract(合同):用Verify组件验证交易的有效性,智能合约的相关条件写在这个组件中。在Contract中账本的更新通过Transcantion来实现,主要是由Input和OutPut来操作。 区块链三大主流技术简单梳理 Flow(流程):开发者可以任意改变具体执行的顺序和节点的互动。 区块链三大主流技术简单梳理

五.对比

区块链三大主流技术简单梳理

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注