CITA 的全称是 Cryptape Inter-enterprise Trust Automation,翻译过来就是“秘猿企业间信任自动化系统”。 Cryptape 是一家公司,中文名是秘猿科技。本文是 CITA 的一个入门简介。
何为信任自动化系统
CITA 号称企业间信任自动化系统。咱们先来解释一下什么是信任自动化。
首先说什么是信任。我们生活中的信任通常是褒义词,例如,我们应该信任我们的朋友。但是在区块链和密码学领域,信任是一个负面的意思。比如,你跟我说你有三根白菜要换我的一根萝卜。有两种方法可以达成交易,一种是白菜萝卜都摆在当场,直接交换,这种过程显然是不需要信任的。但是另外一种方式是,我信任你,先把萝卜给你,回头你再把白菜给我捎过来。通过这个例子,我们可以看到,什么叫做信任?信任就是在我选择相信那些自己没办法验证的数据。可见,信任是一个安全漏洞。
而区块链给大家带来的是“去信任化”,或者说,区块链保证的是交易各方共享数据,只要有完备可信的数据在,交易过程就不需要信任了。而 CITA 就是一个开源的区块链项目,所以 CITA 能够实现去信任化,或者叫”信任自动化“。
CITA 如何保证性能
那 CITA 名字中另外的 Inter-enterprise ,也就是“企业间”,是什么意思呢?Enterprise 这个词,翻译过来叫企业,但是在英文中,小公司是不叫 Enterprise 的,这个词一般都是指大公司。而大公司的业务有什么特点呢?最明显的一个就是对处理速度要求高。例如,如果支付宝处理速度很慢,那就不能适应淘宝的购物要求了。CITA 设计的目标之一,就是要实现高性能的区块链。下面我们来说说 CITA 的基本哲学,看看它是如何满足企业高性能需求的。
首先,CITA 最常用方式是配置成联盟链。如果是无准入门槛的公链,那么整个网络都要受到处理能力最弱的节点的拖累,所以处理速度很难提高。而联盟链是有门槛的,不是谁都可以参与进来。所以完全可以去保证每个节点都有超强硬件配置。
其次,因为有准入门槛,所以是一个相对安全的网络,可以使用高效的共识算法。CITA 默认使用 CITA-BFT 算法进行共识。 CITA-BFT 是经过 CITA 项目优化过的拜占庭容错算法,只要作恶节点不超过三分之一,就可以保证安全,而这一点对于有入门审查的联盟链来说显然很容易达成的。审查也意味着每个节点都是有名有姓的,所以就不存在公有链的那种一个人可以冒充很多人的情况,也就是所谓的女巫攻击在联盟链这里根本不是问题。这些条件就导致了算法可以设计的很简单明了,于是就可以运行的很快。CITA 也允许企业根据自身需要不使用 CITA-BFT 而去替换成其他共识算法。
第三,CITA 利用微服务架构提高了节点处理能力。CITA 将区块链节点的必要功能解耦为六个微服务:RPC,Auth,Consensus,Chain,Executor,Network 。各个微服务各司其职,运算效率当然就可以得到明显的提升。例如,Executor 专门负责执行交易,Consensus 负责达成共识,Chain 负责最后的存储。
以上分析了 CITA 为何能运行的很快,而“快”正是企业级服务的一个基本的要求。
CITA 的功能点
最后一部分来介绍一下,除了性能提升,CITA 区别与普通的公链项目,有哪些自己的独特的功能。
首先,CITA 兼具中心化的去中心化。这一点我们要从 CITA 的基本使用场景出发去理解。CITA 通常的情况下只运行数量比较少的节点,每个节点就是一个企业。每个节点在进入网络的时候,都是经过审查的,所以身份都是明确的。同时每个身份都可以去设置明确的操作权限,这一点跟公链相对匿名的机制形成鲜明的对比。同时作为联盟链,还是有一个盟主的,也就是超级管理员。所以说 CITA 是同时具有中心化和去中心化属性的。中心化属性体现在管理员可以进行非常多的应急措施,例如删除恶意节点,甚至是修正被毁坏的数据等。但是同时,作为一个区块链项目,CITA 当然保留了良好的去中心化特点,例如,共识是由大家一起达成的,共识数据一旦保存是不允许删除的,即使是超级管理员,也不能偷偷的自己修改数据。
其次,CITA 是高度可定制化的。企业有自己建立区块链的需求,有时候出于隐私保护和具体业务的需求,企业不能直接使用公链。CITA 是一个开源的区块链,有自己的 Github 源码仓库。任何人都可以基于 CITA 来搭建属于自己的一条区块链。具体搭建过程在官方文档中有详细介绍 https://docs.nervos.org/cita/ ,我们这里就不展开了。CITA 有丰富的自定制选项,可以满足各种不同的业务需求。
第三,CITA 的兼容性很好。CITA 上支持使用 Solidity,Go 语言,Rust 开发智能合约,同时也支持以太坊的所有开发工具( Truffle,Zeppeling,Remix 等)。
以上就是 CITA 的最重要的几个功能了。更多详细内容可以参考白皮书:https://github.com/cryptape/cita-whitepaper/blob/master/zh/technical-whitepaper.md 。
总结
以上就是对于 CITA 的简单介绍。希望大家把握住的要点是:首先,CITA 是一个区块链,所以可以实现信任自动化。其次,CITA 因为是联盟链并且通过微服务架构对节点做出各种优化,达成了非常强的处理能力。最后介绍了 CITA 的具体功能,其中包括,兼顾去中心化带来的共识和中心化带来的效率,高度可定制化以及兼容性良好的智能合约平台。
原文始发于微信公众号(Rebase社区):Nervos解读 | 信任自动化系统 CITA