Polkadot 安全机制揭秘:保障多链生态的互操作性与安全性
作者:Filippo Franchini,Web3 Foundation
原文:https://x.com/filippoweb3/status/1806318265536242146
编译:OneBlock+
Polkadot 是一个创新的多链区块链平台,旨在实现不同区块链之间的互操作性和共享安全性。本文将详细探讨 Polkadot 的安全机制,特别关注其核心(core)和链上(on-chain)系统如何为 rollups 提供共享安全,以及平行链协议如何确保整个网络的可用性和有效性。
Polkadot 的安全架构
Polkadot 的安全机制依赖于其独特的核心和验证者(validators)系统。Polkadot 的平行链(parachains)通过核心与中继链(relay chain)连接,每个核心由一个由 5 个验证者(dots)组成的小组守护,这些小组每分钟在核心之间轮换,并每 4 小时更换一次成员。

一级链(L1)向核心发送带有一些证明的区块候选(block candidates)。当核心中的 3/5 验证者接收并验证数据后,L1 区块候选被备份到 Polkadot 中继链。(图中:橙色,R1)

此后,核心被占用(图中:红色),备份者会分发一些纠删码(用于重构信息以便进一步检查和处理争议)和区块候选回执(CR,记录到中继链中)给核心外的验证者。

Polkadot 的 BABE(区块生产算法)会选择一个区块作者,将区块候选回执包含在后续的中继链区块中(图中:蓝色,R2),核心变为可用状态,用以接收后续候选信息进行备份。

在没有异步支持的 Polkadot 1.0 版本中,L1 区块每 12 秒被纳入中继链,核心验证者执行时间为 0.5 秒。

在Polkadot 1.0中,一个 L1 链可以占用一个核心最多 2 年。

平行链协议概述
原文:https://wiki.polkadot.network/docs/learn-parachains-protocol
平行链协议通过一个可以重复并行进行的过程,将一个平行链的区块从创建到纳入中继链。该协议允许网络高效分片,同时保持强大的安全性保证。Availability and Validity(AnV)协议从可用性和有效性的角度描述了 Parachain 协议。

主要角色
验证者(Validators):负责验证平行链区块的有效性证明(PoV),确保在指定时间段内 PoV 的可用性。验证者在链上有保证金,行为不端时可能被部分或全部没收。
收集者(Collators):创建 PoV 供验证者检查。创建 PoV 需要熟悉特定 parachain 的交易格式和区块创作规则,并拥有完整的状态访问权限。
Parachain 协议的主要阶段
-
纳入流程(Inclusion Pipeline):收集者将平行链区块(parablocks)连同 PoV 发送给验证者。验证者检查 parablocks 是否遵循状态转换规则,并签署结果。获得足够正面结果后,区块被备份并纳入中继链,但仍需批准。

-
审批过程(Approval Process):验证者进行额外检查,如果通过,平行链区块会被批准。
数据可用性和有效性协议(AnV)
AnV 协议从另一角度审视 Parachain 协议,强调 parablock 在纳入最终中继链前必须是可用和有效的。分为五个阶段: -
纳入流程中的三个阶段:平行链阶段、中继链提交阶段、可用性和不可用性阶段。
-
批准流程中的两个阶段:任务分配和二级(有效性)检查、链选择。
Polkadot 通过其核心和验证者系统,以及平行链协议,提供了强大的安全机制,确保网络的高效运作和区块的有效验证。随着技术的发展和协议的不断优化,Polkadot 有望在区块链互操作性和共享安全性领域继续发挥重要作用。
相关文章:
Polkadot 安全机制揭秘:保障多链生态的互操作性与安全性
作者:Filippo Franchini,Web3 Foundation 原文:https://x.com/filippoweb3/status/1806318265536242146 编译:OneBlock Polkadot 是一个创新的多链区块链平台,旨在实现不同区块链之间的互操作性和共享安全性。本文将详…...
python将多个文件夹里面的文件拷贝到一个文件夹中
网上可以搜到很多方式,有的好使,有的不好使,亲测如下脚本可用,并可达到我想要的效果,只将多个文件夹里的文件拷贝到一个文件夹中,不拷贝文件夹本身,如果需要文件夹也拷贝打开注释行即可 import…...
docker私有仓库harbor部署
docker私有仓库harbor部署 概述 Docker 官方镜像源被中国大陆政府封锁,导致无法在中国大陆的计算机上直接使用 Docker 拉取镜像,导致使用者一下子手足无措了,的确一开始会有很大的影响,为了应对这种影响我们可以自己构建私有仓库&…...
如何在Java中实现函数式编程
如何在Java中实现函数式编程 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在Java中,函数式编程是一种编程范式,它将计算视为数学函数…...
二叉树与堆相关的时间复杂度问题
目录 满二叉树与完全二叉树高度h和树中节点个数N的关系 向上调整算法: 介绍: 复杂度推导: 向下调整算法: 介绍: 复杂度推导: 向上调整建堆: 介绍: 复杂度推导:…...
goLang小案例-获取从控制台输入的信息
goLang小案例-获取从控制台输入的信息 1. 案例代码展示 package mainimport ("bufio""fmt""log""os" )var pl fmt.Printlnfunc main() {//控制台输出欢迎提示pl("Hello Go")fmt.Print("what is your name? ")…...
1-5题查询 - 高频 SQL 50 题基础版
目录 1. 相关知识点2. 例题2.1.可回收且低脂的产品2.2.寻找用户推荐人2.3.大的国家2.4. 文章浏览 I2.5. 无效的推文 1. 相关知识点 sql判断,不包含null,判断不出来distinct是通过查询的结果来去除重复记录ASC升序计算字符长度 CHAR_LENGTH() 或 LENGTH(…...
Modbus协议转Profinet协议网关模块连智能仪表与PLC通讯
一、现场需求:PLC作为控制器,仪表设备做为执行设备,执行设备能够实时响应PLC传来的指令,并且向PLC回馈数据,从而达到PLC对仪表设备进行控制和监测,实现对生产过程的精准控制。 二、解决方案:通过…...
新手必学:TikTok视频标签的使用方法
想让你的TikTok视频火起来,就得用对标签。标签能帮你的作品被更多人看到,也更有利于推广,可以为品牌增加曝光度、吸引更多观众、提高转化率和借势热门话题。那么应该如何选择标签并使用标签呢,看完这篇分享你或许会有所启发&#…...
AI是在帮助开发者还是取代他们
近年来,AI工具在软件开发和数据分析领域的应用日益广泛,它们对开发者的日常工作产生了深远的影响。AI工具通过自动化处理大量数据、优化代码质量、提高测试效率等方式,极大地提升了开发者的工作效率。然而,这同时也对开发者的传统…...
【后端面试题】【中间件】【NoSQL】MongoDB查询过程、ESR规则、覆盖索引的优化
任何中间件的面试说到底都是以高可用、高性能和高并发为主,而高性能和高并发基本是同时存在的。 性能优化一直被看作一个高级面试点,因为只有对原理了解得很透彻的人,在实践中才能找准性能优化的关键点,从而通过各种优化手段解决性…...
使用c++函数式编程实现Qt信号槽机制
问题背景 在下面的代码中,Input输入器 输入数据,希望A和B 接收数据。但使用的赋值,导致in.a和a只是拷贝数据,而不是同一个对象,使得数据不同步。 #include <iostream> struct A {int age 32; }; struct B {int …...
【Android】Activity子类之间的区别
从底层往顶层的继承顺序依次是: Activity,最原始的Activity androidx.core.app.ComponentActivity,仅仅优化了一个关于KeyEvent的拦截问题,一般不继承这个类 androidx.activity.ComponentActivity,支持和Android Arc…...
在 Mac 上使用 MLX 微调微软 phi3 模型
微调大语言模型是常见的需求,由于模型参数量大,即使用 Lora/Qlora 进行微调也需要 GPU 显卡,Mac M系是苹果自己的 GPU,目前主流的框架还在建立在 CUDA 的显卡架构,也就是主要的卡还是来自英伟达。如果要用 Mac 来做训练…...
【JavaEE】多线程代码案例(2)
🎏🎏🎏个人主页🎏🎏🎏 🎏🎏🎏JavaEE专栏🎏🎏🎏 🎏🎏🎏上一篇文章:多线程代码案例(1)&a…...
Halcon支持向量机
一 支持向量机 1 支持向量机介绍: 支持向量机(Support Vector Machine,SVM)是Corinna Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别表现出许多特有的优势。 2 支持向量机原理: 在n维空间中找到一个分类超平面…...
【Python机器学习】模型评估与改进——在模型选择中使用评估指标
我们通常希望,在使用GridSearchCV或cross_val_score进行模型选择时能够使用AUC等指标。scikit-learn提供了一种非常简单的实现方法,那就是scoring参数,它可以同时用于GridSearchCV和cross_val_score。你只需要提供一个字符串,用于…...
【C语言】union 关键字
在C语言中,union关键字用于定义联合体。联合体是一种特殊的数据结构,它允许不同的数据类型共享同一段内存。所有联合体成员共享同一个内存位置,因此联合体的大小取决于其最大成员的大小。 定义和使用联合体 基本定义 定义一个联合体类型时…...
电脑回收站删除的文件怎么恢复?5个恢复方法详解汇总!
电脑回收站删除的文件怎么恢复?在我们日常使用电脑的过程中,难免会遇到误删文件的情况。一旦发现自己误删文件了,先不要着急,还是有很多方法可以找回的。市面上还是有很多好用的文件恢复软件可以使用,具体介绍如下。 本…...
mac 安装cnpm 淘宝镜像记录
mac 安装cnpm 淘宝镜像记录 本文介绍了在安装cnpm时遇到权限问题的解决方案,包括使用sudo,处理SSL证书过期,以及因版本不一致导致的错误处理方法,步骤包括设置npm配置、卸载和重新安装cnpm到特定版本。 安装 npm install cnpm …...
Graphormer效果展示:OGB-LSC PCQM4M榜单提交格式与验证流程
Graphormer效果展示:OGB-LSC PCQM4M榜单提交格式与验证流程 1. 模型概述 Graphormer是一种基于纯Transformer架构的图神经网络,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB(Open Graph B…...
ai赋能开发:让快马平台智能生成mpu6050手势识别代码
最近在做一个基于MPU6050传感器的手势识别项目,发现用传统方式开发效率太低,于是尝试了InsCode(快马)平台的AI辅助开发功能。整个过程让我深刻体会到,AI如何改变硬件开发的效率瓶颈。 数据采集模块的智能生成 当我输入"用Arduino持续读取…...
DSQC346G 3HAB8101-8 机器人伺服驱动单元
DSQC346G 3HAB8101‑8 机器人伺服驱动单元介绍DSQC346G(3HAB8101‑8)是一款专用于工业机器人伺服系统的驱动单元,用于控制伺服电机的运动与输出,实现机器人关节或轴的精确位置、速度和力矩控制,是机器人驱动链中的核心…...
PlotJuggler颜色映射终极指南:如何创建惊艳的数据可视化效果
PlotJuggler颜色映射终极指南:如何创建惊艳的数据可视化效果 【免费下载链接】PlotJuggler The Time Series Visualization Tool that you deserve. 项目地址: https://gitcode.com/gh_mirrors/pl/PlotJuggler PlotJuggler是一款功能强大的时间序列数据可视化…...
Wangle客户端开发实战:从零开始构建高效网络应用
Wangle客户端开发实战:从零开始构建高效网络应用 【免费下载链接】wangle Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way. 项目地址: https://gitcode.com/g…...
Android 11文件权限避坑指南:为什么你的APP无法修改原文件?
Android 11存储权限深度解析:从沙盒机制到实战解决方案 在去年的一次应用升级中,我们团队遇到了一个棘手的问题:用户反馈图片编辑后无法保存到原位置。经过排查,发现这是Android 11引入的存储权限机制变化导致的。作为开发者&…...
GEE快速入门:哨兵2号影像批量下载与去云处理指南
1. 为什么选择GEE处理哨兵2号影像? 如果你正在寻找一个免费、高效且无需本地高性能计算机的遥感数据处理方案,Google Earth Engine(GEE)绝对是你的首选。作为一个云端地理空间分析平台,GEE存储了海量的卫星影像数据&am…...
Nunchaku FLUX.1-dev实战:手把手教你用ComfyUI生成惊艳AI图片
Nunchaku FLUX.1-dev实战:手把手教你用ComfyUI生成惊艳AI图片 1. 环境准备与快速部署 1.1 硬件与软件要求 在开始之前,请确保你的系统满足以下基本要求: 显卡:NVIDIA显卡(推荐RTX 30/40系列,显存8GB&am…...
实战指南:为spring boot项目快速配置最优jdk环境,助力应用高效部署
最近在准备一个Spring Boot项目时,发现JDK环境配置这个看似简单的环节其实藏着不少学问。特别是当项目需要兼顾开发效率和生产环境稳定性时,合理的JDK配置方案就显得尤为重要。今天就来分享下我的实战经验,以及如何利用工具快速搞定这些配置。…...
Janus-Pro-7B开发者案例:基于7860 Web UI构建内部AI知识助手
Janus-Pro-7B开发者案例:基于7860 Web UI构建内部AI知识助手 1. 项目背景与价值 企业内部知识管理一直是个头疼的问题。各种文档、图片、报告散落在不同系统中,员工想要快速找到需要的信息往往需要花费大量时间。传统的搜索工具只能基于文字匹配&#…...
