度小满区块链整体架构——《度小满白皮书》
度小满作为金融科技公司,致力于通过科技为金融带来变革。信任作为金融生态的基础,与区块链致力于解决的问题天然契合。经过 2 年多的不断摸索和尝试,我们初步完成区块链业务的整体架构搭建。因此 2 年后的今天,我们发布区块链技术研究与应用白皮书与业界共同探讨区块链的技术与应用。
度小满区块链的整体架构包括以下 5 个方面:
1) 基础设施
依托于在金融科技领域的深耕,我们已经沉淀了安全可靠的金融级基础设施,包括密码学套件、容器 PaaS 平台、完整运维监控方案和金融级安全解决方案。这些基础设施,已经在我们自有的金融业务上进行了深度的应用和检验,安全、稳定、可靠;同时,我们针对区块链技术的特性,在其基础上进行了针对性的定制,以便更好的满足区块链应用的需求。
2) 核心技术
区块链技术还处于快速发展阶段,掌握核心技术是未来发展的动力源头。在区块链技术依赖的传统密码学、分布式技术(通讯、存储、计算)、安全等技术方面上,作为蜕变于互联网的金融科技公司,我们有天然的积累和优势;同时,我们重点专注于未来最具潜力的技术方向:跨链技术、隐私保护、合约技术以及技术业务模型。
3) 服务平台
服务平台对下负责核心技术的沉淀和产品化,对上承接各类应用和案例的落地和支撑。我们构建了统一的 BaaS 平台,实现一站式的解决用户和应用关于区块链的所有问题。BaaS 平台包含了金融云设施、区块链 PaaS 能力(包括公有链和联盟链)、区块链服务能力以平台开放能力。
4) 业务布局
在区块链服务平台的高效支撑下,我们能够更加高效地进行业务布局。度小满区块链专注于金融、创业应用探索、B2B 协作、数字化资产与价值网络以及信任基础设施这 5 大领域,并进行相应领域的布局。
5) 应用场景探索
“立足金融,但不限于金融”是度小满进行场景探索的标准:金融是区块链技术应用的重要领域,也契合度小满金融科技的背景,是我们重点发力的探索领域;区块链技术高速发展存在的不确定性,需要我们以更大的视野进行场景探索,在广泛的非金融场景进行落地尝试,迅速将这些落地经验进行沉淀,同时借鉴到金融场景的探索中。
(一) 业务布局
我们的业务布局首先基于之前章节所述,我们对区块链本质、现状和后续的判断。较为重要的指导原则包括:
· 信任是现代人类社会活动的基本前提和重要基础;
· 区块链技术的发展,需要往更加实际、落地的方向推进,而这些推进动力很大一部分来自于场景的实践和探索;
· 金融是区块链技术应用的重要领域,但区块链技术远不止于金融领域,有更为广阔的前景;
· 数字化时代和数字经济的到来,将迎来区块链更加广阔的应用前景。
在这些原则指导下,我们确定了当前阶段重点在 5 大领域进行布局。
1. 企业间协作(B2B)
区块链技术在 2B 业务的应用,将会是区块链技术首先得以成熟的领域。主要是由于企业级应用技术较为成熟,同时需求更加明确、业务模式清晰,使得新技术应用更加明确有方向。更为重要的是,企业间协作的区块链探索,由于通常参与方人数不多(数十个或几十个参与方),且通常为特定业务的固定协作方,这在一定程度上避免了当前区块链技术在面对大量参与方时的各种缺陷。
如果云计算成为企业 IT 应用的基础设施一样,区块链作为未来企业协作时的处理协作关系基础设施,将有非常广阔的应用场景。度小满在此领域的布局包括:
1) 企业间协作的区块链基础设施:我们针对实际的 B2B 需求,自研了度小满 Trust 联盟链技术方案,能够更加可靠、高效的让企业通过区块链进行协作;同时作为 Hyperledger 白金会员、核心董事会成员,我们也应用 Fabric 等技术方案来支持特定需求的区块链应用。
2) 企业间协作增强套件:2B 业务有自身独特的需求和特点,包括安全、隐私、权限管控、用户角色、协议定制等,通常都需要进行定制和开发。我们在此方面沉淀了灵活配置、高效应用的增强套件,能够有效满足 2B业务需求。
3) 企业间数据协作:通过沉淀的标准化方案,能够保住企业从以前不信任、割裂、不标准的数据协作方式,通过我们的区块链技术协作方案,实现可信、有限透明和高效的数据协作。
4) 企业间业务上链:在数据协作基础上,通过我们包含企业智能合约的解决方案,将部分或全部业务以智能合约的方式进行表达,实现数据+业务的上链模式,让整体协作更加透明和高效。
5) 协作高频解决方案:针对 2B 业务的常用协作模式和需求,我们在众多案例探索的基础上,抽象和标准化多种高频使用的解决方案。
2. 数字化资产与价值网络
数字化时代与数字经济的到来,给数字化资产带来广阔的应用场景;同时,数字化资产天然存在通过网络进行价值传递和转移的需求。区块链技术在这方面应用具有天然优势。度小满在此领域重点关注:
1) 资产数字化与数字化资产:实现将链下资产进行区块链数字化的技术方案,以及链下资产与链上资产进行流通兑换方面的方案布局。
2) 数字化资产跨链:通过中介、哈希锁定、反向智能合约等方式,尝试实现多个业务领域、多条链的资产,实现跨链价值转移。
3) 可用的价值传递网络:高效、安全、稳定的实现价值传递,仍是当前区块链技术在这方面应用的一大挑战。在自研和行业方案方面,我们进行定制和开发,以实际可用为目标,实现当前能用的价值传递网络。
4) 数字化资产行业解决方案:灵活、能快速更改和定制的数字化资产行业解决方案。
3. 金融行业应用
区块链在金融行业的应用,不仅能够辅助和提升我们现有的金融业务,同时作为金融科技最具潜力的方向,能够持续给行业带来变革。长远的,基于区块链技术支撑的新金融亦可能产生并发展壮大。金融行业的区块链应用,是我们最为重视的领域,同时也最早进行布局:
1) “区块链+金融”应用核心技术:由于金融业务的特殊性和敏感性,导致区块链技术与金融的结合会有一些独特的需求。通过技术上的创新来支撑这些需求,是我们研究的一个重要方向。
2) 数字化资产在金融的探索:数字化资产本身以及围绕数字化资产产生的金融行为,如何落地到区块链技术上、如何结合是我们在 1 年前就开始探索的方向。
3) 金融业务区块链应用方案:金融各个业务的差异性较大,进而应用区块链的业务方案很难直接复用。我们在消费信贷、资产证券化、保险以及其他泛金融业务领域,沉淀了相应的应用方案。
4) 区块链监管科技:监管在金融是非常重要的一环,区块链技术在金融的应用,不能去监管,而应该正确的处理监管与区块链、与业务的关系,实现和谐共生。我们以联合的相关研究机构,在这方面正进行深入的研究和探索。
4. 创新应用探索
未来区块链技术的应用会渗透到各行各业,因此我们当前阶段的探索不局限于某一两个行业。寻找并通过在一些有创新的应用课题下进行探索、布局,对我们有长远的意义:
1) 体现区块链技术先进性的应用探索:通过这些场景的探索,积累行业有说服力的案例,进而推送整体区块链技术应用的发展。
2) 区块链技术开创的新领域:在一些由区块链技术自身开创的领域,如区块链小游戏、区块链分布式应用、区块链数字化资产等方面,实现了区块链技术与业务的原生结合,是未来颇具潜力的发展方向。
3) 区块链有巨大变革潜力的传统业务:改造和改变传统业务的落后,通过区块链技术进行提升,这方面的探索和应用非常具有现实意义,同时能极大拓展区块链技术的应用领域。
5. 信任基础设施
信任层面的基础设施不常为人感知,但是作为社会基石具有重要的意义。通用化以及又如何支持行业的特性,是通过区块链技术来够条件信任基础设施的一大挑战。这方面我们聚焦布局在:
1) 通用信任基础设施:关注区块链构建信任的基础核心能力,如可靠共识、智能合约在共识方面的应用等;同时也关注区块链信任能力通用化,基于金融云的区块链基础设施、PaaS 平台能力等。
2) 行业信任基础设施:通用能力之上的带有行业属性的行业信任能力,若能基础设施化,将能够从基础层面上提升行业通过区块链构建信任的效率。我们关注包括金融等重点行业的信任构建设施。
(二) 基础能力
依托度小满金融在金融领域的探索和沉淀,度小满区块链的拥有行业领先的区块链基础设施能力:在密码学算法方面,拥有度小满金融密码学专家团队的支持;在安全、运维方面,金融安全团队与金融运维团队的丰富经验和解决方案能够快速迁移应用的区块链;在服务运行设施方面,有经过金融业务充分验证的金融云 PaaS 平台。
1. 金融云 PaaS 平台
金融云 PaaS 平台是支撑度小满金融业务的底层基础设施,成熟、易用且极为安全可靠,满足金融级业务的合规和可靠性标准:在业务上,支持了包括有钱花、钱包、消费金融、ABS 等金融核心业务;在功能上,支持容器化与 openAPI定制,同时与 OLAP、大数据分析、服务治理、运维监控、高性能计算服务等进行了打通,功能成熟完整。
同时,针对区块链的技术特性,PaaS 平台进行有针对性的定制工作,包括区块链节点容器化运行配套方案、区块链服务层监控预警、区块链网络负载方案、区块链大数据量存储方案等。
2. 金融级区块链安全基础设施
度小满区块链在探索之初,就与金融安全部门成立联合团队在区块链涉及的多个方面展开合作,为区块链技术和业务提供了各个层面的安全解决方案:
1) 金融合规安全:保证在符合监管和法律法规的要求的情况下,合理的运用区块链技术服务业务。
2) 业务安全:区块链实现跟业务结合后,保障业务在引入区块链系统和组件后,不会带来额外的安全隐患;同时防止业务对区块链不正确的使用,引入安全风险。
3) 基础环境安全:区块链节点或平台所依赖的技术环境,包括软件、硬件、依赖、部署等的安全。
4) 非标准设备安全:业务和区块链涉在一些非标准软硬件设备运行引入的潜在安全风险管控。
5) 前沿密码学工程化:将金融业务和区块链涉的密码学算法和工具,统一进行工程化和系统化,引入软件工程思路保证健壮性和安全性。
6) 入侵检测与防御系统:对潜在的攻击如 DDOS 攻击、重放攻击、撞库、病毒木马、网络钓鱼、劫持等进行快速准确的检测,同时通过构建针对性的防御系统进行拦截。
7) 内审与角色权限防控:对内部原因可能导致的安全风险,联合内审机制和角色权限防控机制进行防范。
8) 数据安全:一整套数据安全方案,保障业务和区块链的数据在存储、传输、使用过程中的安全与隐私。
9) 安全预案与安全演练:针对金融和区块链设计的一整套紧急安全预案和演练方案;可针对不同业务和场景,进行按需裁剪与二次定制。
3. 可视化运维方案
区块链网络节点的分散、所有权各自不同的特性,导致其运维工作有更大的挑战。一方面,对单个节点要具备完整的的运维和监控功能;另一方面,从整个分布式网络角度,需要同时兼顾考虑部分节点的不稳定和全局网络的可控性。我们针对这些问题都提供了完善且可视化的运维方案,大大降低了区块链业务的运维难度:
1) 基础设施运维:针对云的基础设施,依靠金融云先进的运维方案,实现云基础设施的运维;针对托管的 IDC 的虚拟机或物理机设施,通过特定agent,实现该资源的运维;针对自运维的机器资源,提供可选的监控工具和信息上报通道,实现基于信息汇总的可视化监控和运维。
2) 节点与网络运维:针对不同实现的区块链方案(包括公有链和联盟链),实现对区块链节点和网络的可视化运维,包括节点的可视化创建、部署、重启、暂停,以及功能层面的统计数据可视化查看;区块链整个网络层面,实现出块间隔、算力分布、交易队列、节点联通性等方面的可视化查看。
3) 业务运维:当区块链与业务结合,可针对业务特定需求实现业务穿透到区块链网络层面的可视化运维和操作。例如某项业务的某参与方希望提升其节点集群稳定性,增加副本节点数:通过在定制化的界面调整此业务的可用性等级,则业务运维会将此操作翻译成“新增部署节点-节点初始化-节点账本同步-节点流量导入-节点结果反馈”这一系列操作,并通过运维系统可视化的展示进展和ਃ馈结果,最终让用户更加直观便捷的完成运维行为。
4. 分布式技术与密码学
源自互联网公司的度小满金融,一直以来都有非常深厚的互联网技术特别是分布式技术的积累。而区块链技术,从技术角度狭隘的来讲,是一个集分布式技术于一体的典型应用。我们将互联网基因中的分布式技术与区块链进行融合共进,包括以下方面:
1) 分布式高性能计算:随着参与方和节点数目增加,保证计算性能尽量类线性的相应增加,并且不对一致性带来过多不稳定因素。
2) 分布式海量存储:通过分片、多副本、分布式哈希表、分布式同步技术、高性能路由技术等,实现海量账本数据的可靠存储与高效查询。
3) 分布式通讯与协议:针对区块链技术的不同组件应用需求,采用相应通讯协议、甚至协议定制,进行高效、可靠节点间通讯。
另外,密码学作为区块链技术的核心部件,除了密码学安全外,我们还积累了密码学在以下方面的应用经验:
1) 多方安全计算:通过多方安全计算以及后续发展的零知识证明,尝试针对不同的应用场景,采取合适的加密算法实现多参与方情况下的安全计算与应用;同时针对参与方增加导致性能下降问题,采用定制化的计算机制以保证性能。
2) 密码学与隐私保护:通过应用随机扰动、统计特征保护、匿名发布、差分隐私等隐私保护技术,同时与密码学算法结合,保证数据和参与方的隐私。
3) 高性能密码学技术评测与应用:测试业内最新的密码学技术,评估在我们区块链解决方案应用的可能,并探索密码学新技术在案例中的应用;
此外,关注量子计算技术的突破进展,评估对区块链现有密码学方案的冲击。
(三) 核心技术
区块链技术是融合计算机科学、博弈运筹学、经济学、社会学等多领域技术的综合技术集,所涵盖非常广,且任何一个细分技术类别都需要深厚积淀。度小满从技术应用以我们对技术未来的判断出发,在区块链安全隐私、跨链、合约、领域&技术模型这 4 类技术进行了系统化的研究与应用。
1. 安全与隐私技术
在金融级安全基础设施之上,我们针对区块链的各个维度进行安全与隐私方面的技术研究和专利创新,形成一整套区块链安全与隐私解决方案。除了基本的5 大核心层面(存储、网络、合约、节点、应用)的技术应用外,还拓展为完整的安全与隐私解决方案:包括经过实践检验的安全演练方案、实时监控预警系统以及发生安全事故后的紧急预案。
在隐私保护方案,用户有限匿名化、敏感数据链上处理、多方签名技术已经在我们的实际项目中得到广泛应用。
2. 跨链技术
未来的区块链的应用不是现在这样一条链或者几条链主宰的世界;多种不同侧重点的主流链框架,加上无数深耕各个领域的区块链实例,才是架构未来区块链版本的正确姿势。而在这种架构下,跨链技术无疑是未来区块链领域的核心应用技术。度小满对跨链技术尤为重视,我们的积累包括:
1) 跨链授权技术:不论是中介、侧链还是合约锁定等跨链方案,从技术和方案实现上,保证数字化资产的跨链操作经过授权且受严格限制的;并且,这种授权技术,需要保证安全和及时的生效。
2) 企业级跨链方案:企业级的跨链需求通常在于跨业务的壁障打通,同时要在满足不同业务的一些特定需求情况下实现数据或资产的跨链交互和传递。
3) 跨链资产流通:针对数字化资产,实现跨业务跨链的定价、兑换与流通。
4) 异构区块链生态打通:在异构、标准不统一的区块链业务生态之间,实现信息和数字化资产的流通。
在我们探索的一些应用场景中,例如金融业务场景、数字化资产应用、跨产品线权益互通等都应用了相应的跨链技术。
3. 合约技术
真正发挥区块链技术的优势,需要业务和区块链进行无缝的融合。智能合约技术,是进行融合的关键。当前,合约技术分两类:嵌入式合约技术与非嵌入式合约技术。嵌入式合约技术以 EVM 为代表,完全在链内的节点进程中以虚拟运行时方式运行;非嵌入式合约技术以 Fabric 为代表,合约完全以隔离 docker 容器进程的方式单独运行。
当前智能合约技术发展还非常不完善;度小满区块链实验室其中一项重要的工作就是推动行业应用落地,因此我们对合约技术也格外重视。在智能合约技术领域,我们的重点研究方向包括:
1) 合约安全技术:重点在合约编码规范、合约漏洞检测、VM 溢出/注入/入侵方面,保障合约调用和运行安全和稳定。
2) 合约隔离技术:合约隔离是实现合约并行执行的前提。隔离包括两个层面,运行时线程(进程)隔离与存储隔离。
3) 并行执行技术:在隔离基础上,针对可隔离的区块和业务,充分利用多核多 CPU,实现多个任务流并行执行,进而提升整体性能。
4) 合约容器技术:针对不同的业务需求,在众多容器化技术中,实现可选可切换的合约容器化执行方法;同时根据实践经验,制定了一套实际的合约运行容器与容器外交互规范和接口。
4. 领域与技术模型
区块链技术应用过程中,针对不同行业和需求需要相应的领域和技术模型进行支撑。这些模型进一步抽象规范化,即形成行业的应用标准。我们在研究和应用中,在金融以及创新行业多个领域积累了丰富的应用模型,能够快速支持和应用到全新的场景,同时也期望后续贡献推动行业标准的制定。模型类别包括但不限于以下 3 类:
1) 企业级角色模型:在企业级应用中,不同规模、不同行业背景以及不同类型的企业,有迥异的角色需求。针对典型的需求场景,我们建立了多套区块链角色模型,通过简单配置即可直接应用并支持企业需求。
2) 动态权限控制模型:与传统集中式 web 系统的权限需求不同,在分散式的区块链基础上,权限模式在支持设定、所有权交接、权限升级/降级,以及对有时间属性的账本数据访问权限的动态控制,我们设计了一套从存储到合约包含各个层面功能的权限模型模板。
3) 应用模型:区块链面对的业务千差万别,我们针对典型的应用场景,抽象满足大部分需求的应用模型;应用模型在遇到类似业务场景时,能够经过低成本、高效率的定制,实现区块链全套方案与场景的适配。
(四) 度小满 Trust:易用可靠的企业级区块链技术方案
1. 问题与背景
区块链的企业级应用是度小满布局的重要领域之一。但是以前以当前,现有的区块链方案在支持企业级应用时,存在不少问题:
1) 过于复杂,易用性极差:系统功能上过分追求通用、大而全,过度不切合业务设计,导致简单问题复杂化。同时对开发者和应用者极不友好,在二次开发和应用上带来了极高的不必要成本。
2) 性能、稳定性难以持续保证:缺乏有效的性能测试、稳定性测试以及完善的监控运维方案。在实际运行中,网络和节点的性能和稳定难以持续保证,且自愈能力差。
3) 企业应用对接成本过高,望而却步:系统设计过程缺乏对企业级业务实际需求的深入分析,复杂且不贴合业务,没有完整易用的面向企业业务的方案。
4) 知名方案包袱过重,有待大幅改进:一些知名方案由于系统历史设计本身走在了错误的道路上,回归到正确的道路难度极大。需要壮士断腕,才能获得大幅改进。
因此,在没有成熟、稳定方案可用的情况下,2017 年初,度小满区块链团队自研了 Trust 企业级区块链解决方案,希望提供一套对企业级区块链应用更加友好的区块链方案,推进区块链技术在企业级领域的应用。Trust 设计目标包括:
1) 低门槛、高易用:遵循简洁有效设计原则,提供便捷的部署接入能力完善的可视化运维监控方案。
2) 金融级安全等级要求:提供从底层基础设施到节点运行环境、存储、网络、应用等一整套金融级安全解决方案。
3) 面向企业级应用场景的信任模型和共识:依据分应用分场景,提供“去中心化、效率、安全”不同取舍的多种信任模型及共识,切实满足不同场景下企业级业务需求。
4) 原生支持通用、高频企业服务功能:内置抽象和标准化的多种高频使用的服务方案,实现服务开箱即用。
5) 高性能:支持高并发、低延迟的实时区块写入与查询,通过多链、分层、分片技术实现可水平扩展和垂直扩展下性能的稳步提升。
度小满 Trust 仍然在不断演化中,一方面随着我们实践经验的反馈,我们持续对设计方案和实现进行了改进;另一方面,随着行业技术以及我们认知的不断提升,我们认为当前的实现方案还有很大的改进空间。我们将在方案趋于稳定和成熟,并且基本达成我们的整体目标时,伺机将整个项目贡献给开源社区,推动区块链技术在企业级领域的应用和发展。
2. 系统架构
度小满 Trust 区块链方案,包括客户端、Trust 节点、SDK 以及相关系统组成。方案的核心即是 Trust 区块链节点。我们采用包括基础、安全、模型、核心、扩展这 5 层的解耦式设计模式,可替换的组件皆以可配置的插件方式实现,保证核心功能的可定制性。度小满 Trust 由以下组件组成:
1) 基础平台层:结合通用的金融云容器 PaaS 平台和定制的监控运维功能,实现 Trust 节点运行环境的可靠与安全。
2) 基础组件层:包含通讯、存储、签名、加密等方面的基础算法和组件,并分别针对运行效率进行了优化。
3) 模型层:我们将区块链实践的成功和失败经验进行沉淀,并抽象成与业务无关的模型。模型是 Trust 的核心,定义的模型直接决定了整个 Trust的架构。
4) 核心功能层:实现区块链的分布式账本、共识机制、合约等核心功能。
5) 扩展服务层:针对当前区块链在应用方的主要问题,通过扩展服务进行提升和增强,包括对缓存、预加载、结构化查询以及数据索引等的支持。
6) OpenAPI:提供完备的对外接口 API 以及封装好的 SDK,方便以 Trust 节点为核心进行定制开发和扩展。
除此之外,围绕 Trust,我们还实现了 web 客户端以及跟 BaaS 平台的打通,几者结合构建 Trust 应用生态,提升整体方案的易用性。
与其他面向 2B 的区块链方案相比,度小满 Trust 在安全、用户与权限体系、接入与部署、性能、可用、合约等方面有针对的进行了设计和优化,在将区块链落地和真正解决业务实际问题方面,具备独有优势。
3. 金融级安全保证
度小满 Trust 需要支撑金融场景业务使用,因此需要金融级的安全保障。
Trust 提供了全方位的安全保证,从底层运行环境、通讯过程、存储安全、机制安全、数据安全等各个方面均实现了完善的安全保证。
1) 主机安全:支持提供工具对主机进行安全扫描以及主机加固。
2) 通讯安全:支持通讯前的认证以及通讯内容的加密,防止通讯窃听和请求伪造。
3) 数据安全:支持数据多副本存储,数据传输过程基于安全通道传输,支持链内数据加密,同时利用灵活的轻量级多链机制提供链级别数据隔离。
4) 密钥安全:基于 PKI 基础设施,拥有密钥加密分发、更新、失效等完善的密钥安全管理机制。
5) 操作安全:完善的鉴权与权限控制,设计了符合金融级区块链安全要求的一整套角色权限控制方案,通过设立用户、APP、节点、管理员等多个角色,保障各角色身份鉴权及合法操作控制。
4. 灵活易用的用户与权限体系
Trust 整体以通用的 RBAC 权限模型为指导抽象出相应的角色权限,链相关的参与方的各个角色权限配置信息均在链上记录,即区块链中不仅包含纯数据信息同时包含权限配置等元数据信息是一个完整的自包含体系。
Trust 在具体数据操作上用户可以根据自身角色权限进行允许范围内的操作,对角色权限控制、认证准入等功能,结合 BaaS 平台进行管理,将权限配置信息同步至链上,链上节点依据配置协同工作。同时平台引入 PKI(Public Key Infrastructure)公钥基础设施,平台 CA(认证中心)模块负责证书发放、证书更新、证书撤销和证书验证等功能。Trust 主要角色说明如下:
用户角色:对应链参与方,通常为某个组织或企业,用户为权限控制的顶层角色,节点、APP 等均隶属于用户,读写权限控制配置作用于用户,用户所部署的节点权限受用户权限控制。用户可以定义多级的用户权限映射体系,让不同用户拥有不同的权限范围。
节点角色:对应于维护区块链账本的区块链程序,通常一条链上每个参与方都会部署自己的节点共同参与到链上来,每个节点会由管理平台颁发身份证书、通讯证书权限信息。
APP 角色:对应链上数据访问者角色,业务方需使用该角色向区块链节点发起数据写入提案、数据查询请求,该角色由用户配置生成并分配身份证书。链管理员:对于联盟链通常某个参与方会处于主导地位,可以设置该用户为链的管理员角色,负责链的元数据管理。
5. 一站式部署接入与管理
Trust 方案提供便捷的接入与部署功能,用户根据接入指引界面引导完成必要参数配置,后端系统依据用户配置打包,打包完成后用户下载配置好的 Trust部署包到机器上执行启动脚本即可完成部署,通过管理平台新用户 10 分钟可完成接入部署。
度小满 Trust 还提供了一站式的管理功能:
1) 用户管理:提供企业级别的用户、角色管理、动态调整以及用户相关的证书、密钥管理。
2) 区块链管理:业务相关的区块链新建、状态查看、权限,以及区块链属性定制化,包括共识机制、参与方管理、复制和存储机制等。
3) 集群管理:节点的加入、退出、集群/节点状态的监控和预警。
6. 高性能
公有链场景下区块链网络参与节点数量庞大分散于全球各地,为保证其系统的可持续运行,其共识机制决定了通常意义上的公有链系统性能较低比如比特币7tps 以太坊约 30tps,并且交易确认时间为分钟级。
联盟链场景下区块链网络的参与节点数量有限,节点本身性能节点间网络能得到有效的保证,因此联盟链网络具备提供高性能服务的基础条件。
区块链系统本质上首先是分布式系统,因此分布式系统不可能三角定律对其适用,即一致性、可用性、分区容错性不能同时满足,通常会根据业务场景选择最终一致性或牺牲可用性来满足定律。
度小满 Trust 支持用户根据不同场景选择不同运行模式,例如通过接受最终一致性来达到高性能需求,同时支持批量写入功能进一步提升性能。通过多项性能优化 Trust 单节点写入 TPS 达到 3000,单节点查询 QPS 达到 10000,查询可水平扩展。
同时 Trust 内置了类 SQL 结构化索引功能,为业务使用方提供根据常规区块链和业务字段的自定义索引和查询功能之外,利用自定义索引还可直接在区块链节点上实施非常高效的、针对账本内层业务数据的复杂查询。
7. 高可用
高可用是分布式系统架构设计必须考虑的因素之一,trust 通过数据冗余存储,节点对等、故障自动迁移、完善的运维报警机制实现系统的数据、服务高可用。
数据高可用:数据由区块链节点进行多副本存储,数据强一致性通过分布式一致性算法如 raft 保证,节点进行多机房、多地域部署,数据异地容灾。同时,用户可以选择开启 Trust 的超级备份功能,支持多方对数据加密后将密文数据备份到统一、安全的中心化集群;在极端情况下, 所有节点的账本数据不幸 down掉,可以从超级加密数据解密,在多方同意、提供各自的密钥之后,才能恢复明文账本。
服务高可用:同一个参与支持部署多个对等区块链节点,各节点具备完整的数据,可独立提供服务,部分节点故障不影响该参与方服务可用性和整体区块链服务的可用性。
监控与运维:监控平台对节点进行实时健康探测,节点故障及时告警处理,节点自身功能的大部分升级,可以通过自动升级脚本平滑在线升级。
8. 可配置化合约
合约本质是一小段可在区块链系统内执行的代码,是为了扩展区块链纯账本功能提出的一种技术方案。目前不论是嵌入式合约和是容器式合约,由于基础VM 以及合约代码方面的问题,导致具有较差的性能和极大的安全风险。
度小满 Trust 充分考虑业务需求,通过提供测试完备的内置合约、基于场景的合约模板这两种方式来满足 80%场景的需求,实现智能合约在安全性和性能上达到了较高的水准。对一些特别定制化的合约需求,也提供接口支持用户自定义合约,但此方式难以对合约导致的安全和性能问题进行保障。
9. 可插拔共识机制
度小满 Trust 联盟链针对目前区块链系统共识策略复杂、共识效率很低的痛点,对业务场景进行深度的探究和思索,提出了弱信任模型下的可信共识策略,通常一项金融业务(如 ABS),会涉及不同参与方,他们的角色、来源和资质各不相同,对他们完全无差别信任也是不切实际的,我们需要将对他们的信任进行分级。
Trust 支持多种可插拔共识方案同时 Trust 为多链模型,业务使用方可根据自身需求和场景为不同链灵活配置相对应的共识机制。
Trust 默认提供以下共识方案:
可信共识
适用于区块链参与方相互信任程度高对写入性能要求较高场景,区块数据写入由具备写权限的参与方进行写入,其他参与方实时同步查看区块数据,可信共识省去了较为耗时的节点间背书交互能有效提升性能。
背书投票
适用于区块链参与方对区块数据写入有一定的背书规则场景,例如数据写入需要多数参与方签名认可,该共识下数据写入发起方依据背书规则请求相应背书参与方节点获取满足条件的背书签名后将数据写入区块链,Trust 支持灵活的背书规则配置。
PBFT、RAFT
从严格意义上说各种 FT 不能算是区块链领域的共识机制而是分布式系统中节点间协作的一个一致性协议通常用于分布式存储领域,Trust 将 FT 和背书签名策略结合使用达到实时出块可靠存储同步确认效果。