CITA是国内屈指可数的联盟链开发框架之一。今天本文将总结CITA相关的资料,为读者建立对CITA的了解。
首先,联盟链和公链在开发上是共通的,所以CITA上也是开发DApp,而为了实现对DApp的开发就需要一整套的组成部件,最后汇总成一个解决方案。
CITA的整套解决方案体现在CITAHub上,其提供了一套完整的开源的区块链解决方案,在CITAHub中,CITA作为底层区块链内核。并围绕CITA,提供了开源的工具链CITAToolchain来完善基础设施,以方便运营方,开发者以及终端用户能够快速使用,
跟CITA直接进行数据交互的有CITASDK,CITACLI。官方在CITASDK基础上构建了4个工具:ReBirth、CITAIDE、CITATruffleBox、CITAWebDebugger。
还提供3个针对特定业务需求和开发场景的工具:Microscope、CytonWallet、CITACLI。另外还有一个first-forever-demo,通过开发或运行此demo,能够熟悉CITAToolchain的大部分子工具,并基本掌握在CITA上开发DApp?的操作流程。
从功能定位上看,CITA是一个面向企业级应用的支持智能合约的高性能区块链内核,旨在为企业级区块链应用提供一个稳固、高效、灵活、可适应未来的运行平台。
金色晚报 | 11月18日晚间重要动态一览:12:00-21:00关键词:ZEC减半、CME比特币、以太坊2.0、Liquid遭入侵、Uniswap
1. Bitfniex用户中本周当前最高浮盈超1000万美元。
2. ZEC达到减半区块高度 区块奖励减至3.125 ZEC。
3. CME比特币期货未平仓合约创10亿美元历史新高。
4. EthHub联合创始人EricConner建议为以太坊2.0添加最晚创世日期。
5. 加密交易所Liquid遭入侵 用户数据或因安全漏洞暴露。
6. Uniswap延长流动性挖矿提案反对率超88%。
7. 泰国SEC修订净资本规则 允许证券公司持有加密货币等数字资产。
8. BM:若想实现权力去中心化则需将EOS从集中托管服务中解放。
9. 英国央行首席经济学家霍尔丹:央行数字货币的道路尚不明朗。[2020/11/18 21:15:01]
因为工程化的实现思路,在区块链技术发展的背景下,CITA将区块链节点的必要功能解耦为六个微服务:RPC,Auth,Consensus,Chain,Executor,Network。各组件之间通过消息总线交换信息相互协作。通过配置和定制相应的服务,CITA能够满足企业级用户的全部需要。
金色财经挖矿收益播报丨矿工收益较上一周期增加6.4%:金色财经报道,据OKEx矿池数据显示,今日BTC全网算力约97.52EH/s,全网难度约15.14T,BTC当前块高631011。
全网难度今日周期性调整,受全网算力下跌影响,本周期BTC收益(PPS):0.00000831BTC/T/天,矿工收益相比上一周期增加6.4%。预测下次难度14.18T(-6.30%),距离调整还剩还有16天。[2020/5/20]
CITA的框架
整个CITAHub的完整组成如下图,而每个部分都成为了每个功能解耦后的承载体,我们来具体看每个部分的功能分解。
内核
CITA将一个区块链节点的共识、网络、计算、RPC等功能进行了微服务化拆分,每一个微服务又可以有多个实例,最终这些实例共同完成一个节点的记账功能。这样,可以将区块链性能的扩展问题转化成了节点的扩展问题,当性能不足时,插入一台服务器,分担节点的工作压力即可。同时,将共识机制、底层逻辑进行了深度优化,例如采用Rust语言架构所有代码等。
金色午报 | 5月16日午间重要动态一览:7:00-12:00关键词:浙江、FinCEN、特斯拉、工商银行
1. 浙江发布地方金融条例:支持区块链等新兴科技在金融服务和监管领域的运用;
2. 杭州市金融科技监管沙盒细则将于下周公布;
3. 埃隆?马斯克:政府大规模发行货币使比特币看起来比较可靠;
4. 美国FinCEN主任证实监管部门执法重点是虚拟货币AML合规问题;
5. 工商银行召开“征拆迁资金管理区块链平台”落地新区应用发布会;
6. 涉案金额超77亿元加密货币的案WOTOKEN已完成开庭审理;
7. BM:比特币将我们从不可控制和不可持续的政府开支中解放出来;
8. 国家外汇管理局山西省分局:深入推进跨境金融区块链服务平台应用。[2020/5/16]
实测数据:由4核8G云主机构成的CITA的性能可达到每秒2900笔简单交易;32核64G云主机组成的CITA的性能则超过了每秒1.5万笔简单交易。如采用集群构建节点性能将会更高,因此CITA的性能已经足以应付绝大多数应用场景。
CITAToolchain
CITAToolchain作为CITA生态中的重要组成部分,目的是使开发者在使用CITA或基于CITA构建应用时更加方便。
跟CITA直接进行数据交互的有CITASDK、CITACLI。
金色午报 | 4月7日午间重要动态一览:7:00-12:00关键词:罗马尼亚、Tether、减半、Coinbase
1. 罗马尼亚参与欧洲区块链技术研发项目;
2. 近一周Tether新增印钞5.4亿USDT;
3. BCH预计将于4月8日23点左右减半;
4. 日本高级官员:当前日本数字资产税收政策缺失或导致资金外流;
5. 姚前:警惕投机分子哄消费者参与虚拟货币交易;
6. BB:绝不反对BSV做出的技术决定;
7. 18美分购得4.2万枚BTC后续:疑为UI BUG;
8. 加密交易员:有人仅用18美分在Coinbase上获得了4.2万枚比特币;
9. Maker基金会首次推出13个改进提案,进一步提升去中心化。[2020/4/7]
CITASDK是Toolchain的核心,它将CITA上重复繁琐的操作进行封装,暴露简单的接口给开发者,开发者可借助此SDK构建应用。
官方在CITASDK基础上构建了4个工具:ReBirth、CITAIDE、CITATruffleBox、CITAWebDebugger。
CITACLI是一个非常友好的系统运维工具。
CITASDK
CITASDK分为不同语言版本:JavaSDK、JavaScriptSDK、RubySDK、SwiftSDK、RustSDK。
分析 | 金色盘面:FGI恐慌指数 19:金色盘面综合分析:FGI恐慌指数8月29日显示为19,较前一日略有回升,市场整体依然处在恐慌中,市场导向波动较大,投资者应该提高风险控制意识。[2018/8/29]
JavaScriptSDK是在EthereumWeb3的基础上做了封装并且添加CITA的JSON-RPC请求以及CITA的签名模块,构建了CITAIDE、CITATruffleBox、CITAWebDebugger。
JavaSDK集成了与CITA客户端交互的功能,可以用来对CITA发送交易、部署智能合约、调用合约方法,进行系统配置以及查询其他信息等。
SwiftSDK用于构建CytonWalletiOS端。
RubySDK用于构建ReBirth。
RustSDK是CITAJSON-RPC客户端的Rust实现。
ReBirth
ReBirth是针对CITA提供的区块链缓存服务器,能够满足检索区块,提供ERC20交易列表等业务功能需求,这类功能如果直接在底层实现会影响性能。
CITAIDE
CITAIDE是面向CITA的智能合约编辑器,能够编写、编译、debug、部署智能合约。
CITATruffleBox
CITATruffleBox是基于TruffleBox定制的适配CITA的DApp?全能开发框架,包括编写合约、编译合约、测试合约、部署合约、构建DApp,因此在CITA上开发DApp?的体验和在Ethereum上比较一致。
CITAWebDebugger
CITAWebDebugger作为DApp?调试工具,是一个基于Chrome浏览器的插件,用户在开发DApp?时,在手机上调试很不方便,使用CITAWebDebugger能够在浏览器上调试交易方面的功能,能方便地获取交易具体详情和反馈。
此外官方还提供3个针对特定业务需求和开发场景的工具:CytonWallet、CITACLI、Microscope。
CytonWallet
CytonWallet分为Android版和iOS版,提供账户管理功能和Token管理及转账功能,并内置DApp?浏览器。同时它依赖ReBirth提供原生代币和ERC20代币交易列表。
CITACLI
CITACLI是在开发中调试CITA的命令行工具,与CITA链交互可以通过CITACLI操作,支持搜索历史命令,默认支持secp256k1和SM2加密算法。
Microscope
Microscope区块链浏览器,可用于查询所有CITA链上信息,并支持基于CITA的多链,可在元数据面板中切换目标链。支持搜索区块、交易、帐户信息和调用智能合约方法。它还可以与ReBirth一起使用,实现指定组合条件的区块交易列表查询,分析CITA的工作状态等高级功能。
CITA中的经济模型选择
CITA作为面向企业的高性能区块链内核,拥有支持智能合约的虚拟机,用户发送交易中的每个运算都会消耗一定的资源,这里消耗的资源用Quota作为单位来计数。
为了对链上有限的计算资源进行管理和控制,需要对链的经济模型进行设计。实际的业务场景中普遍存在链运营方、记账人、用户等参与方角色。其中运营方、记账人可能由同一方承担,也可能是有独立利益诉求的不同参与方。
CITA作为一个通用的区块链内核,提供了诸多配置参数,让用户可以根据自己的业务场景进行定制经济模型。概括来说可以分为两种模式:
Quota模式
无代币的模式,系统默认模式。系统仅对用户交易消耗的资源进行统计。
参数设置。通过设置QuotaLimit,系统可以对区块内交易总体消耗的资源进行限制,也可以对单个账户设定一个块内交易资源消耗的限制。详细内容与操作参见Quota模式。
场景举例:
几个企业组成一个联盟运行区块链,每一个成员既是“矿工”,又是用户。矿工“无偿”工作,旨在维护系统稳定。这种场景可以选择Quota模式。
Charge模式
有代币的模式,链上发行原生代币。系统先对用户交易消耗的资源进行统计(quotaUsed),并换算为原生代币对用户进行收费。收取的费用有多种灵活的分配方式,方便用户根据业务场景进行定制。
参数设置。与Quota模式一样,charge模式也可以通过设置QuotaLimit,对区块内交易总体消耗的资源进行限制,对账户的单次交易设定资源消耗的限制。并且可以灵活的设置代币总量和分发方式。在链的运行过程中,还可以通过通过设置QuotaPrice对手续费进行调控。
CITA对隐私保护的选择
在CITA的架构中,为保护“账本”的相关隐私,采用了多元的技术方案来对用户身份与上链数据进行隐私保护。
如果使用密码学方案,所有的参与方都参与了对数据有效性、合法性的校验,但是只能提供转账隐私,有前向安全风险。可以对用户身份和交易数据进行隐私保护。
如果采用了零知识证明技术。证明者向验证者提供关于交易发送者、接受者身份和交易细节的证明,证明内容不透露交易双方身份和交易细节等相关信息。数据有效隔离;无前向安全风险。可以对交易数据进行隐私保护。
综合了几种多链与跨链方案后,CITA在底层实现了侧链方案来实现隐私交易。几个相关合作方共同起一条主链,其中的某几个参与方可以向主链注册一条侧链,在侧链上进行交易、验证,从而使侧链数据与主链数据隔离开,从而实现侧链交易数据的隐私保护。此方案无中心化风险,灵活性更高。
此外,还将需要参与共识和需要共享的核心数据,和其他的数据如合同明文、批量大数据、隐私、个人信息分离,数据脱敏后再上链,或者将数据摘要上链,必要时再授权访问明文等其他数据。链外存储是将要保护的隐私数据,链上是可以公开的数据。这种方法是当前可行性较好的方案,可以基于CITA进行设计实现。
最后,如果使用可信硬件,能让整体架构简洁,对存储空间要求低,具有很高的灵活性;但是受制于厂商。这种方式可以对用户身份、上链数据和智能合约的隐私保护。
例如应用SGX隐私保护技术,通过计算机的核心处理器CPU来构建可信执行环境TEE,SGX可以将智能合约中的关键操作封装到Enclave中,即便操作系统或者VMM(Hypervisor)也无法影响Enclave里面的代码和数据。Enclave的安全边界只包含CPU和它自身,极大的保证了数据的安全性。CITA表示,目前,已有项目搭建了CITA联盟链平台,并使用SGX可信执行环境技术,实现了交易数据的隐私性和监管的穿透性。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。