一文建立对CITA联盟链解决方案的认识

行业热点3年前 (2021)发布 qkledit
246,204 0 0

CITA是中国为数不多的联盟链发展框架之一。今天,本文将总结与CITA相关的资料,建立读者对CITA的理解。

首先,联盟链和公链在发展中是共同的,因此DAPP也在CITA上发展。为了实现DAPP的开发,需要一套完整的组件,并最终总结成一个解决方案。

citahub提供了一整套开源区块链解决方案,体现了citahub的完整解决方案。在citahub中,CITA是底层区块链核心。围绕CITA,我们提供了一个开源工具链CITA工具链来改进基础设施,以便运营商、开发人员和最终用户能够快速使用它,

与CITA的直接数据交互包括CITA SDK和CITA cli。这位官员基于CITA SDK构建了四个工具:rebirth、CITA IDE、CITA truffle box和CITA web调试器。

它还为特定的业务需求和开发场景提供了三种工具:Microsoft、cyton wallet和CITA cli。此外,还有第一个永远的演示。通过开发或运行此演示,您可以熟悉CITA工具链的大多数子工具,并基本掌握DAPP的开发;系统的操作流程。

从功能定位来看,CITA是一个支持企业应用智能合约的高性能区块链核心,旨在为企业区块链应用提供一个稳定、高效、灵活、未来适应性强的运营平台。

基于工程实施理念,在区块链技术发展的背景下,CITA将区块链节点的必要功能解耦为六个微服务:RPC、auth、consensus、chain、executor和network。组件通过消息总线交换信息并相互协作。通过配置和定制相应的服务,CITA可以满足企业用户的所有需求。

CITA的框架

整个citahub的完整组成如下图所示,各部分解耦后成为各功能的载体。让我们看看每个部分的功能分解。

一文建立对CITA联盟链解决方案的认识

内核

CITA微服务于区块链节点的共识、网络、计算、RPC和其他功能。每个微服务可以有多个实例。最后,这些实例一起完成节点的记帐功能。这样,区块链性能的扩展可以转化为节点的扩展。当性能不足时,插入服务器以分担节点的工作压力。同时,对一致性机制和底层逻辑进行了深入优化,如使用rust语言构建所有代码。

实测数据:由4核8g虚拟机组成的CITA性能达到每秒2900个简单事务;由32个核心64g虚拟机组成的CITA的性能超过每秒15000个简单事务。如果使用集群构建节点,性能会更高,因此CITA的性能足以应对大多数应用场景。

CITA Toolchain

作为CITA生态系统的重要组成部分,CITA工具链旨在使开发人员更方便地使用CITA或基于CITA构建应用程序。

CITA SDK和CITA cli直接与CITA交互。

CITA SDK是工具链的核心。它封装了CITA上重复和繁琐的操作,并向开发人员公开了简单的接口。开发人员可以使用此SDK构建应用程序。

这位官员基于CITA SDK构建了四个工具:rebirth、CITA IDE、CITA truffle box和CITA web调试器。

CITA cli是一个非常友好的系统操作和维护工具。

CITA SDK

CITA SDK分为不同的语言版本:Java SDK、JavaScript SDK、ruby SDK、swift SDK和rust SDK。

JavaScript SDK基于以太坊Web3进行封装,添加了CITA的json rpc请求和CITA的签名模块,构建了CITA IDE、CITA块菌盒和CITA web调试器。

Java SDK集成了与CITA客户端交互的功能。它可用于向CITA发送事务、部署智能合约、调用合约方法、配置系统以及查询其他信息。

Swift SDK用于构建cyton wallet的IOS端。

ruby SDK用于构建重生。

rust SDK是CITA json rpc客户端的rust实现。

ReBirth

Rebirth是为CITA提供的区块链缓存服务器,能够满足检索区块和提供erc20交易列表的业务功能需求。如果这些功能直接在底层实现,它们将影响性能。

CITA IDE

CITA IDE是CITA的智能合约编辑器,可以编写、编译、调试和部署智能合约。

CITA Truffle Box

CITA块菌盒是一种DAPP;基于块菌盒为CITA定制;全面开发框架包括编写合同、编写合同、测试合同、部署合同和构建DAPP。因此,DAPP;是在CITA的基础上发展起来的;这种体验与以太坊上的体验非常一致。

CITA网络调试器

作为DAPP的CITA web调试器;调试工具是一个基于Chrome浏览器的插件。用户正在开发DAPP;在手机上调试很不方便。使用CITA web调试器可以在浏览器上调试事务功能,并轻松获得特定事务的详细信息和反馈。

此外,该官员还针对特定的业务需求和开发场景提供了三种工具:cyton wallet、CITA CLI和Microsoft。

Cyton钱包

Cyton钱包分为Android版和IOS版。它提供帐户管理功能(私钥、助记符、密钥库)以及代币管理和传输功能,并内置DAPP;浏览器同时,它依靠rebirth提供本地代币和erc20代币的事务列表。

CITA CLI

CITA CLI是用于调试开发中的CITA的命令行工具。与CITA chain的交互可以通过CITA CLI操作支持搜索历史命令,默认支持secp256k1和2加密算法。

Microscope

Microsoft区块链浏览器可用于查询所有CITA链上的信息,支持基于CITA的多链,并在元数据面板中切换目标链。它支持搜索区块、交易、帐户信息和调用智能合约方法。它还可以与rebirth一起使用,实现指定组合条件下的区块交易列表查询、分析CITA工作状态等高级功能。

CITA的经济模选择

作为企业的高性能区块链核心,CITA拥有支持智能合约的虚拟机。用户发送的事务中的每个操作(转账、呼叫合约、部署合约)都将消耗某些资源。此处消耗的资源按配额计算。

为了管理和控制链中有限的计算资源,有必要设计链的经济模。在实际业务场景中,链运营商(启动链,维护浏览器和其他链的生态)、簿记员(矿工,提供计算资源)、用户(使用链上的计算资源)和其他参与者的角色是常见的。经营者和簿记员可以由同一方承担,也可以是具有独立利益需求的不同参与者。

作为一个通用区块链内核,CITA提供了许多配置参数,用户可以根据自己的业务场景定制经济模。一般来说,可分为两种模式:

Quota 模式

系统默认为不带代币的模式。系统仅统计用户事务消耗的资源。

参数设置。通过设置配额限制,系统可以限制区块内交易的总体资源消耗,或者为单个账户设置区块内交易的资源消耗限制。有关详细信息和操作,请参见配额模式。

场景示例:

几个企业组成联盟来运行区块链,每个成员既是“矿工”(维护区块链账本)又是用户(消耗计算资源)。矿工“自由”工作以维持系统稳定。可以为此场景选择配额模式。

Charge 模式

有一种代币模式,本机代币在链上发布。系统首先统计用户事务(quotaused)消耗的资源,并将其转换为本机代币向用户收费。收费有多种灵活的分**式,方便用户根据业务场景进行定制。

参数设置。与配额模式一样,收费模式还可以设置配额限制,以限制块中事务的总体资源消耗,并为帐户的单个事务设置资源消耗限制。并且可以灵活设置代币的总量和分**式。在连锁经营过程中,还可以通过设置quotaprice来调节手续费。

CITA对隐私保护的选择

在CITA的框架下,为了保护“账簿”的隐私,采用了多种技术解决方案来保护用户身份和上行数据的隐私。

如果使用加密方案,所有参与者都参与数据有效性和合法性的验证,但只能提供传输隐私,具有前向安全风险。它可以保护用户身份和交易数据的隐私。

如果使用零知识证明技术。证明人应向验证人提供交易发送方和接收方的身份和交易详情证明,证明内容不得披露交易双方的身份和交易详情。有效的数据隔离;无远期安全风险。交易数据可以受到隐私保护。

在集成了多种多链和跨链方案后,CITA在底部实现了一个侧链方案,以实现隐私交易。几个相关的合作伙伴一起构成一个主链。一些参与者可以向主链注册一个侧链,并在侧链上进行交易和验证,从而将侧链数据与主链数据分离,从而实现侧链交易数据的隐私保护。该方案无集中风险,灵活性高。

此外,它还需要参与共识和要共享的核心数据,将其与其他数据分离,如合同明文、海量数据、隐私和个人信息,脱敏后将数据放在链上,或将数据摘要放在链上,并在必要时授权访问明文和其他数据。链外存储是要保护的私有数据,而链上是可以公开的数据。该方法目前是一种可行的方案,可以基于CITA进行设计和实现。

最后,如果使用可信硬件,总体架构可以简洁,对存储空间的要求低,灵活性高;但是,这取决于制造商。该方法可以保护用户身份、上行数据(交易数据、证书存储数据)和智能合约的隐私。

例如,SGX隐私保护技术被应用于通过计算机的核心处理器CPU构建可信的执行环境。SGX可以将智能合约中的关键操作封装到enclave中,甚至操作系统或VMM(hypervisor)也不能影响enclave中的代码和数据。Enclave的安全边界仅包括CPU和自身,极大地保证了数据的安全性。CITA表示,目前已有项目已搭建CITA联盟链平台,并使用SGX trusted execution environment技术实现交易数据隐私和监管渗透。

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...