区块链 分片sharding 网络分片 交易分片 状态分片 是什么
Posted 软件工程小施同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链 分片sharding 网络分片 交易分片 状态分片 是什么相关的知识,希望对你有一定的参考价值。
一、分片和区块链分片
1. 分片
分片是数据库分区的一种形式,也称为水平分区,即将一个大的数据库切分成很多小的、可处理的部分,从而提高性能,缩短响应时间。
2、区块链分片
如果将分片技术运用到区块链中,就相当于将区块链网络里的所有待处理任务(比如确认交易、运行 DApp 等)进行分解,全网的节点也进行分组,每一组同时处理一个分解后的任务(比如200笔待确认交易),这样就从原先单一节点处理全网的所有任务变成了多组节点同时并行处理。
多年来,分片一直是传统数据库技术的重要组成部分,也是区块链扩容方面的焦点。数据库分片技术是将数据库分成更小、更快和更容易管理的数据分片,通过并行处理不同数据分片上的交易实现数据库系统的扩展。
二、分片技术网络内容
1、网络分片。
网络分片较为简单,但也最为重要,算是其他两层的地基。
网络分片,通过随机抽取出特定数量的节点,创建成一个分片。当形成多个分片后,分片中自行建立共识,对交易进行确认。
这些分片可以同时、平行地处理相互未建立连接的交易,提高网络并发量。
本体的网络分片采用层次化的网络架构,每个分片的网络相互独立管理,每个节点通过质押参与不同的分片网络中。
2、交易分片。
不同交易将只在不同的分片中运行,每个分片运行独立的共识算法。
本体交易分片以智能合约为基本单元,每个智能合约都运行在某个分片网络中,调用智能合约的交易需要发送到对应的分片网络中处理,以此实现交易分片。
3、状态分片。
这也是最为复杂、最具有挑战性的一种分片机制。整个储存库被分开,分别放在了不同的分片上。每个分片储存自己分片中的所有数据,而不是整个区块链的状态。
本体分片中,所有服务都以智能合约的方式实现,智能合约的状态数据也只在对应的分片网络中保存,以此来实现状态分片。
三、公链分片技术潜在的风险
分片技术虽然能在一定程度上解决区块链的性能问题,让区块链更具有可扩展性,但也存在缺陷。
- 一个是分区后,不同区的通信问题。如果要通信,势必要增加跨分区的通信机制(类似跨链),这会增加区块链的复杂性,开发难度也会提高。
- 第二个是区块链的安全性。在未分片之前,网络是多个节点组成的算力,分成若干个分区后,每个分区相当于一条独立的区块链,节点组成的算力下降。此时,对其中一个分区进行 51% 算力攻击就容易很多。控制了一个分区,攻击者就可以在这个分区内做恶,篡改交易。
- 就是说主分片掌握了绝大多数的核心数据与核心权力,存在一定中心化风险与安全风险,攻击者只需对主分片实施攻击,便可导致分片网络的瘫痪。
以上是关于区块链 分片sharding 网络分片 交易分片 状态分片 是什么的主要内容,如果未能解决你的问题,请参考以下文章
以太坊扩容方案分片(Sharding)将在2020年完成部署