CSAC信用链技术架构及区块算法

上传人:壹****1 文档编号:548533829 上传时间:2023-07-15 格式:DOCX 页数:9 大小:201.71KB
返回 下载 相关 举报
CSAC信用链技术架构及区块算法_第1页
第1页 / 共9页
CSAC信用链技术架构及区块算法_第2页
第2页 / 共9页
CSAC信用链技术架构及区块算法_第3页
第3页 / 共9页
CSAC信用链技术架构及区块算法_第4页
第4页 / 共9页
CSAC信用链技术架构及区块算法_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《CSAC信用链技术架构及区块算法》由会员分享,可在线阅读,更多相关《CSAC信用链技术架构及区块算法(9页珍藏版)》请在金锄头文库上搜索。

1、CSAC 信用链技术架构及区块算法一、技术架构CSAC的整体架构分成三个层次:核心基础层通过API的接口为上层提供区块链基础服务; 平台 服务器层在底层之上,构建一系列符合行业标准的应用接口;应用在标准化的接口上创建高可用 性、可扩展性的区块链应用。整体结构如下:Anti-Counterfeiting VerificationSystemInformation Sharing PlatformTraceability Application Platform整体技术架构图CSAC 的核心功能又被纵向划分为三大主题功能板块:账户中心、分布式账本服务、平 台管 理。其中,多数部分将会通过执行研发实

2、现,有些部分采用某些标准的开源组件, 还有一些部分 是在成熟框架上进行优化和改进。二、数据存储CSAC 的区块数据采取我们自主设计的数据管理方式进行存储,主要由三部分构成,如图所示:Block Datasiiiib-e123456N据模型图三部分数据分别为用于提供快速查询交易数据的轻量化本地索引数据、用于存储对象化Index DataMulti-Media FileBig Data File的交易 信息的分布式账本以及利用分布式哈希表技术用于存储文件的分布式文件系1、轻量化的本地索引数据:通过特有的安全协议对分布式账本上的交易记录进行监听,读取并存 储账本上带有特殊标记的数据相关的交易记录的索

3、引信息、解析读取相应的 摘要信息,以便上层应 用可根据摘要信息,对相应的交易记录进行检索。2、分布式账本:通过改进的交易的数据结构以及交易的确认过程,实现链上记录有关联交易的数 据的关系,保障了数据内容的可追溯性。通过改进的共识机制提高了交易 的确认时间,增强了数据 安全性。3、分布式文件系统: 利用 Distributed Hash Table 技术实现的分布式存储协议。通 过文件内容(Hash )而非文件路径(URI)来对数据进行索引。大文件将被分割为固定大小的数据块分布式地存 储在众多节点中。由众多节点共同来维护数据,但采用分布式文件系统存在一定的缺陷,需要一定 的冗余来保障数据的可靠性

4、。我们考虑提供 多种策略由用户自行选择文件的可靠性等级,高等级的 安全策略将使用骨干节点进行 维护。三、账户设计CSAC 的账户设计是将账户信息存储在树形结构中,账户树可以加快账户信息的检索速度及 提高资产余额计算的效率。 账户信息主要由交易地址、资产、权限、综合指数等构成。通 过我们的研究发现ED25519椭圆曲线算法具备完全开放的设计、高安全性、计算速度快 等特点,因此我们的账号将基于ED25519算法进行生成。账户地址生成流程如下:i :Pacing乃甲歸onPublic HashChecksumj+ Bases8 Ccovwiirsha3255 Antfimefticcut 4 cha

5、ractersCSAC Addne *CSAC账户地址生成图四、共识算法CSAC采用的共识机制有别于其他主链是以DPOS选举为基础选举出的节点以PBFT打包和验证区块的混合共识机制。这个新的混合共识机制叫PSEC(自荐信用证明共识 机制,Proof of Self-Estimate Credit)。这个混合共识可以在 t incit* wlKhMtMl*C&AC / Hnxt ( a b i I: I o n BlackfrosyitamPSEC共识图每个共识周期都会选举出21 主节点和63 个备用节点来完成共识过程,任何人都可以 参与到主 节点及备用节点的竞选。被选中的节点承担责任的同时,相

6、应地将会享有经 济收益和管制权力。在CSAC公链运行过程中,共识过程状态一直保持着不间断的持 续运行。再某一时刻CSAC的共识将保持在某个特定的共识周期中,每个周期将由选出的主节 点轮流进行出块。选出的 21 个主节点 轮流出完一个块后,我们定义这次过程为出块的 一个轮次。每个共识周期将保持21*21*N的出块个数。在特定出某一个区块的时候,被选出的21主节中的一个节点的身份将发生变化,我们 定义这个节点为新区块的提议人(Proposer )。其它20个主节点(Witness )将扮演 见证人角色,见证人与提议人一同完成对新区块的共识。在此过程中, 63 个备用节点(Candidate )时刻

7、保持着工作状态,协助21个主节点完成共识过程。每个块的产生都会携带有一定的奖励,包括:固定收益、手续费收益、其他收益。这些 收益都 会根据在这个块的生成过程中,共识节点的贡献情况奖励。每一周期主节点会工作21轮,结束后重新选择共识节点。新一轮共识节点会保留上一轮表现最 好的 1/3共识节点进入新一轮的共识节点集合,剩下的节点将在全网中根据每个节点的综合指数进行排序算法,其中TOP N的将被选出开始新的周期。综合指数越高节点被选中的概率约高,综合指 数的计算公式如下:F(WJ) = pf/1f *C1 + S/ 爲呂 *c2o o OOTOP N综合指数的计算公式图五、虚拟机CVMCSAC虚拟机

8、CVM依托LLVM来实现。核心协议和智能合约代码将会编译成CVM字节码,通 过 LLVM 即时编译 (Just-in-time compilation) 功能,实现其动态编译 和优化,最终在沙箱环境中 执行。同时借助于 LLVM 的模块化架构,开发者可以用熟悉的编程语言(如JavaScript,JAVA,Go, C/C+等)实现更高性能和更安全的智能合约,给用户带来丰富的去中心化应用。借助于 LLVM,CVM 支持开发者用其熟悉的编程语言开发智能合约和应用。无形中降CS-VM SyleCodeBlock 1Block;Block 3SqIJavaScriptJavaC/C+Bl&ck NSma

9、rt ContractImiplemenlC frontendC+ frontendGd frqntendCommon optirnizerLLVM Target specif lieMachine code低了开发 者进入参与CSAC建设的门槛 可吸纳更多的开发者参与到CSAC的建设中。六、智能合约CSAC 中的智能合约编程语言,将基于 CVM 推出对各种编程语言的支持,使得开发者 可以用自 己喜欢的高级语言编程,例如 Java、Python、Go、JavaScript、Scala 等 语言进行智能合约的开发。1.合约升级 由于智能合约具有不可修改的特性,只要代码逻辑确定之后,便没有人可 以

10、修改它,而且永远 也不再具有升级的能力。如果代码逻辑的实现存在安全性问题或 者有漏洞, 可能会造成资产损失等情 况,这时就需要我们去修复漏洞,想要修复这个漏 洞的话,只能重新部署修复后的合约,如果原来 的合约已经有很多人在使用,那么部 署新的合约,老合约的数据将会丢失。为此我们设计了一种简 洁的合约升级方案:在语言层面上,我们支持一个合约的状态变量供另外一个合约直接读写(符合安全约束)。在部 署的合约中使用特殊的标记对需要进行状态共享的变量进行标注,如需要使用新pcbllc fwtlcffl t rnertvtriiif (1 Lalbl (If (ba oicejB5-_ seule r A

11、 _va lot) bdJueEHs.t sender valoe; bdJ+ raliiKrtm tnv: tlw relura f*:的合约去升级老合 约修正合约的一些漏洞或添加新的功能。在新合约的头部标注需要 升级的合约地址,将新合约发布到链上后,我们的智能底层将检查合约发布者能否使用 新合约升级老合约。如果新合约符合升级规 则,那么新的合约将共享老合约允许访问 的状态数据,在新合约生效后,老合约将终止。下图演示了合约的升级过程:ev Contract Mdlress:QxC 诳血帕gHrlJ池珈皿X 曲Cantnet doit Ev冊忙Clos-e Old ContractQue 12

12、MI 血吋 prh 政沖删EDDtapliJ-fGant fact Addings:0i瓯险M(rbl黏也住4群血Plic fuctin transfer I.itriBi 土it (bancesE-. sender A valne 城 _willwe 0) W】g;pdtliE MV1 llttJ bi】皿;合軫升级图2.合约定义CSAC 的智能合约在设计上,被划分为不同的种类分别包括:系统合约、模板合约、自定义合约,每种类型的合约在CSAC中都将有不同的处理方式和合约特性。系统合约:主要是用于验证合约创建的合法性、对主链和侧链进行管理、完成区块链核心参数管理、权限管理等系统核心服模板合约:

13、从自定义合约升级而来,具有特定应用场景业务逻辑的通用特点,CSAC合约开发者 可以通过贡献模板合约来获取奖励自定义合约:符合CSAC合约开发规范的开发者自建合约我们统称为自定义合约七、数据搜索引擎区块链的特性在于所有存储的数据都是被加密处理过的无法被人眼所识别,因此用户想 在链上 查询信息十分困难。为此我们需要一种技术来解决用户检索数据的问题,而搜索 引擎技术恰巧符合这 样的要求,然而受限于区块链数据的特性传统的搜索引擎服务在 区块链领域将无法发挥其作用。我们结合CSAC结构的特点设计一套兼容CSAC的数 据搜索引擎。主要分为以下几个模块:我们的数据搜索引擎整体架构分为三层,分别是API、执行层、服务层。 API层:对外提供统一的API服务,用户可以通过统一的API服务完成各类复杂的查询。执行层:响应来自API层,用户提交的访问请求,亥心功能包括分词器、数据过滤器、 查询解析 器和数据索引构造器。 服务层:负责读取链上数据。通过分析器的处理后,存入到数据索引存储引擎中,为 上层的数据的检索服务做准备;主要的功能包括:数据提取器、文本分区器、交易分析 器、合约分析器、数据访问管理器。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号