当前位置: 首页 > news >正文

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

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

  什么是观察节点

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

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

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

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

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

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

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

  基于观察节点能做什么  

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

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

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

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

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

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

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

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

  观察节点的设计考量

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

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

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

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

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

  结语

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

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

延伸阅读         

fd4817fd50b2fcc04021210b7532c4c9.png

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

16bf184fd9bc190edf414e84775c0ea4.png

相关文章:

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

践行区块链公共精神,实现更好的公众开放与监督!2023年12月,微众区块链观察节点正式面向公众开放接入功能。从开放日起,陆续有多个观察节点在各地运行,同步区块链数据,运行区块链浏览器观察检视数据&#xf…...

React Admin 前端脚手架之ant-design-pro

文章目录 一、React Admin 前端脚手架选型二、React Admin 前端脚手架之ant-design-pro三、ant-design-pro使用步骤四、调试主题五、常用总结(持续更新)EditableProTable组件 常用组件EditableProTable组件 编辑某行后,保存时候触发发送请求EditableProTable组件,添加记录提…...

向爬虫而生---Redis 基石篇1 <拓展str>

前言: 本来是基于scrapy-redis进行讲解的,需要拓展一下redis; 包含用法,设计,高并发,阻塞等; 要应用到爬虫开发中,这些基础理论我觉得还是有必要了解一下; 所以,新开一栏! 把redis这个环节系统补上,再转回去scrapy-redis才好深入; 正文: Redis是一种内存数据库&#xff0c…...

【野火i.MX6ULL开发板】利用microUSB线烧入Debian镜像

0、前言 烧入Debian镜像有两种方式:SD卡、USB SD卡:需要SD卡(不是所有型号都可以,建议去了解了解)、SD卡读卡器 USB:需要microUSB线 由于SD卡的网上资料很多了,又因为所需硬件(SD卡…...

“我在大A炒自己”

嘻嘻嘻,大伙儿好像还挺喜欢我闲聊,今天太忙,没得空精进技术,那咱还是接着闲聊吧😂😂 看到标题点进来的各位大A真爱粉,请先收下我的崇高敬意!!别误会,标题说的…...

js 颜色转换,RGB颜色转换为16进制,16进制颜色转为RGB格式

颜色转换,RGB颜色转换为16进制,16进制颜色转为RGB格式,可以自己设置透明度。 //十六进制颜色值的正则表达式 var reg /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; /*RGB颜色转换为16进制*/ String.prototype.colorHex function () {var that this;if (/^…...

uniapp中用户登录数据的存储方法探究

Hello大家好!我是咕噜铁蛋!作为一个博主,我们经常需要在应用程序中实现用户登录功能,并且需要将用户的登录数据进行存储,以便在多次使用应用程序时能够方便地获取用户信息。铁蛋通过科技手段帮大家收集整理了些知识&am…...

引导过程与服务控制

文章目录 一、Linux操作系统引导过程1、开机启动的完整过程1.1 开机自检(BIOS)1.2 MBR引导1.3 GRUB菜单1.4 加载内核(kernel)1.5 init进程初始化 2、系统初始化进程2.1 init进程2.2 systemdinit与systemd区别 3、Systemd单元类型4…...

《矩阵分析》笔记

来源:【《矩阵分析》期末速成 主讲人:苑长(5小时冲上90)】https://www.bilibili.com/video/BV1A24y1p76q?vd_sourcec4e1c57e5b6ca4824f87e74170ffa64d 这学期考矩阵论,使用教材是《矩阵论简明教程》,因为没…...

『App自动化测试之Appium应用篇』| Appium常用API及操作

『App自动化测试之Appium应用篇』| Appium常用API及操作 1 press_keycode1.1 键盘操作1.2 关于KeyCode1.3 press_keycode源码1.4 电话键相关1.5 控制键相关1.6 基本按键相关1.7 组合键相关1.8 符号键相关1.9 使用举例 2 swip方法2.1 swip说明2.2 swip使用方法2.3 使用示例 3 sc…...

VSCode搭建 .netcore 开发环境

一、MacOS 笔者笔记本电脑上安装的是macOS High Sierra(10.13),想要尝试一下新版本的.netcore,之前系统是10.12时,.netcore 3.1刚出来时安装过3.1版本,很久没更新了,最近.net8出来了,想试一下,…...

python 写自动点击爬取数据

今天来点不一样的!哥们 提示: 这里只是用于自己学习的 ,请勿用违法地方 效果图 会进行点击下一页 进行抓取 需要其他操作也可以自己写 文章目录 今天来点不一样的!哥们前言一、上代码?总结 前言 爬虫是指通过编程自动…...

CSDN博客重新更新

说来惭愧,好久没更新博客文章,导致个人博客网站:https://lenky.info/ 所在的网络空间和域名都过期了都没发觉,直到有个同事在Dim上问我我的个人博客为啥打不开了。。。幸好之前有做整站备份,后续慢慢把内容都迁回CSDN上…...

《剑指 Offer》专项突破版 - 面试题 5 : 单词长度的最大乘积(C++ 实现)

目录 前言 方法一 方法二 前言 题目链接:318. 最大单词长度乘积 - 力扣(LeetCode) 题目: 输入一个字符串数组 words,请计算不包含相同字符的两个字符串 words[i] 和 words[j] 的长度乘积的最大值。如果所有字符串…...

【Java集合篇】HashMap的get方法是如何实现的?

HashMap的get方法是如何实现的 ✔️典型解析✔️拓展知识仓✔️如何避免HashMap get方法的哈希重✔️HashMap get方法的优缺点有哪些✔️HashMap get方法的是线程安全的吗✔️什么是ConcurrentHashMap✔️ConcurrentHashMap有哪些应用场景✔️ConcurrentHashMap的优缺点 ✔️源…...

Java学习苦旅(二十二)——MapSet

本篇博客将详细讲解Map和Set。 文章目录 搜索概念模型 MapMap.Entry<K, V>Map的常用方法说明TreeMap和HashMap的区别 Set常用方法说明TreeSet和HashSet的区别 结尾 搜索 概念 Map和set是一种专门用来进行搜索的容器或者数据结构&#xff0c;其搜索的效率与其具体的实例…...

【Linux Shell】12. 文件包含

和其他语言一样&#xff0c;Shell 也可以包含外部脚本&#xff0c;这样可以很方便的封装一些公用的代码作为一个独立的文件。可以理解为在第2个文件中包含第1个文件&#xff0c;执行第1个文件的代码。 被包含的文件 不需要可执行权限 。Shell 文件包含的语法格式如下&#xff1…...

前端-基础 常用标签-超链接标签( 锚点链接 )

锚点链接 &#xff1a; 点击链接&#xff0c;可以快速定位到 页面中的某个位置 如果不好理解&#xff0c;讲一个例子&#xff0c;您就马上明白了 >>> 这个是 刘德华的百度百科 &#xff0c;可以看到&#xff0c;页面里面有很多内容&#xff0c;那就得有个目录了 …...

2024--Django平台开发-基础信息(一)

一、前置知识点 - Python环境搭建 (Python解释器、Pycharm、环境变量等) - 基础语法(条件、循环、输入输出、编码等) - 数据类型(整型、布尔型、字符串、列表、字典、元组、集合等) - 函数(文件操作、返回值、参数、作用域等) - 面向对象 (类、对象、封装、继承、多态等)包和模…...

C++力扣题目--94,144,145二叉树递归遍历

思路 这次我们要好好谈一谈递归&#xff0c;为什么很多同学看递归算法都是“一看就会&#xff0c;一写就废”。 主要是对递归不成体系&#xff0c;没有方法论&#xff0c;每次写递归算法 &#xff0c;都是靠玄学来写代码&#xff0c;代码能不能编过都靠运气。 本篇将介绍前后…...

开源游戏引擎:创造无限可能 | 开源专题 No.56

godotengine/godot Stars: 62.6k License: MIT Godot Engine 是一个功能强大的跨平台游戏引擎&#xff0c;可用于创建 2D 和 3D 游戏。它提供了一套全面的常见工具&#xff0c;让用户可以专注于制作游戏而不必重复造轮子。该引擎支持将游戏一键导出到多个平台上&#xff0c;包…...

MyBatisPlus学习一:快速入门

前言 前面快速学习了Mybatis&#xff0c;现在开始快速学习MyBatisPlus 学习教程&#xff1a; 黑马mybatis教程全套视频教程&#xff0c;2天Mybatis框架从入门到精通 黑马程序员最新MybatisPlus全套视频教程&#xff0c;4小时快速精通mybatis-plus框架 简介 MyBatisPlus 是…...

2024最新外贸建站:ChemiCloud主机购买使用及自建外贸独立站教程

随着电商平台竞争的加剧&#xff0c;许多外贸从业者意识到减少对平台依赖的重要性&#xff0c;并选择搭建自己的外贸独立站来获得更多的控制权和灵活性。即使是没有建站基础的新手&#xff0c;也可以通过学习建站来实现这一目标。下面是一个适用于新手的外贸建站教程&#xff0…...

校招社招,认知能力测验,③如何破解语言常识类测试题?

作为认知能力测评中的一个环节&#xff0c;语言常识类&#xff0c;是大概率的出现&#xff0c;不同的用人单位可能略有不同&#xff0c;语言是一切的基础&#xff0c;而常识则意味着我们的知识面的宽度。 语言常识类的测试&#xff0c;如果要说技巧&#xff1f;难说....更多的…...

了解一下InternLM2

大模型的出现和发展得益于增长的数据量、计算能力的提升以及算法优化等因素。这些模型在各种任务中展现出惊人的性能&#xff0c;比如自然语言处理、计算机视觉、语音识别等。这种模型通常采用深度神经网络结构&#xff0c;如 Transformer、BERT、GPT&#xff08; Generative P…...

关于使用统一服务器,vscode和网页版jupyter notebook的交互问题

autodl 查看虚拟环境 在antodl上租借了一个服务器&#xff0c;通过在网页上运行jupyter notebook和在vscode中运行&#xff0c;发现环境都默认的是miniconda3。 conda info --envs 当然环境中所有的包都是一样的。 要查看当前虚拟环境中安装的所有包&#xff0c;可以使用以…...

Linux22.04系统安装显卡驱动,cuda,cudnn流程

1. 安装显卡驱动 ubuntu-drivers deices显示所有适配显卡的驱动型号&#xff0c;recommended为推荐安装 安装 sudo apt install nvidia-driver-440重启 sudo reboot验证 nvidia-smi2. 安装cuda 在 CUDA Toolkit 的下载页面选择系统版本和安装方式&#xff0c;下载并运行…...

【常考简答题】操作系统

目录 1、什么是进程 2、创建进程步骤 3、什么是死锁 4、死锁四个必要条件 5、什么是内存管理 6、内存管理功能 7、进程的三个基本状态转化图 8、操作系统为什么引入线程 9、什么是对换技术&#xff0c;好处是什么 10、DMA直接存取控制工作方式流程图 11、什么是假脱…...

Large Language Models Paper 分享

论文1&#xff1a; ChatGPTs One-year Anniversary: Are Open-Source Large Language Models Catching up? 简介 2022年11月&#xff0c;OpenAI发布了ChatGPT&#xff0c;这一事件在AI社区甚至全世界引起了轰动。首次&#xff0c;一个基于应用的AI聊天机器人能够提供有帮助、…...

微信小程序实战-01翻页时钟-1

文章目录 前言需求分析功能设计界面设计界面结构设计界面样式设计 逻辑设计 单页功能实现运行结果 前言 我经常在手机上用的一款app有一个功能是翻页时钟&#xff0c;基于之前学习的小程序相关的基础内容&#xff0c;我打算在微信小程序中也设计一个翻页时钟功能&#xff0c;J…...

网站安全证书出错怎么做/全球搜索引擎排名

Python3 运算符 什么是运算符&#xff1f; 本章节主要说明 Python 的运算符。 举个简单的例子: 4 5 9 例子中&#xff0c;4 和 5 被称为操作数&#xff0c; 称为运算符。 Python 语言支持以下类型的运算符: 接下来让我们一个个来学习Python的运算符。 Python算术运算符 以下假…...

济南网站建设开发与制作/精准客户资源购买

linux中关于文件系统的命令 pwd 查看当前的工作目录 cd 改变当前的工作目录 cd - 将工作目录改变成先前的工作目录 ls 列出现在的目录内容 file 打印出文件内容的简短说明 less 查看文件,可以前后翻页 以点开头的都是隐藏文件linux中的文件是区分大小写的linux中没…...

网络营销网站/某网站seo诊断分析和优化方案

因一个公司收购另外一个公司&#xff0c;现需要把被收购公司的计算机迁移到收购公司域内&#xff0c;要求用户配置文件不变&#xff0c;计算机名重新编辑&#xff0c;用户继承本地管理员权限使用了DefProf.exe迁移配置文件使用了netdom.exe迁移域使用了数据库自动计算机名更改&…...

大连网站策划/免费站推广网站在线

Databricks公司通过简化对GPU加速型机器学习方案的访问支持自家云Spark服务。 作为Apache Spark内存内大数据项目的支持与开发合作厂商&#xff0c;Databricks公司已经对其自家Apache Spark云实现方案进行两轮支持升级&#xff0c;旨在让更多IT用户享受其便利。 此次推出的新功…...

wordpress4.9博客模板/站长工具网址是多少

关于直线直线方程点到直线的距离用两点表示的直线2d隐式表示的直线的情形参数方程表示的直线一个点到射线或线段的距离代码实现距离计算是计算机图形学和计算几何的基本问题&#xff0c;而且有很多关于这方面的公式。不过&#xff0c;由于对象描述方式不同&#xff0c;有替代方…...

品牌网站建设完善大蝌蚪/微博推广费用一般多少

在前面文章《矩阵的四个基本子空间》中提到&#xff1a; 一个秩为r&#xff0c;m*n的矩阵A中&#xff0c;其行空间和列空间的维数为r&#xff0c;零空间和左零空间的维数分别为n-r&#xff0c;m-r&#xff0c;并且有行空间与零空间正交&#xff0c;列空间与左零空间正交。“掌握…...