微众区块链观察节点的架构和原理 | 科普时间

践行区块链公共精神,实现更好的公众开放与监督!2023年12月,微众区块链观察节点正式面向公众开放接入功能。从开放日起,陆续有多个观察节点在各地运行,同步区块链数据,运行区块链浏览器观察检视数据,社区也对这一形态的开放网络开展了热烈的讨论。本文将从技术和网络结构的角度去剖析,如何通过观察节点进行信息的读取、查验和监督,实现数据透明。

  什么是观察节点

区块链的基本要旨是通过密码学算法构建一条不可篡改、不可否认的数据链,所有数据都环环相扣,所有的交易数据可追溯、生成的结果可验证。更重要的是,区块链网络具备分布式和多方参与的特征。因此,用户可以部署自己的节点,接入到区块链,获得链上数据,无需依赖中心化服务,在本地即可验证数据。

在微众区块链体系中,用户可部署的节点有几种:

最轻便的是轻节点。轻节点的原理是仅同步区块头数据,区块头数据包含了区块的可验证信息,用于便捷验证区块包含的交易及状态存在性、真实性。但轻节点并不会在本地保存执行所有的交易,一般用于仅需部分验证交易的场景。

功能最完整的是共识节点。共识节点会同步所有区块和交易数据,并在本地执行验证,且能生成新区块或对其他共识节点生成的新区块投票验证。在公众联盟链体系里,共识节点普遍由参与业务决策过程的重要核心机构部署。作为区块的生产参与者,这些机构对共识节点的运行质量、响应速度要求非常高,否则链的可用性都会受到严重影响。

居于其中的是观察节点。观察节点拥有所有的历史数据,即从第一个创世块开始,到最新的区块,包括区块里的交易,都忠实的、不折不扣的被同步读取和存储到本地节点上,并通过链上智能合约虚拟机引擎,执行交易所部署和调用的智能合约,在本地计算交易和验证结果。同时,观察节点并不参与共识过程,用户只需一台普通云服务器、充足的硬盘空间,即可运行观察节点。

观察节点给了用户更高的自由度,用户可以随时运行节点,同步到最高的区块高度,然后对链上数据进行分析。顾名思义,观察节点就像冷静、客观、全面的观察者,具备了成为链上应用监督者的基本条件。

微众区块链的公众联盟链观察节点让公众广泛接入,将数据和交易运行机制完整的交给用户,彰显了开放、透明的姿态,同时这也是在技术架构上的一个创新实践,在系统的完备性、稳定性、安全性等方面都是很好的多方验证。  

  基于观察节点能做什么  

区块链数据的基本数据要素是区块,区块里包含交易列表,每个交易或是部署智能合约,或调用智能合约。也就是说,链上智能合约代码,以及对合约的调用输入参数,都包含在区块里。观察节点包含了完整功能的智能合约虚拟机,一边同步区块和交易列表,一边通过虚拟机执行指令,将智能合约的数据结果保存下来,并通过密码学算法验证执行结果。

对于常见的存证应用来说,交易输入的是存证证据Hash、简要说明、签名列表等,并在链上忠实存储下来,打上时间戳,后续即可通过存证合约接口去验证某个证据是否存在,是否完整,是否在某个时间产生。

对于账目类应用来说,交易输入的往往是账目的转出方和接收方,以及转账金额。智能合约会计算交易发起方的用户身份,如是否为真实的转出方账户所有人;转出方的余额是否充足;转账结束后,双方的余额是否达到事务性的有增有减,不能只增不减,也不能只减不增,而是收支平衡,账目正确。

对于更复杂的合约逻辑,同样可以根据合约接口的输入输出,以及对照智能合约的逻辑,验证运行过程是否出错,是否完整,是否符合应用规则。

更重要的是,既然节点同步到了所有的交易历史,如有必要,可以从创世块里第一个相关的交易开始,一步一步跟踪执行状态,分析整个过程是否有错漏,是否有不合适的交易方,是否有异常的交易频率等。

只要熟悉链上某个应用的逻辑,或者是参与到该应用的用户,关心自己的数据完整性、真实性,都可以通过观察节点验证它,同时也是对业务运行过程的监督。

当前版本的公众联盟链观察节点包含了一个友好的区块链浏览器,它提供友好易用的界面,供用户查看区块、交易、智能合约信息,同时参与到链上某个应用的用户,可以通过应用主页里的验证工具,直接去验证自己的数据。

更进一步,基于公众联盟链的完整数据,开发者可以开发更具风格的交互,为用户提供更多维度的数据管理和查询分析工具,打造更加场景化的应用,创造出更有生命的生态。

  观察节点的设计考量

有社区用户关心,所有的数据都打开给公众看,会有哪些挑战?

首先,公众联盟链的要旨是,兼顾服务公众和开放可信。公众联盟链上的应用本身就秉承开放理念,提供的是公众可使用的服务,业务规则透明,数据可供公众使用和验证。更重要的是,和隐私相关的数据明文并不上链,而是用密码学算法生成随机的数据指纹,做为脱敏的标识,供合约运行使用,无需担心链上数据会泄漏用户身份等敏感信息。

同时,公众联盟链集成了区块链公有链和联盟链两大技术路线的优势,兼顾实现可信基础设施建设的特性,其中联盟作为链的属主和运营方;政府或权威机构则发起设立联盟治理委员会,作为链上节点承担公众联盟链的治理工作;而公众用户则可以通过网络访问基于区块链的Web3.0服务,并同时通过轻节点、观察节点接入区块链网络进行信息的读取、查验和监督。在整个体系中,角色和权限有清晰的划分,各司其职,有可靠的链上角色权限控制机制进行鉴权管控,拒绝未授权的访问,为网络的稳定运行提供了保障。

最后,公众联盟链观察节点代码本身是开源的,这进一步体现了开放和可信的精神,也给予开发者们更大的创作空间和完备的技术基础。

观察节点的版本和功能依旧在迭代中,我们会在保证数据隐私和系统安全的基础上,持续进行开放透明的创新实践。         

  结语

公众联盟链观察节点体系已经迈出坚实的第一步,我们期待有更多的应用、更多的用户参与、更大体系的网络规模,如此更能彰显开放网络的立体效应。

本次面向公众开放的dapp有数据鉴证、数字内容共创平台、植樾,后续更多dapp将陆续开放,我们也会和社区开发者、以及参与到这些应用的用户一起,持续打造更友好的、功能更丰富的浏览器以及链上应用验证工具,基于公众联盟链体系开展更多的应用探索,发展更可信、更广泛的应用生态。

延伸阅读         

fd4817fd50b2fcc04021210b7532c4c9.png

微众区块链观察节点正式开放,一文看懂如何接入

16bf184fd9bc190edf414e84775c0ea4.png

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flutter项目用vscode打包apk包,完美运行到手机上

1.创建密钥库 执行以下命令: keytool -genkey -v -keystore F:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key 生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 10,000 天) 2.填写密钥内容 执行以上命令后会提示一次输入密钥库密码、确认…

【ES6语法学习】解构赋值

文章目录 引言一、什么是解构赋值1.1什么是解构赋值1.2 数组的解构赋值1.2.1 基本用法1.2.2 默认值1.2.3 剩余参数 1.3 对象的解构赋值1.3.1 基本用法1.3.2 默认值1.3.2 剩余参数 1.4 字符串的解构赋值1.5 函数参数的解构赋值 二、解构赋值的优势和应用场景2.1 代码简化和可读性…

【React系列】JSX核心语法和原理

本文来自#React系列教程:https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) 一. ES6 的 class 虽然目前React开发模式中更加流行hooks,但是依然有很多的项目依然是使用类组件&#x…

es索引数据过滤查询

1.我们往kibana插入数据,来进行查询 POST /t1/_doc/ {"name":"cat","age":"18","address":"BJ","job":"dev" } POST /t1/_doc/ {"name":"dog","age":"1…

改善 GitHub Pages 阅读体验:Quick Docs

一个不到 10MB 的小工具,来提供本地、快速的文档访问,来改善开发过程中,阅读在线文档体验糟糕的问题。 以及,介绍如何快速制作一个利于分发使用的,离线文档工具包。 写在前面 即使现在 AI 辅助编码和 Chat Bot 类的…

【git使用】了解三种git commit合并的使用场景(rebase、merge、cherry-pick)

参考 【Git学习笔记】逃不掉的merge和rebase-腾讯云开发者社区-腾讯云git merge 和 git rebase - 知乎git cherry-pick 教程 - 阮一峰的网络日志 简单理解各种合并的方法 线性合并,使用 rebase —— feature 分支开发,提交前拉取 master 最新改动进行…

初识HTTP协议

Web服务器可以接收浏览器的请求,并将服务器中的web项目资源响应给浏览器,浏览器与服务器之间进行网络通信遵循HTTP协议。 一、什么是HTTP协议 超文本传输协议(HTTP,HyperText Transfer Protocol)(浏览器---->web服务…

微信小程序:flex常用布局

在我们平时微信小程序开发过程中为了页面能达到设计小伙伴的预期,追求还原度,那我们肯定会使用很多常用的布局方式,那我们今天就介绍一下微信小程序中常用的一些flex布局 1、常用flex布局 /** 水平垂直居中 **/ .flex-center {display: fle…

vue3+vant4 移动端软键盘弹出 收起导致项目样式布局错乱解决方案,亲测有效!!

问题描述 最近在做vue3 H5的移动端项目 我用的是vue3vant4,然后在使用过程中发现 小米14手机在点击密码输入框软键盘弹出 时会导致项目布局整体向上移动 导致页面布局错乱。 原因分析: 在移动端软键盘弹出收起时,导致项目样式布局错乱的原因…

基于STM32的ESP8266 WiFi模块数据采集与显示

基于STM32的ESP8266 WiFi模块数据采集与显示是一种常见的嵌入式系统应用,通常用于远程数据监测和控制。在这种应用中,STM32作为主控制器负责采集周围环境的数据,通过ESP8266 WiFi模块将数据发送到远程服务器,并在远程服务器上进行…

03-微服务-Ribbon负载均衡

Ribbon负载均衡 1.1.负载均衡原理 SpringCloud底层其实是利用了一个名为Ribbon的组件,来实现负载均衡功能的。 那么我们发出的请求明明是http://userservice/user/1,怎么变成了http://localhost:8081的呢? 1.2.源码跟踪 为什么我们只输入…

小梅哥Xilinx FPGA学习笔记20——无源蜂鸣器驱动设计与验证(音乐发生器设计)

目录 一:章节导读 二:无源蜂鸣器驱动原理 三:PWM 发生器模块设计 3.1 PWM 发生器模块框图 3.2 PWM 发生器模块接口功能描述 3.3 PWM波生成设计文件代码 3.4 测试仿真文件 3.5 测试仿真结果 3.6 板级调试与验证之顶层文件设计 四&am…

Python:界面开发,wx入门篇

以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/3Yb_YAKiMte_f5HanetXiA 本文大概 3617 个字,阅读需花 10 分钟 内容不多,但也花了一些精力 如要交流,欢迎评…

@Scheduled定时任务现状与改进

项目场景: 定时任务现状:每个项目都会有一些配置信息,这些信息我们是都放在一个配置服务中,这个服务会定时从配置表中加载所有配置存入本地JVM内存,以供调用方获取(调用方集成了配置服务的SDK,…

elasticsearch的查询方式和数据库事务隔离级别的思考

项目中用到了 elasticsearch,发现有几种查询方式不太一样,思考了一下,总结如下 普通分页 等同于关系数据库的分页查询,例如 mysql 的 limit,如下 sql select * from test limit 100000,10 这种查询方式有一个问题&a…

系列十一、(一)Sentinel简介

一、Sentinel简介 1.1、官网 【英文文档】 https://github.com/alibaba/Sentinel/wiki【中文文档】 https://github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B5 1.2、概述 1.3、功能

网络路由跟踪工具

随着企业网络需求的增长,组织发现监控和管理其网络基础设施变得越来越困难。网络管理员正在转向其他工具和资源,这些工具和资源可以使他们的工作更轻松一些,尤其是在故障排除方面。 目前,网络管理员主要使用简单、免费提供的实用…

在win10上cuda12+tensorrt8.6+vs2019环境下编译paddle2.6生成python包与c++推理库

paddle infer官方目前没有发布基于cuda12的c库,为此参考https://www.paddlepaddle.org.cn/inference/user_guides/source_compile.html实现cuda12的编译安装,不料博主才边缘好自己的paddle2.6,paddle官方已经发布了cuda12.0的paddle2.6框架。…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)Buffer的创建和销毁、扩容、写入数据

TcpConnection:封装的就是建立连接之后得到的用于通信的文件描述符,然后基于这个文件描述符,在发送数据的时候,需要把数据先写入到一块内存里边,然后再把这块内存里边的数据发送给客户端,除了发送数据,剩下…

基于综合特征的细菌噬菌体宿主预测工具iPHoP (Integrated Phage HOst Prediction)的介绍以及使用方法详细流程

介绍 iPHoP(Integrated Phage HOst Prediction)是一种基于综合特征的细菌噬菌体宿主预测方法。它是通过整合基因组序列、蛋白质序列和宿主基因组信息来预测细菌噬菌体的宿主范围。 iPHoP的预测过程分为三个步骤:特征提取、特征选择和宿主预…