zoukankan      html  css  js  c++  java
  • fabric && cita 调研对比

    fabric && cita 调研

    总结
    若计划完全依赖上游的基础功能而不做任何改造,建议选择 fabric;否则,应选择 cita,针对自身业务场景进行持续优化。

    一、功能

    1、可扩展性
    微服务架构使 cita 在性能扩展、组件替换与开发语言选择等方面更加灵活。

    • [ ] - fabric
    • [x] - cita

    2、是否支持账户模型
    fabric 无明确的账户模型支持;cita 继承 ethereum 账户模型。

    • [ ] - fabric
    • [x] - cita

    3、是否需要发币
    双方均无需发币。

    • [x] - fabric
    • [x] - cita

    4、智能合约:类型
    双方均支持原生合约类型;cita 额外支持 EVM 轻量型合约,而且由于其继承自 parity,而目前 parity 已对 WASM 有良好的支持,未来技术升级或移植的成本会更低。

    • [x] - fabric
    • [x] - cita

    5、智能合约:开发语言
    双方均支持多种合约语言;fabric 支持 java、go、node.js 等,cita 支持 solidity、go、rust 等。

    • [x] - fabric
    • [x] - cita

    6、跨链支持
    fabric 不支持,cita 有简易的支持。

    • [ ] - fabric
    • [x] - cita

    二、性能

    1、TPS
    fabric 经各方测试的 TPS 上限为 1K 左右,cita 具备水平扩展性,官宣性能案例有两个:2.6K+(4台4核8G云主机)与 15K+(4台32核64G云主机)。

    • [ ] - fabric
    • [x] - cita

    2、出块时间
    均可自行定制,fabric 默认 2s,cita 默认 3s。

    • [x] - fabric
    • [x] - cita

    3、区块容量
    均可自行定制,cita 在启动时超级管理员通过系统保留的智能合约设置,若合约不存在,则设置默认值 1G,另有极限值 MAX_UINT64。

    • [x] - fabric
    • [x] - cita

    4、区块类型:静态 OR 动态
    均为动态。

    • [x] - fabric
    • [x] - cita

    5、单笔交易容量
    均可自行定制,cita 取决于账户配额,初始配额由超级管理员设置,后续由在链上自动增减——发交易消耗配额,参与共识获得配额。

    • [x] - fabric
    • [x] - cita

    6、性能优化空间
    rust 核心宗旨即是安全与效率,而区块链领域需要频繁涉及到密码学相关的高强度计算,故 cita 潜力更大。

    • [ ] - fabric
    • [x] - cita

    三、安全

    1、隐私保护策略
    双方提供类似的隐私保护手段,如:PKI、TLS、私有分区、链上审计与治理等。

    • [x] - fabric
    • [x] - cita

    2、是否支持只读节点
    cita 支持详细的基于账户的权限控制,fabric 仅提供有限的间接支持。

    • [ ] - fabric
    • [x] - cita

    3、共识算法:多样性
    双方均有多种备选算法。

    • [x] - fabric
    • [x] - cita

    4、共识算法:运行时变更
    双方均不支持运行时热拔插。

    • [x] - fabric
    • [x] - cita

    5、共识算法:及时终止性
    均有支持。

    • [x] - fabric
    • [x] - cita

    6、抗功击能力
    cita 有 rust 加持,具备更高安全保障;rust 的先天性优势,对照 parity 与 geth 的发展历程,可有明显的感知(不考虑上层 solidity 合约逻辑漏洞)。

    • [ ] - fabric
    • [x] - cita

    四、其它

    1、项目影响力与团队实力
    faric 由 linux 基金会主持,多家知名跨国公司参与;cita 面向国内,主要由招行背书,其团队核心有 ethereum 开发背景。

    • [x] - fabric
    • [ ] - cita

    2、代码质量
    faric 更强的团队成员组成,具备更高的主观预期;cita 使用的 rust 在运行效率、安全性、稳健性等方面具备先天性优势,有效弥补了其在团队实力方面的不足。

    • [x] - fabric
    • [x] - cita

    3、项目生命周期
    双方均已历经三年以上的开发时间,版本都已迭代至 1.0 版本以上并处于活跃开发状态。

    • [x] - fabric
    • [x] - cita

    4、社区活跃度
    cita 主要由'秘猿'维护,且开源时间较晚,社区生态不及 fabric。

    • [x] - fabric
    • [ ] - cita

    5、实际应用案例
    双方均有在金融行业的稳定运行数年的实际应用案例,可认为都已适用于生产环境。

    • [x] - fabric
    • [x] - cita

    6、二次开发与长期维护可行性
    cita 的微服务架构更易改造,且由于 rust 严苛的编译规则,可以在很大程度上保障后续自有代码的质量;更长远的视角,cita 更有利于平滑的自有知识产权彻底重构。

    • [ ] - fabric
    • [x] - cita

    7、多语言开发可行性
    rust 自带高效的 FFI,使其容易与其它语言相互调用,如:python、C/C++、golang 等,理论上具备使用 C 库能力的语言均能轻易的与 rust 配合。

    • [ ] - fabric
    • [x] - cita

    8、闭源风险
    fabric 由 linux 基金会主持,相对于 cita 由单一的商业公司推动,闭源风险更低。

    • [x] - fabric
    • [ ] - cita
  • 相关阅读:
    Scoket简介
    AOP
    Windows服务
    Nginx 教程 (1):基本概念
    异步编程
    并发编程
    常用排序
    序列化
    MSBuild/Projectjson
    不汇报是职场发展的绊脚石
  • 原文地址:https://www.cnblogs.com/hadex/p/10030145.html
Copyright © 2011-2022 走看看