深度解析 Partisia Blockchain 可证明的快速通道共识

图片

来源:

https://partisiablockchain.com/poseidon-provable-fast-track-consensus-by-partisia-blockchain/

https://drive.google.com/file/d/1OX7ljrLY4IgEA1O3t3fKNH1qSO60_Qbw/view

编译:TinTinLand

任何区块链的核心要求都是建立对共享分布式账本的可信共识,其中包含了诸如交易排序和智能合约等信息。在 Partisia Blockchain 上,交易可以通过区块创建添加到分布账本中,并在完成签名后立即执行,从而在传播和聚合签名的 P2P 网络中建立共识。当一个节点获得 2/3 或更多节点签名时,就会建立正当性证明 (Proof-of-Justification, PoJ)并继续评估下一个区块实现循环运作,这一过程执行的速度与 P2P 网络中的信息传输速度一样快,这被称为 Poseidon。

图片

本篇文章将详细解读 Partisia  Blockchain 快速通道共识机制与基本模型理念,让我们一起来看!

共识和区块创建 

Partisia  Blockchain 采用基于快速通道委员会的共识模型来决定是否执行项目,该委员会由运行基本区块链服务的 Baker 节点组成。如前所述,这是只有一个委员会组成且不超过 1,000 人的 Backer 节点白名单。

该共识模型由以下三部分组成:

1. 验证证明(Proof-of-Verification, PoV):确保签名块来自实际执行区块包含所有事务的验证者;换句话说,PoV 是验证者亲自验证块内容的保障。

2. 快速通道共识:快速达成共识的过程。

3. 激励方案:激励 P2P 网络中的传播效率和高度连接性。

图片

完整的共识模型展示

验证证明(Proof-of-Verification, PoV)

验证证明提供了一种保证,即当验证者在一个文件上签名时,区块实际上执行了该区块中包含的所有交易。这样验证的目的是为了避免验证者在从提议者或被认为是诚实的验证者那里收到一个块时,草率执行签名操作的情况。虽然这并不一定会造成安全问题,但实际效果是将所有繁琐的核查程序集中在少数核查者身上。 

由此,Pov 保证了有效证明必须要求证明者持有区块的实际状态、验证者同样需要持有区块链状态、证明技术减少了外包产生证明所需工作量。Pov 因能够实现这样的三重保障机制,而被定义为更新状态的个性化序列,并且能够保证验证者与证明者轻松保持访问状态。

最后,由于证明是个性化的,外包证明制作存在较大风险。为了保证外包证明有实际意义地被创建,外包方不能检查返回证明是否有效(实际上,证明验证与证明创建相同,在这种情况下,证明方也可以自己生成证明)。由于外包商无法检查 PoV 是否有效,如果他们在不知情下传递了错误的证明,那么外包者节点就会遭遇挑战。

快速通道共识(FastTrack consensus)

快速通道共识经过 Optimistic Protocol 在至少 2/3 的 Baker 节点中达成共识,并且该协议具有在运行失败时自动恢复的能力。当 Optimistic Protocol 运行时,单个区块提议者被选中并持续创建新区块,委员会中其他所有节点验证者进行区块有效性验证并对其签名,该协议定义了由提议者创建固定数量区块,而当固定数量区块已经完成时,则会选择一个新的提议者“创建”或“关闭”区块如下文所述。

Partisia  Blockchain 基于交易成本开展项目运作,因为几乎所有交易都与区块链用户支付的费用有关。为了确保项目快速执行,链上交易通过立即创建区块来执行——这也就是我们常说的 Eager FastTrack 共识。因此,只要提议者诚实且活跃,区块链就会在交易出现时按需生成区块;然而,为了确保可用性,在 30 秒内没有接收到任何交易业务需求的情况下,链上将自动执行一个空白的“Heart Block”

共识性和确定性各通过正当性证明 (Proof-of-Justification, PoJ)配方证明(Proof-of-Fragrance,PoF)建立:

  • PoJ 是一个由 2/3 或更多节点签名组成的列表,用于确认单个节点持有当前区块的有效性。

  • PoF 证明前一个区块已经完成,它是由当前区块上的任何 PoJ 间接建立的;因此,当 2/3 或更多签名节点为当前块提供了 PoJ 时,前一个块就完成了执行任务。

当所有签名节点中有 2/3 或更多节点注册时,会有一个区块被认为是最终确定的节点。请注意,Poof 不会通过 P2P 网络广泛应用,而是以去中心化的形式存在,这意味着它会通过在下一个区块进行的任何 PoJ 间接显示,这一去中心化的特性确保了即使在网络不同步的情况下也能快速达成共识。

如果新的交易在 30 秒内没有被处理,系统假设提议者停止生产有效的区块(或因网络问题无法将区块发送给验证者)并启动恢复机制(即关闭程序)。关闭程序的目的是确保所有委员会成员都同意无论哪个区块成为最终完成执行任务的区块;在单个节点视图中,用 PoJ 验证区块可能会在极少数情况下被取消,即可能最多返回一个区块来确保所有节点都获得委员会同意。然后,系统会产生一个特殊的确定性区块(关闭块)并添加到分类账本中,在关闭区块被添加后,委员会选择一个全新的提议者来负责创建区块并以 Optimistic Protocol 的方式重新启动。

图片

快速通道的共识过程

为了允许节点加入和离开委员会,则必须有一个改变委员会的程序办法,这部分的工作交由智能合约来处理,它收集旧委员会在新委员会上的确认签名,只有当 80% 的旧委员会成员在委员会上签字(委员会变更证明),节点的加入与离开才被允许进行,节点转换是作为区块链事务完成的,其中新委员会存储在区块链状态中。

一旦当前委员会看到全新的委员会应被激活,他们将触发关闭程序以确保当前委员会确实同意当前的区块状态。当一个关闭块已经产生(并且委员会更改事件没有退回)时,旧委员会不再被允许产生区块,此时新委员会顺利接管。为了进一步加快交易速度,在一个区块被提议(由提议者)或被验证(由验证者)后立即启动交易执行。然而,最终结果取决于所讨论区块 PoF 完成情况。

图片

区块生成和事务执行过程

🧬 更多技术解析详情可点击:

https://drive.google.com/file/d/1OX7ljrLY4IgEA1O3t3fKNH1qSO60_Qbw/view

📀 Partisia Blockchain 拥有 7 项独特的技术创新,可提供完整的 Layer1+Layer2 层区块链。想要了解更多关于 Layer 1 新星项目 Partisia Blockchain 的全面技术解读你可以查看 TinTinLand 往期文章:

  • 《Layer1 明星项目 Partisia Blockchain 何以打造互操作、可创新的数字经济网络》

  • 《隐私与创新的交汇点:Partisia Blockchain 重绘技术蓝图》

  • 《Layer1 新星 Partisia Blockchain 撑起隐私保护伞,助你无忧加密交易!》

  • 《Partisia Blockchain 在世界经济论坛:重建信任,打造 MPC 链上托管高级解决方案》

  • 《从理论到实践,Partisia Blockchain 如何通过 MPC 技术实现隐私与行业共赢?》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2904673.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Web框架开发-Django中间件

一、中间件的概念 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能。 Django的中间件的定义: Middleware is a framework of hooks into Dj…

软件工程学习笔记12——运行维护篇

运行维护篇 一、版本发布1、关于软件版本2、版本发布前,做好版本发布的规划3、规范好发布流程,保障发布质量 二、DevOps工程师1、什么是 DevOps 三、线上故障1、遇到线上故障,新手和高手的差距在哪里2、大厂都是怎么处理线上故障的 四、日志管…

【AI】在本地 Docker 环境中搭建使用 Hugging Face 托管的 Llama 模型

目录 Hugging Face 和 LLMs 简介利用 Docker 进行 ML格式的类型请求 Llama 模型访问创建 Hugging Face 令牌设置 Docker 环境快速演示访问页面入门克隆项目构建镜像运行容器结论推荐超级课程: Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战Hugging Fa…

每日算法之接雨水

题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1…

Zookeeper节点ZNode和相关属性

节点类型: Znode两种类型 : 持久的(persistent):客户端和服务器端断开连接后,创建的节点不删除(默认)。 短暂的(ephemeral):客户端和服务器端断…

OpenCV 如何使用 XML 和 YAML 文件的文件输入和输出

返回:OpenCV系列文章目录(持续更新中......) 上一篇:如何利用OpenCV4.9离散傅里叶变换 下一篇: 目标 本文内容主要介绍: 如何使用 YAML 或 XML 文件打印和读取文件和 OpenCV 的文本条目?如何对 OpenCV …

2023中国制造业标杆工厂数字化转型场景地图报告(可下载)

请前往星球下载(可领取优惠券):https://t.zsxq.com/18gRm06pe

VsCode的json文件不允许注释的解决办法

右下角找到注释点进去 输入Files: Associations搜索出此项 改为项为*.json值为jsonc保存即可 然后会发现VsCode的json文件就允许注释了

[BT]BUUCTF刷题第10天(3.28)

第10天(共3题) Basic BUU SQL COURSE 1 打开网站看到右上角有个登录界面,怀疑是SQL注入 但是多次尝试都无果 通过看题解知道了还有一个隐藏网页(content_detail.php) 随便点一个测试新闻进去后点F12看网络&#xf…

SpringBoot+Prometheus+Grafana实现应用监控和报警

一、背景 SpringBoot的应用监控方案比较多&#xff0c;SpringBootPrometheusGrafana是目前比较常用的方案之一。它们三者之间的关系大概如下图&#xff1a; 关系图 二、开发SpringBoot应用 首先&#xff0c;创建一个SpringBoot项目&#xff0c;pom文件如下&#xff1a; <…

如何调试Clang源码

下载编译Clang 这个就直接去LLVM官网下载&#xff0c;然后编译好Clang就行&#xff0c;注意得debug模式&#xff0c;保存符号信息。 调试Clang 可以直接通过命令行来调试 #进入调试环境&#xff0c;这里的clang得是刚刚编译好的 lldb ./clang # r是运行&#xff0c;后面是正…

OpenHarmony实战开发-滑动容器组件Swiper的使用

介绍 本篇Codelab主要介绍了滑动容器组件Swiper的几种常见的应用场景&#xff0c;包括顶部导航、轮播图以及视频滑动播放。 相关概念 Swiper&#xff1a;滑动容器&#xff0c;提供子组件切换滑动的能力。Stack&#xff1a;堆叠容器&#xff0c;子组件按照顺序依次入栈&#x…

IC-随便记

1、移远通信---通信模组 物联网解决方案供应商&#xff0c;可提供完备的IoT产品和服务&#xff0c;涵盖蜂窝模组(5G/4G/3G/2G/LPWA)、车载前装模组、智能模组&#xff08;5G/4G/边缘计算&#xff09;、短距离通信模组(Wi-Fi&BT)、GNSS定位模组、卫星通信模组、天线等硬件产…

深圳区块链交易所app系统开发,撮合交易系统开发

随着区块链技术的迅速发展和数字资产市场的蓬勃发展&#xff0c;区块链交易所成为了数字资产交易的核心场所之一。在这个快速发展的领域中&#xff0c;区块链交易所App系统的开发和撮合交易系统的建设至关重要。本文将探讨区块链交易所App系统开发及撮合交易系统的重要性&#…

Unity3d使用Jenkins自动化打包(Windows)(一)

文章目录 前言一、安装JDK二、安装Jenkins三、Jenkins插件安装和使用基础操作 实战一基础操作 实战二 四、离线安装总结 前言 本篇旨在介绍基础的安装和操作流程&#xff0c;只需完成一次即可。后面的篇章将深入探讨如何利用Jenkins为Unity项目进行打包。 一、安装JDK 1、进入…

每日一题 --- 链表相交[力扣][Go]

链表相交 题目&#xff1a;面试题 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交**&#xff1a;** 题目数据 保证 整个链式结…

RabbitMQ3.x之四_RabbitMQ角色说明及创建用户与授权

RabbitMQ3.x之四_角色说明及创建用户与授权 文章目录 RabbitMQ3.x之四_角色说明及创建用户与授权1. 访问和授权1. Tags说明2. 命令行示例 2. 管理界面新建用户及访问授权1. 管理界面新建用户2. 管理界面中的授权说明3. guest用户不能远程登录提示 3. 创建用户1. 基本命令2. 实际…

【IP 组播】PIM-SM

目录 原理概述 实验目的 实验内容 实验拓扑 1.基本配置 2.配置IGP 3.配置PIM-SM 4.用户端DR与组播源端DR 5.从RPT切换到SPT 6.配置PIM-Silent接口 原理概述 PIM-SM 是一种基于Group-Shared Tree 的组播路由协议&#xff0c;与 PIM-DM 不同&#xff0c;它适合于组播组成…

京东云搭建幻兽帕鲁Palworld多人游戏联机服务器教程,1分钟开服

使用京东云服务器搭建幻兽帕鲁Palworld游戏联机服务器教程&#xff0c;非常简单&#xff0c;京东云推出幻兽帕鲁镜像系统&#xff0c;镜像直接选择幻兽帕鲁镜像即可一键自动部署&#xff0c;不需要手动操作&#xff0c;真正的新手0基础部署幻兽帕鲁&#xff0c;阿腾云atengyun.…

[flink] flink macm1pro 快速使用从零到一

文章目录 快速使用 快速使用 打开 https://flink.apache.org/downloads/ 下载 flink 因为书籍介绍的是 1.12版本的&#xff0c;为避免不必要的问题&#xff0c;下载相同版本 解压 tar -xzvf flink-1.11.2-bin-scala_2.11.tgz启动 flink ./bin/start-cluster.sh打开 flink web…