金色观察|一文读懂长安链_区块链:Chain

中国国家队的联盟链中,还有一条级别很高、举足轻重的联盟链,这就是长安链。本文中笔者整理了长安链的相关资料,帮助读者全面了解长安链。

长安链背景资料

长安链ChainMaker由北京微芯研究院、清华大学、北京航空航天大学、腾讯、百度和京东等知名高校、企业共同研发。取名“长安链”,喻意“长治久安、再创辉煌、链接世界”。

长安链作为区块链开源底层软件平台,包涵区块链核心框架、丰富的组件库和工具集,致力于为用户高效、精准地解决差异化区块链实现需求,构建高性能、高可信、高安全的新型数字基础设施,同时也是国内首个自主可控区块链软硬件技术体系。

长安链生态

构建基于长安链ChainMaker的数字经济国家主链,以重大场景应用为牵引,构建长安链生态网络,汇集数据要素,增进业务协同,繁荣数字经济新生态。

自主可控

面向世界科技前沿,秉持自主创新原则,汇聚国内顶级工程师和科学家团队,长安链·ChainMaker构建了全球独创的底层技术框架,关键技术模块全部自研,成为国际区块链技术发展的新动能,为国家“新基建”提供自主、可控、安全的区块链数字经济基础设施。独创深度模块化、可装配、高性能并行执行的区块链底层技术架构,覆盖国产密码算法、基于国密证书的加密通讯和国产CA证书颁发认证机构。

开源开放

自诞生起,长安链践行开源、开放的理念,最大范围联合产、学、研、用各类科研力量,由顶尖高校、知名企业等优势力量共同开发,同时广泛拥抱个人和企业开发者,打造标准规范体系,共建开源开放充满活力的区块链技术生态;

与时共创第二届年度金色盛典“年度创新技术奖”榜单发布:12月26日,与时共创第二届年度金色盛典在三亚举行。现场发布“年度创新技术奖”榜单:HPB芯链、Cocos-BCX、逆熵科技、Zenlink、Phala Network、Chainlink、MXC极域、Grin、加密矩阵ABMatrix、币核云、链上ChainUP、Thor Chain、太壹科技、京东数科、区块链服务网络(BSN)。[2020/12/26 16:34:56]

采用友好的开源协议,开放软件源代码,推动多项技术体系标准化,建立标准化下的开发生态。

性能领先

长安链拥有高效并行调度算法、高性能可信安全智能合约执行引擎、流水线共识算法等国际领先的区块链底层技术,具备高并发、低延时、大规模节点组网等先进技术优势,交易吞吐能力可达10万TPS,位居全球领先水平。支持基于内存的数据系统,提升交易处理性能。

灵活装配

长安链将区块链执行流程标准化、模块化,推进区块链技术从手工作业模式演进到自动装配生产模式,方便用户根据不同的业务需求搭建区块链系统,为技术的规模化应用提供基础;可插拔、可分离的自主可控核心框架,可快速接入优势底层模块/单一定制化开发模块。

并行调度

在提案-验证整体框架下,支持基于DAG的块内交易并行调度提案和并行验证;调度支持确定性调度和随机调度等多种并行调度算法。

金色晚报 | 11月24日晚间重要动态一览:12:00-21:00关键词:Coinbase、以太坊2.0、中国银联、XRP、Visa

1. 澳大利亚投资管理公司PendalGroup开始投资比特币期货。

2. 数据:目前以太坊2.0存款合约上ETH持有量排名13。

3. Flare Network公布Spark代币分配方案,总量1000亿枚Spark。

4. BTC在CoinBase历史高点于主流交易所中最高。

5. Visa CEO:将虚拟货币视作一种货币而非商品。

6. 以太坊2.0存款合约地址余额突破60万ETH。

7. 姚前:区块链技术值得数据跨境流动及其监管各方深入研究。

8. 中国银联总公司正在招聘区块链研究方向的工程师。

9. 康律之:二级市场决定比特币定价的筹码越来越少 未来行情增长可能远超预期。

10. Coinbase上XRP一度飙升超0.9美元后随即暴跌 震荡行情引发宕机争议。[2020/11/24 21:59:31]

广域网络

基于PubSub机制,支持多链隔离下P2P网络的复用与数据隔离;支持NAT穿透,复杂网络拓扑下的大规模节点组网,支持网络节点动态治理。

多链架构

支持并行多链实现不同参与方间的数据隔离;可根据场景灵活扩展子链以支持业务和吞吐量的需求。

权限管理

金色财经挖矿数据播报 | BSV今日全网算力下降4.05%:金色财经报道,据蜘蛛矿池数据显示:

BTC全网算力116.673EH/s,挖矿难度13.73T,目前区块高度634309,理论收益0.00000945/T/天。

ETH全网算力181.255TH/s,挖矿难度2266.24T,目前区块高度10247990,理论收益0.00864876/100MH/天。

BSV全网算力1.755EH/s,挖矿难度0.27T,目前区块高度638962,理论收益0.00051281/T/天。

BCH全网算力2.438EH/s,挖矿难度0.35T,目前区块高度639179,理论收益0.00036919/T/天。[2020/6/12]

为链上每个操作定义访问权限,支持细粒度权限管理策略;结合组织、角色等提供灵活的身份权限配置方案。

长安链逻辑架构

长安链逻辑架构如下图所示。主要包含以下元素:

共识节点:参与区块链网络中共识投票、交易执行、区块验证和记账的节点。

同步节点(syncnode):或称见证节点,参与区块和交易同步、区块验证,交易执行,并记录完整账本数据,但不参与共识投票。

轻节点(lightnode):参与同步和校验区块头信息、验证交易存在性的节点。

SDK:帮助用户通过RPC和区块链网络进行连接,完成合约创建、调用、链管理等功能。

金色相对论 | BSN副秘书长李慧:区块链主要解决的是数据可追溯、多方互信等问题:在今日举行的金色相对论中,针对“区块链落地的爆发点会在哪儿”的问题,火币区块链研究院副院长区块链服务网络(BSN)副秘书长李慧表示,区块链主要解决的是数据可追溯、多方协同以及多方互信等问题,涉及到多方的问题,通常都是比较复杂的问题,需要大家一起来配合。但在实际落地实施的过程中总会碰到这样那样的问题,如果没有一个强有力的执行方和推动方,很可能一个很好的项目就会搁置起来,难以落地,我们也不难从很多失败的区块链项目看到这样的情景再现。最好的落地场景,我认为在当前阶段如要满足以下几个特点,才有较高的落地成功概率。

1.有真实的业务痛点和需求,除了区块链技术其它技术是很难解决的;

2.应用场景业务复杂度不高,能够快速做试点,并有良好的可复制性;

3.参与各方利益目标一致,可以实现“共赢”;

4.有实际的推动方,有促成项目成功的强烈愿望和需求。[2020/6/3]

区块链浏览器(ChainMakerbroswer):通过可视化界面为用户展示区块信息、交易信息、节点信息等区块链信息。

管理平台(managementplatform):通过可视化界面方便用户对链进行管理、信息浏览和资源监控等。

合约IDE(contractIDE):智能合约在线开发环境,长安链所有合约支持语言均可在该IDE上开发和编译。

命令行工具集(ChainMakerCLI,cmc):使用户可以用命令行的方式对链进行部署和管理操作,例如证书生成、链配置、交易发送等。

金色午报 | 2月17日午间重要动态一览:7:00-12:00关键词:央行、农村农业部、腾讯安全、挖矿木马、Zcash

1. 央行今日开展2000亿元MLF操作。

2. 农村农业部:强调促进区块链等新一代信息技术与农业融合。

3. 顺丰通过大数据和区块链等技术保障数据安全运行。

4. 腾讯安全:2019年广东、浙江、北京、江苏感染挖矿木马情况最严重。

5. Zcash Community Chat将于2月23日关闭服务。

6. 比特微2019年出售超60万矿机,市场份额扩大。

7. 市场普跌,BTC暂报9836美元,近24小时下跌1.93%。[2020/2/17]

自下而上,长安链由以下层级构成:

基础设施层:公有云、私有云,包括虚拟机、物理机等,为长安链提供基础运行环境。

存储资源层:为长安链节点提供数据存储服务,具体情况可参见数据存储章节。

基础组件层:为长安链节点提供密码学、配置、日志、常用数据结构等通用技术组件,具体可见chainmaker-common项目。

核心模块层:长安链共识算法、核心引擎、虚拟机等核心模块,核心模块均采用可插拔设计,为可装配区块链奠定基础。

接入层:多语言链SDK,方便应用开发者与链交互。

前端应用层:包括区块链管理平台、区块链浏览器、合约开发IDE等,方便用户直接访问区块链底层平台。

长安链的区块产生流程

长安链区块产生的核心流程如下图所示,主要包括:

提议候选区块。区块提议节点从交易池选取一批交易,并行调度执行得到结果,生成DAG,并将区块和DAG广播。

共识候选区块。基于链上的共识机制,对候选区块进行共识投票。

验证候选区块。在共识过程中,网络中其他节点针对提议的候选区块进行正确性验证。

执行候选区块。将完成共识投票的区块提交记录至账本,并从交易缓存中移除。

长安链的虚拟机

长安链目前在软件上支持的虚拟机字节码包括两类:WASM和EVM字节码。

WebAssembly有一套完整的语义,实际上wasm是体积小且加载快的二进制格式,其目标就是充分发挥硬件能力以达到原生执行效率。WebAssembly设计了一个非常规整的文本格式用来开发、调试、测试、优化。

EVM字节码是最初运用在以太坊上的一种虚拟机字节码,目前已经被广泛的运用在许多区块链平台上,有相对比较成熟的开发工具支持。

长安链的智能合约SDK

用户通过高级语言编写的智能合约一般情况而言,都需要存取区块链上的数据、API支持,ChainMaker为不同的高级语言提供了不同的SDK。当然,这些SDK提供的基本能力是相同的,包括读取数据、写入数据、查询区块链的一些状态等。

不同语言的SDK受限于语言本身特性和编译器的支撑能力,比如go语言支持函数同时返回多个数据,而tinygo编译器对垃圾回收支持存在缺陷,加上区块链系统本身为智能合约提供的运行内存大小受限、调用栈深度受限,用户编写合约时,需要注意这些特性。

目前ChainMaker已经支持的智能合约开发SDK包括Rust、Go、C++和Solidity。

长安链的共识协议

长安链自v1.1.0开源版本起支持Solo,Raft,TBFT,HotStuff四种共识类型。四种共识对比如下:

长安链的点对点网络

长安链2.0版本的网络模块是基于libp2p的v0.6.4版本实现并改进的。节点的网络地址遵循libp2p地址格式协议;为了满足长安链网络消息在多链场景下的数据隔离需求,我们修改了libp2p-gossip-pubsub模块源码,加入节点白名单机制,精确控制路由表,并让节点上的每条链都独享一个独立的Pubsub服务,保证了广播数据只会在链内的节点传播的确定性;为了满足国密加密算法的支持,我们还修改了libp2p-core核心包,增加了对国密TLS证书的支持。

基于libp2p的改进:

核心包增加对国密SM算法的支持;

libp2p-gossip-pubsub功能模块增加白名单功能,实现对Gossip路由表的控制,达到广播消息隔离效果;

引入StreamPool,实现stream复用提高性能、网络吞吐能力自动扩容等特性。

点对点网络特性包含:

大规模节点组网;

动态节点和连接管理;

专有网络穿透连接;

多链网络隔离。

长安链的组网方式

长安链支持自动发现、自动连接的组网方式,默认在线的每个节点都可以作为种子节点为其他节点提供网络发现服务,每个种子节点都会记录网内节点地址信息。当有新节点连接到某个种子节点时,新节点会向该种子节点查询网内其他可连接节点的地址,拿到其他节点地址后,新节点会主动尝试与这些节点建立连接;另外,种子节点在接受了新节点链接后,会通过网络发现服务将该新节点的地址通知给其他在线的种子节点,其他节点在获得该新节点地址后,也会主动尝试与该新节点建立连接。

长安链理论上可实现上万甚至更多节点同时在线组网。

长安链的存储

长安链支持常用的数据库来存储账本数据,如LevelDB、RocksDB、MySQL等数据库,业务可选择其中任意一种数据库来部署区块链。

账本数据主要分为5类:

区块数据,记录区块元信息和交易数据:

区块元数据包括:区块头、区块DAG、区块中交易的txid列表,additionalData等;

交易数据,既序列化后的交易体,为了提供对单笔交易数据的查询,所以对交易数据进行了单独存储。

状态数据,记录智能合约中读写的链上状态数据,既世界状态。

历史数据,长安链对每笔交易在执行过程中的状态变化历史、合约调用历史、账户发起交易历史都可以进行记录,可用于后续追溯交易、状态数据的变迁过程。

合约执行结果读写集数据,长安链对每笔交易在执行过程中的所读写的状态数据集进行了单独保存,方便其他节点进行快速的数据同步。

事件数据,合约执行过程中产生的事件日志。

针对上述5类账本数据,长安链分别实现了5个DB类,分别是:BlockDB、StateDB、HistoryDB、ResultDB和ContractEventDB。采用多个数据库之后,就需要维护数据库之间的数据一致性,避免仅有部分数据库提交后,发生程序中断而导致不同数据库间的数据不一致,因此,长安链引入了Blockbinarylog组件来持久化存储区块的原始内容,用于重启过程中的数据恢复,类似于数据库中的预写式日志(wal)的功能。需要注意的是,历史数据、结果数据并不是每个节点必须保存的,节点可以根据自己的业务需要在配置文件中启用或者关闭历史数据库和结果数据库。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:960ms