CITA - 面向企业级应用的支持智能合约的区块链框架


GPLv3
跨平台
Rust

软件简介

「Nervos AppChain」是一套开源的应用公链解决方案。它主要为 B
端用户解决「搭建区块链困难」和「开发区块链应用困难」这两个问题。我们在市场痛点调研中发现,很多行业或企业联盟有商业资源,具备一定传统应用系统的开发能力,也有意愿搭建一条自己的区块链,但当前市场并没有一个完整的的技术方案来支撑开发。同时,许多的应用开发者们想要开发一些酷炫的区块链应用,但他们常常被以太坊的低性能所拖累。而我们尝试通过推出一套产品,即
Nervos AppChain,来解决这个问题。Nervos AppChain 组件包括:区块链内核 CITA、DApp 钱包 Neuron、区块链浏览器
Microscope、区块缓存服务器 Re-birth、软件开发工具包 Nervos AppChain SDK。

CITA 作为 Nervos AppChain
的区块链内核,为保证性能,采用了微服务架构。同时,在功能方面,它可以配置成许可链也可以配置成公有许可链。前者作为成熟产品在过去两年中成功地支撑了多家银行和金融机构的区块链创新业务。后者则专门针对各类商业应用做了改进,包括支持灵活的激励机制(原生代币经济模型)和治理机制(通过智能合约进行记账节点配置、权重分配等)。

项目介绍

CITA(Cryptape Inter-enterprise Trust Automation)是一个面向企业级应用的支持智能合约的区块链框架,
旨在为企业级区块链应用提供一个稳固、高效、灵活、可适应未来的运行平台。 CITA
将区块链节点的必要功能解耦为六个微服务:RPC,Auth,Consensus,Chain,Executor,Network。各组件之间通过消息总线交换信息相互协作。
通过配置和定制相应的服务,CITA 能够满足企业级用户的全部需要。

CITA github 首页:https://github.com/cryptape/cita
CITA 技术白皮书:https://github.com/cryptape/cita- whitepaper/blob/master/zh/technical-whitepaper.md

商业应用

目前 CITA 的应用主要有:证券交易和结算、跨境支付、金融衍生品交易、 碳排放权交易、联合贷款、资产发行和交易、公益慈善、票据交易、物联网防伪、
法律合同存证等。其中,应用领域趋势有:法定数字货币、KYC&AML、资产登记、证券交易和清结算、数字票据衍生品、供应链金融。

优势

水平扩展性

在 CITA 的微服务架构中,“节点”是一个逻辑概念,有可能是一台服务器(一台服务器上面运行一组微服务), 也有可能是一组服务器组成的集群,同时 CITA
还支持部署在云服务器上,充分利用了各种服务器硬件来提升处理能力。 节点与节点之间通过P2P通信,节点内部各模块通过消息总线通信,这一点与 Fabric
仅仅在共识模块运用消息总线通信完全不同。

组件可插拔

松耦合的微服务架构,便于各组件将来平滑迁移至更好的算法(比如新的共识算法)或者更好的技术方案(比如新的DB或者新的隐私方案);
也有利于针对一些具体的业务场景,定制一些特定的功能。

高性能

微服务架构将 Chain 与 Executor 独立出来,Executor 仅负责计算和执行交易,Chain 负责存储交易,
使得计算和存储分离,极大程度的提高了交易处理能力; 编程语言采用 Rust,Rust
强调并秉持零开销抽象的理念在提供诸多高级语言特性的同时,没有引入额外的开销,性能可以媲美 C++。 最新版本的交易性能已经可以达到 15,000+
TPS(数据来自 CITA 0.16 版本,在四台 32 核,64G 的云服务器上部署 4 个节点,每台服务器配置百兆带宽)

稳定可靠

CITA 提供快照工具来对区块链的数据进行备份,可在较短时间内恢复链数据。 同时,Rust 借鉴了编程语言领域最新的研究成果,针对
C++中最头疼的内存问题(内存泄漏,野指针)进行编译器静态检查。 只要代码编译通过,就可以保证没有以上问题,大大提高了应用运行阶段的可靠性。

兼容性

CITA上支持使用 Solidity,Go 语言,Rust 开发智能合约,同时也支持以太坊的所有开发工具(Truffle,Zeppeling,Remix
等)。

跨链

在区块链世界里,各种各样的链在不断的涌现出来。这些链如何互相配合形成区块链网络? CITA
目前提供了一个简单的跨链协议来支持主链与侧链之间的通信。我们也正对跨链通信做更多的探索,旨在扩大在各种链上运行的应用程序的价值。

工程经验

CITA 现在已经在银行,证券,票据等实际生产环境中运行,这其中我们积累了大量工程经验。

白皮书

文档

CITA 首页

  • 快速入门

  • 系统管理

  • JSON-RPC 指南

  • 系统合约指南

  • 架构设计

  • 跨链

  • 参考

  • 贡献代码

英文版

中文版

API/SDK

CITA 支持 JSON-RPC 和 WebSocket (experimental) API/v1。
对于 CITA 的 API/v1,你可以使用任意的 HTTP 代理,或者下面的 SDK:

社区贡献

CITA 目前仍在紧张的开发中,欢迎大家为 CITA
贡献自己的一份力量。更详细的信息可以参考贡献指南

相关博客

项目进展:

首发 | Nervos
项目发展路线图

Nervos AppChain v0.1
Release!

Nervos AppChain v0.2
Release!