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

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

ID:57269884

大小:607.00 KB

页数:9页

时间:2020-08-08

CSAC信用链技术架构及区块算法.doc_第1页
CSAC信用链技术架构及区块算法.doc_第2页
CSAC信用链技术架构及区块算法.doc_第3页
CSAC信用链技术架构及区块算法.doc_第4页
CSAC信用链技术架构及区块算法.doc_第5页
资源描述:

《CSAC信用链技术架构及区块算法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、CSAC信用链技术架构及区块算法一、技术架构CSAC的整体架构分成三个层次:核心基础层通过API的接口为上层提供区块链基础服务;平台服务器层在底层之上,构建一系列符合行业标准的应用接口;应用在标准化的接口上创建高可用性、可扩展性的区块链应用。整体结构如下:CSAC的核心功能又被纵向划分为三大主题功能板块:账户中心、分布式账本服务、平台管理。其中,多数部分将会通过执行研发实现,有些部分采用某些标准的开源组件,还有一些部分是在成熟框架上进行优化和改进。二、数据存储CSAC的区块数据采取我们自主设计的数据管理方式进行存储,主要由三部分构成,如下

2、图所示:三部分数据分别为用于提供快速查询交易数据的轻量化本地索引数据、用于存储对象化的交易信息的分布式账本以及利用分布式哈希表技术用于存储文件的分布式文件系统。1、轻量化的本地索引数据:通过特有的安全协议对分布式账本上的交易记录进行监听,读取并存储账本上带有特殊标记的数据相关的交易记录的索引信息、解析读取相应的摘要信息,以便上层应用可根据摘要信息,对相应的交易记录进行检索。2、分布式账本:通过改进的交易的数据结构以及交易的确认过程,实现链上记录有关联交易的数据的关系,保障了数据内容的可追溯性。通过改进的共识机制提高了交易的确认时间,增强了

3、数据安全性。3、分布式文件系统:利用DistributedHashTable技术实现的分布式存储协议。通过文件内容(Hash)而非文件路径(URI)来对数据进行索引。大文件将被分割为固定大小的数据块分布式地存储在众多节点中。由众多节点共同来维护数据,但采用分布式文件系统存在一定的缺陷,需要一定的冗余来保障数据的可靠性。我们考虑提供多种策略由用户自行选择文件的可靠性等级,高等级的安全策略将使用骨干节点进行维护。三、账户设计CSAC的账户设计是将账户信息存储在树形结构中,账户树可以加快账户信息的检索速度及提高资产余额计算的效率。账户信息主要由

4、交易地址、资产、权限、综合指数等构成。通过我们的研究发现ED25519椭圆曲线算法具备完全开放的设计、高安全性、计算速度快等特点,因此我们的账号将基于ED25519算法进行生成。账户地址生成流程如下:四、共识算法CSAC采用的共识机制有别于其他主链,是以DPOS选举为基础,选举出的节点以PBFT打包和验证区块的混合共识机制。这个新的混合共识机制叫PSEC(自荐信用证明共识机制,ProofofSelf-EstimateCredit)。这个混合共识可以在t

5、,其中t表示拜占庭节点(即可能发生任意行为的节点,比如网络延迟、停机、恶意攻击等等)的个数,n表示所有节点的个数。1.PSEC区块产生PSEC共识算法的区块产生过程,如下图所示:每个共识周期都会选举出21主节点和63个备用节点来完成共识过程,任何人都可以参与到主节点及备用节点的竞选。被选中的节点承担责任的同时,相应地将会享有经济收益和管制权力。在CSAC公链运行过程中,共识过程状态一直保持着不间断的持续运行。再某一时刻CSAC的共识将保持在某个特定的共识周期中,每个周期将由选出的主节点轮流进行出块。选出的21个主节点轮流出完一个块后,我们

6、定义这次过程为出块的一个轮次。每个共识周期将保持21*21*N的出块个数。在特定出某一个区块的时候,被选出的21主节中的一个节点的身份将发生变化,我们定义这个节点为新区块的提议人(Proposer)。其它20个主节点(Witness)将扮演见证人角色,见证人与提议人一同完成对新区块的共识。在此过程中,63个备用节点(Candidate)时刻保持着工作状态,协助21个主节点完成共识过程。每个块的产生都会携带有一定的奖励,包括:固定收益、手续费收益、其他收益。这些收益都会根据在这个块的生成过程中,共识节点的贡献情况奖励。每一周期主节点会工作2

7、1轮,结束后重新选择共识节点。新一轮共识节点会保留上一轮表现最好的1/3共识节点进入新一轮的共识节点集合,剩下的节点将在全网中根据每个节点的综合指数进行排序算法,其中TOPN的将被选出开始新的周期。综合指数越高节点被选中的概率约高,综合指数的计算公式如下:五、虚拟机CVMCSAC虚拟机CVM依托LLVM来实现。核心协议和智能合约代码将会编译成CVM字节码,通过LLVM即时编译(Just-in-timecompilation)功能,实现其动态编译和优化,最终在沙箱环境中执行。同时借助于LLVM的模块化架构,开发者可以用熟悉的编程语言(如Ja

8、vaScript,JAVA,Go,C/C++等)实现更高性能和更安全的智能合约,给用户带来丰富的去中心化应用。借助于LLVM,CVM支持开发者用其熟悉的编程语言开发智能合约和应用。无形中降低了

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。