【区块链与密码学】第3-4讲:硬核“拆解”以太坊

Go语言从零实现ECDSA:深入椭圆曲线密码学与签名验签原理 数字签名是保障数据来源可信与完整性的核心技术,在分布式系统和微服务架构中至关重要。其原理基于非对称密码学,通过私钥签名、公钥验证实现身份认证与防篡改。相较于RSA,椭圆曲线密码学(ECC)在同等安全强度下具备更短的密钥长度和更高的计算效率,技术价值在于为高并发场景提供了更优的解决方案。ECDSA作为ECC的数字签名标准实现,广泛应用于区块链交易和TLS安全协议等场景。本文聚焦于使用Go语言从零实现ECDSA,涵盖**椭圆曲线数学原理**、**大整数运算**等核心概念,并深入探讨了**随机数k的安全隐患**等 阅读详情

【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】

3.3区块链2.0:可编程区块链

上一期我们“拆解”了区块链1.0的代表,比特币。这一期我们继续拆解之旅,对象是区块链2.0——可编程区块链的代表,以太坊。

 

比特币的区块链架构主要围绕支持密码货币的实现,虽然它有一定的灵活性,但用来支撑密码货币以外的应用场景还显得非常局限。

区块链2.0的核心理念是把区块链作为一个可编程的分布式信用基础设施,支撑智能合约应用,对金融领域更广泛的场景和流程进行优化的应用,与过去比特币区块链作为一个虚拟货币支撑平台区别开来。

在比特币后,出现很多被称为区块链2.0的平台,其中最具代表性的是以太坊平台。

以太坊系统结构图

以下讨论以太坊和比特币架构不同的几个主要方面。

账户设计

比特币没有账户的概念。每个用户的余额都是从他们在区块链上的UTXO计算出来的。以太坊的设计是将区块链作为一个通用的管理对象状态转换的去中心化平台,账户就是有状态的对象。以太坊则有两种类型的账户:一种是外部所有账户(EOA),另一种是合约账户。

外部所有账户就是我们一般意义上的用户账户,它由私钥控制。

合约账户是一种特殊的可编程账户,合约存在以太坊区块链上,它是代码(功能)和数据(状态)的集合。合约受代码控制并由外部所有账户激活。

外部所有账户的状态就是余额,而合约账户的状态可以是余额、代码执行情况,以及合约的存储。

以太坊网络的状态就是所有账户的状态,该状态由每个区块的交易来更新,同时需在全网形成共识。用户和以太坊区块链的交互需要通过对账户的交易来实现。

区块链设计

比特币采用Merkle树来将交易的哈希值组成二叉树,顶层节点的哈希值相当于整个交易清单的指纹,可以用来校验交易清单。以太坊的区块链的每个区块不但保存着交易清单,还保存最新的状态。以太坊的状态包含一个键值表,其中键是地址,值是账户里声明的变量。

 

以太坊区块报文头中存放了3个根哈希值:一个是交易的Merkle根哈希值(比特币只存这一个),另外一个是状态的根哈希值,还有一个是收据的根哈希值。

另外一个和比特币的不同是,以太坊的区块链中的每个区块保存区块链号和区块难度。

账户的状态经常被改变,新的账户也经常被插入,键在存储里也被经常插入和删除。还要求树的根哈希只是与树的数据有关,与更新的顺序无关。Patricia(帕特里夏)树是符合这些要求的数据结构,以太坊采用的Merkle Patricia树存储数据。

Patricia树,或称压缩前缀树,是一种更节省空间的前缀树。对于基数树的每个节点,如果该节点是唯一的儿子的话,就和父节点合并。

 

Patricia树示意图

PoW机制

以太坊吸取了比特币的教训,专门设计了非常不利于计算的模型,它采用了I/O密集的模型,I/O慢,计算再快也没用,对专用集成电路则不是那么有效。以太坊的PoW(工作量证明)算法叫Ethash算法(是一个经过修改的Dagger-Hashimoto算法)。

该算法对GPU友好。一是考虑如果只支持CPU,担心易被木马攻击;二是现在的显存都很大。

轻型客户端的算法不适于挖矿,但易于验证。

快速启动算法中,主要依赖于Keccake256。

数据源除了传统的Block头部,还引入了随机数阵列DAG(Directed Acyclic Graph,有向无环图)(Vitalik提出)

一个世代(Epoch),含有30000Blocks,一个世代里使用相同的随机数阵列。

随机数阵列分为三个层次:种子值、缓存值和数据,种子值很小。根据种子值生成缓存值,缓存层的初始值为16M,每个世代增加128K。在缓存层之下是矿工使用的数据值,数据层的初始值是1G,每个世代增加8M。

过程中使用了Keccak-512算法,结果为64Bytes。

核心部分使用的数据单位是128Bytes,数据层面每一个元素都依赖于缓存层的256个元素。

ETHASH框架主要分为两个部分,一是DAG的生成,二是用Hashimoto来计算最终的结果。

ETHASH的框架

DAG主要流程

DAG分为三个层次:种子层、缓存层、数据层。三个层次是逐渐增大的。

种子层很小,依赖上个世代的种子层。

缓存层的第一个数据是根据种子层生成的,后面的根据前面的一个来生成,它是一个串行化的过程。其初始大小是16M,每个世代增加128K.每个元素64字节。

数据层就是要用到的数据,其初始大小1G,现在约2G,每个元素128字节。数据层的元素依赖缓存层的256个元素

缓存层计算流程示意图

数据层计算流程示意图

Hashimoto主要流程

Hashimoto的整个流程是内存密集型,具体如下:

1、头部信息和随机数结合在一起,做一个Keccak-512运算,获得初始的单向散列值Mix[0],128字节。

2、通过另外一个函数(Fetch DAG),映射到DAG上,获取一个值,与Mix[0]混合得到Mix[1],循环64次后得到Mix[64],128字节。

3、经过后处理过程,得到 mix final 值,32字节。再经过计算,得出结果。

4、把它和目标值相比较,小于则挖矿成功。难度值大,目标值小,就越难(前面需要的 0 越多)。

注:为防止矿机,mix function函数也有更新过。

Hashimoto主要流程示意图

验证流程

当矿工广播区块到网络中后,如何才能校验区块来完成一定工作量呢?

校验方案是采用 hashimotoLight 计算出在指定Nonce下的执行结果 result 和 digest。根据本地计算结果应该和区块的MixDigest值一致,且result低于给定的目标值 target,则说明Seal校验通过,表明该区块来完成一定量的工作量。

回到 hashimotoLight 方法,此方法是直接利用缓存实时计算出数据线来参与校验,和 hashimotoFull 类似。因为数据集也是通过缓存生成,如果没有数据集可以直接使用缓存计算。这样对于普通节点,只需要利用 16MB 的缓存便可以轻松完成 PoW 校验,按需生成所需要的数据集的数据项。

计算与图灵完备

以太坊作为通用的区块链平台,需要提供比比特币更强大的计算能力,选择了图灵完备的计算环境——以太坊虚拟机( Environment Virtual Machine ,EVM)。这就意味着在EVM上可以做所有的能想得到的计算、包括无限循环。以太坊采用经济的方法来保证以太坊平台的安全:

以太坊要求每个交易要给出最大的计算步骤,交易的发起人要提供Gas作为交易费以供矿工把交易加进区块。

如果实际运行超过了该最大计算步骤,计算将被终止,而交易费会归挖到区块的矿工所有。

以太坊网络的每个节点都运行EVM并执行合约代码。

EVM高级语言

比特币不提供高级语言的支持,以太坊则提供高级语言让用户编写智能合约。以太坊的高级语言最后会编译成在EVM中执行的EVM字节码(bytecode),部署在以太坊区块链上。以太坊提供3种编程语言:Solidity、Serpent和LLL。

以太坊P2P网络

RLPx协议

以太坊节点间采用RPLx编码及认证的通信传输协议来传输消息包。节点可以自由地在任何TCP端口发布和接受连接,默认的端口是30303。

目前正式版的RLPx实现了以下功能:单一协议的UDP节点发现,ECDSA签名的UDP,加密握手/认证,节点持久性,加密/认证TCP,TCP帧处理。

Whisper协议

Whisper协议是DApp间通信的通信协议。Whisper结合了DHT (Distributed Hash Table)和数据包消息系统(如UDP),因此同时具有以上两种协议的特性。Whisper提供多索引,非单一的记录,也就是说同一记录可以有多个键,有些键可能和别的记录一样。使用场景有以下几种:

DApp需要把少量的信息发布出去,而这些发布的信息要保留相当一段时间。例如一个外汇交易所将一个货币的挂牌卖价发布出去,这个卖价可能需要保留几分钟或几天时间。

DApp需要发信号给其他DApp,希望它们参与对某个交易的协同。

DApp之间需要提供非实时的提示或通常的通信,例如聊天室应用等。

DApp需要提供暗通信,也就是通信的双方除了知道对方的哈希值外,不知道对方更多的底细。

事件

以太坊中的事件是一个以太坊日志和事件监测协议的抽象。日志的记录中提供合约的地址,一组最多4个议题和一些任意长度的二进制数据。事件利用现有的应用程序二进制接口(ABI)功能来解析日志记录。

根据一个事件名和一些列的事件参数,可以分为两个系列:建立了索引的和没有索引的。建了索引的(最多有3个)是用来和事件的Keccak哈希签名一起作为议题的日志记录;没有建立索引的用来组成事件的字节数组。

以太坊的拆解就讲到这里,以太坊开创了智能合约时代,将区块链从1.0时代大跨地带入到2.0时代,下一期我们将进入区块链3.0时代:价值互联网。如果区块链可以链接全球将会是什么样子呢?敬请期待~

同学们可以关注点宽学园公众号,持续学习哦。我们下节课见啦。

【区块链与密码学】课堂回顾:

区块链与密码学系列文章合集

企业级区块链落地:在业务断点嵌入可信协作能力 区块链技术正从加密货币底层设施演进为支撑企业数字化转型的核心可信基础设施。其本质是通过分布式共识与密码学机制,构建多方参与下的不可篡改状态协同能力;技术价值在于降低跨系统、跨组织间的信任成本与对账摩擦;典型应用场景覆盖供应链溯源、多系统对账、合规存证及流程自动化等高信任敏感型业务环节;而真正可规模落地的关键路径,并非重建IT架构,而是以轻量级SDK、Webhook和智能合约为工具,在现有ERP、MES、WMS等系统的关键事件触发点(如订单创建、质检完成、物流签收)实现‘无感嵌入’——这正是区块链、企业级应用 阅读详情

相关推荐

从RSA到ECC:深入浅出解析现代公钥加密算法原理与应用

加密技术是网络安全的基石,其核心在于通过算法和密钥将明文转化为密文,确保数据在传输和存储过程中的机密性与完整性。从古典的对称加密到现代的非对称加密,技术演进始终围绕着提升安全性与解决密钥分发难题展开。非对称加密,特别是公钥加密体系,通过使用公开/私有两把密钥,从根本上解决了密钥安全分发的挑战,成为HTTPS、SSH等安全通信协议的支柱。RSA算法基于大整数分解的数学难题,其安全性依赖于将两个大质数相乘容易、但分解其乘积极其困难这一特性,广泛应用于数字签名和密钥交换。椭圆曲线加密(ECC)则基于椭圆曲线离散对

dht91597的博客 357

北大肖臻老师《区块链技术与应用》系列课程学习笔记[18]以太坊-Mining算法

比特币的Mining算法也有一些值得改进得地方,其中有一个饱受争议得问题就是Mining设备得专业化,有普通的计算机挖不倒矿,只能用专门的设备,专用的ASIC芯片来Mining,那么很多人认为这种做法与去中心化的理念是背道而驰的,也跟比特币的设计初衷相违背。中本聪最早的一篇论文,提出One CPU,one vote,理想状况下,应该让普通老百姓也能参与Mining过程,这样也更安全,因为算力分散之后,有恶意的攻击者想要聚集到51%的算力发动攻击,难度就会大得多

YSL_Lsy_的博客 2713

用ChatGPT反向工程加密技术落地:构建可验证的业务价值评估框架

区块链与密码学技术正从概念验证迈向规模化产业落地,其核心不再局限于共识机制或哈希算法本身,而在于能否量化解决真实业务痛点——如跨境结算延迟、单证人工对账错误、电池溯源合规风险等。零知识证明(ZKP)、国密算法(SM2/SM4)、链上存证等技术的价值,需回归到‘节省多少财务人力’‘降低多少监管罚款’‘缩短多少处理周期’等可计量维度。ChatGPT作为跨领域知识压缩体,擅长基于行业参数(如TPS需求、数据格式、法规条文)生成可交叉验证的技术方案,并暴露术语失真、时效滞后与场景错配等常见认知偏差。本文聚焦如何将A

weixin_30883311的博客 365

以太坊学习一:密码学

  密码学作为区块链最基础的的技术之一,这些知识既包括对信息的转换、加解密,以及校验过程,也包括以太坊地址和交易Hash,交易信息RLP编码、基于椭圆曲线公私钥签名、区块Merkle树交易。 Hash    Hash在数学上也被成为"散列", 是指将任意长度的二进制(明文)转换为较短的固定长度的二进制(Hash值)。Hash算法的特点如下。 输出长度小于输入长度 对于任何输入都能进行快速和高效的计算 强抗冲突性:任何输入改变都会影响大量的输出位。输入数据只要稍有变化,就会得到一个千差万别的结果,且结果无法

weixin_43839871的博客 6360

Ethash:vhdl中的ethash项目

埃塔什(Ethash) vhdl中的ethash项目 以流水线方式设计的ethashimoto进程,每clk周期可访问1个内存,该内存由3个部分组成。

ethash:Ethash的CC ++实现–以太坊工作量证明算法

Ethash Ethash的C / C ++实现–以太坊工作量证明算法 目录 安装 使用CMake从源代码构建。 mkdir build cd build cmake .. cmake --build . 用法 有关导出的功能和文档的列表,请参见 。 测试向量 最佳化 本节描述了与有关的优化,修改和调整。 该库包含一组微基准。 构建并运行bench工具。 种子哈希是动态计算的。 种子哈希是keccak256哈希序列的应用次数。 与构建轻型缓存所需的时间相比,计算种子哈希所需的时间可以忽略不计。 计算时间段10000的种子哈希大约需要5毫秒,构建时间段1的光缓存大约需要500毫秒。 数据

以太坊挖矿源码:ethash算法

本文具体分析以太坊的共识算法之一:实现了POW的以太坊共识引擎ethash。 关键字:ethash,共识算法,pow,Dagger Hashimoto,ASIC,struct{},nonce,FNV hash,位运算,epoch Ethash 前面我们分析了以太坊挖矿的源码,挖了一个共识引擎的坑,研究了DAG有向无环图的算法,这些都是本文要研究的Ethash的基础。Ethash是目前以太坊...

weixin_30840573的博客 2669

fpga_ethash:在Xilinx环境中使用CMake的示例

fpga_ethash 在Xilinx环境中使用CMake的示例

精通以太坊4:以太坊背后的密码学

精通以太坊4:以太坊背后的密码学 密码学是以太坊的技术基石。 在计算机安全领域有广泛应用 密码学可以用来进行知识证明,在不公开秘密数据的情况下,证明直到秘密的信息(数字签名) 也可以用作证明信息的真实性(数字指纹,也称哈希) 4.1秘钥和地址 有两类以太坊账户可以用来持有和操作以太币:外部账户和合约账户 外部账户对以太币的所有权通过私钥,以太坊地址和数字签名建立起来。 私钥乃是用户与以太坊交互的核...

tlkj6868xds的博客 2456

YOLOv11+SAHI实战:5步搞定无人机航拍小目标检测(附VisDrone数据集调参技巧)

本文详细介绍了如何结合YOLOv11目标检测框架与SAHI切片推理技术,高效解决无人机航拍图像中的小目标检测难题。通过VisDrone数据集调参技巧和5步实战指南,帮助开发者快速构建高性能检测系统,显著提升小目标检测的准确率和效率。

rum55的博客 191

SAP 货币类型和公司代码的货币设置

货币类型分为公司代码和集团货币,一般FI 10类型和集团货币 30,事务代码是8KEM; 设置货币类型的事务代码是OB22 在S/4 1809版本里编辑功能统合到事务代码FINSC_LEDGER 中了,这里集中了分类账和公司代码的设置; 设置多账簿的币种(会出现在BSEG和FAGLFLEXA表中) 汇率维护在TCURR表中,可通过BAPI_EXCHANGERATE_GETDETAIL函数获取。 CO货币的事务代码是成本控制范围货币:OKKP ,一般设置为货币码20和30; 另外, SCC4设置集团货币,

RichardYang2020的博客 1万+

以太坊存储结构

虽然我们可以预料以后最大的 dApp 平台迟早会来自中国,不过目前吸引了大多数软件开发人员眼光的却是“以太坊”。以太坊有着很好的开端,轻松的占有全球范围内 30k 名开发人员和超过 500 多家初创公司的资源。以太坊显然已是开发人员首选的 dApp 平台。由于以太坊解决了可扩展性问题,它将有效地从比特币投机性价格波动中解脱出来。如果说比特币是一场赌博,以太坊就是一个已经确定的事实了。更多干货内容请关注微信公众号“区块链前哨”,(ID:blockchain-666) 以太坊的创建者 Vitalik B...

laikaikai的博客 1429

当迁移学习遇见室内定位:基于UJIIndoorLoc的跨场景适配实践

本文探讨了迁移学习在跨建筑室内定位中的应用,重点解析了UJIIndoorLoc数据集的特性及其在解决设备差异和环境变化中的关键作用。通过特征工程、迁移学习策略和小样本微调技术,显著提升了定位模型的跨场景适配能力,为实际部署提供了有效解决方案。

weixin_29038155的博客 394

公链开发成本拆解:技术、团队与生态的“不可能三角”,如何破局?

当Solana以6.5万笔/秒的TPS(每秒交易量)刷新行业认知,当波卡(Polkadot)的跨链资产规模突破340亿美元,当以太坊Layer 2的TVL(锁仓量)占据DeFi(去中心化金融)半壁江山——公链(Public Blockchain)的竞争早已脱离“技术炫技”阶段,演变为一场关于生态吸引力、成本控制与合规生存的终极博弈。

2501_91377248的博客 943

如何通过CAD图中的坐标来确定是哪个坐标系

地理坐标系:为球面坐标。参考平面地是椭球面,坐标单位:经纬度。以地球参考为例,坐标系就相当于整个地球,而地理坐标系就是椭球状的完整的立体地球。所以我们可以看到生活中的数据与地图是一定含有地理坐标系的,因为他是客观上来说确确实实存在的。投影坐标系:为平面坐标。参考平面地是水平面,坐标单位:米、千米等。这就相当于把地球当成一个橘子,然后一刀切开,把橘子皮平面铺开,这个过程就是地理投影的过程。严谨一点来说就是建立一个参考系统,按照对应位置把椭球体投射到平面。那坐标系统主要有那些呢?北京54。

vjmap的博客 2万+

基于STM32设计的智能井盖(Lora组网+4G上云)_423

设计并实现了一种基于 STM32 与 Lora 通信技术的智能井盖监测系统。系统采用 STM32F103C8T6 作为核心控制器,在井盖节点端集成水位检测、有害气体检测、倾斜角度检测以及 GPS 定位等功能模块,对井盖内部环境状态和姿态变化进行实时监测。各井盖节点通过 Lora 无线通信方式组成网络,将采集的数据发送至主机(网关)进行汇聚处理。

720

以太坊弃用波塞冬哈希:从技术路线修正看公链工程化演进

哈希算法作为区块链与密码学的基础组件,其核心原理在于将任意长度数据映射为固定长度摘要,确保数据完整性与唯一性。在工程实践中,算法的选择需权衡安全性、效率与生态兼容性,这直接决定了网络的长远稳定性和开发体验。随着零知识证明等前沿技术的发展,新型哈希算法如波塞冬哈希因其在ZK电路中的高效性曾备受关注,但实际落地面临审计成本高、生态断裂等挑战。此次以太坊技术路线的回调,凸显了基础层优先考虑极致安全与生态零摩擦的务实导向,将创新压力转向Layer2与应用层。对于开发者和用户而言,理解这种从探索到稳定的工程化转变,比

weixin_30879833的博客 395

基于imx6ull平台opencv的图像采集、ffmpeg推流和Windows端拉流(多线程)

本文档是针对imx6ull平台`opencv`的图像采集、ffmpeg推流和Windows端拉流。首先创建一个线程`opencv`通过摄像头采集视频图像,接着再创建两个线程,其中一个线程获取采集的视频图像送给ffmpeg服务,另一个线程用于获取采集的视频图像并处理,处理完并在显示屏上显示,详细的流程请参看如下。

程小二的博客 1607

一文吃透区块链核心原理:从底层逻辑到实战应用,小白也能秒懂

本文用通俗易懂的方式解析区块链核心原理:区块链是去中心化的分布式账本,通过分布式存储(数据全网节点备份)、哈希加密(数据不可篡改)和共识机制(节点协同验证)三大技术建立信任机制。文章详细拆解了区块链运行流程,并列举了DeFi、NFT等典型应用场景,同时指出常见认知误区。作者强调区块链是用技术降低信任成本的工具,掌握其核心原理后,能更深入理解Web3和链上开发。后续将分享更多实战内容,帮助开发者转型Web3领域。

sinat_33255495的博客 1048

Central Finance 全景解析:用 SAP S/4HANA 构建跨系统的财务中台与渐进式转型路径

Central Finance 是基于 SAP S/4HANA 的一种部署与应用场景:在不打断现有异构源系统运营的前提下,把多套 SAP 与非 SAP 系统中的财务与管理会计数据实时/准实时复制到一套中心化的 SAP S/4HANA 中,作为统一的记账与分析底座,逐步把选定的财务流程(如预算控制、付款、固定资产结账等)迁入中心系统。这让企业既能快速获得统一报表与统一核算结构,又为未来的整体迁移留出了弹性路径。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 393

SpringBoot实现快速导入EXCEL

MaterialMonitorController.java @Log(title = "物料监测", businessType = BusinessType.IMPORT) @RequiresPermissions("system:materialMonitor:import") @PostMapping("/importData") @ResponseBody ...

LEN程序员的一生 4817

2025公链开发:是“技术狂欢”的烧钱游戏,还是“生态为王”的价值投资?

2025年,全球公链数量突破3000条,但日均交易量超10万笔的不足5%。一条公链的命运可能截然不同:某新兴链融资5亿美元后因技术缺陷3个月崩溃,而另一条专注隐私计算的公链凭借“零知识证明+跨链互操作性”技术,上线1年用户破千万,总锁仓量(TVL)超200亿美元。

2501_91377248的博客 894

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

哈希、状态根与向量嵌入:三种数据压缩技术的本质联系与应用

在计算机科学中,数据压缩与高效检索是核心基础问题。哈希函数通过确定性算法将任意数据映射为固定长度的唯一标识,其单向性和抗碰撞性为分布式存储与区块链提供了信任基础。向量嵌入则将离散符号映射到连续语义空间,通过相似性度量实现语义检索。这两种技术分别代表了离散精确匹配与连续相似性搜索的范式,共同解决了海量数据下的定位与检索难题。在工程实践中,IPFS利用内容哈希实现去中心化文件寻址,以太坊通过梅克尔树的状态根压缩全局状态,而大语言模型则依赖向量嵌入进行语义理解与生成。理解哈希空间与向量空间的异同,有助于设计融合两

weixin_33696106的博客 650

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

FISCO BCOS+SpringBoot+Ubuntu国赛区块链后端实战指南

区块链后端开发是面向联盟链场景的工程实践能力,核心在于国产可控框架的快速集成与稳定交付。FISCO BCOS作为通过国家网信办备案的国产联盟链,提供完善的Java SDK和SM国密支持;SpringBoot凭借自动配置与REST API开箱能力,显著降低工程初始化成本;Ubuntu 22.04 LTS则以稳定的内核、丰富的apt源和清晰的错误提示,成为国赛指定的首选Linux环境。三者组合构成‘可验证、可部署、可评分’的闭环技术栈,广泛应用于技能大赛、政务链、金融存证等需自主可控与快速落地的领域。本文聚焦该

weixin_33768481的博客 517

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ARC-2零知识求解器实战:R1CS电路对齐与Groth16链上验证

零知识证明(ZKP)是实现链上隐私计算的核心技术,其本质是将计算逻辑编码为算术约束系统(R1CS),再通过多项式承诺与双线性配对生成可验证的简洁证明。Groth16作为最成熟的zk-SNARK方案,以高效验证和紧凑证明著称,但实际落地需深度适配目标链的密码学原语与执行环境。在Algorand生态中,ARC-2并非通用协议,而是专为TEAL v4+验证指令定制的递归证明变体,要求R1CS结构、SRS参数、证明序列化格式与链上`verify`操作码严格对齐。本文聚焦工程实践中的关键断点——从Circom电路编译

weixin_31509753的博客 256

以太坊源码分析(41)hashimoto源码分析

Hashimoto :I/O bound proof of workAbstract: Using a cryptographic hash function not as a proofofwork by itself, butrather as a generator of pointers to a shared data set, allows for an I/O boundproof ...

尹成的技术博客 1272
上一篇: 区块链与密码学】第3-1讲:区块链简史
下一篇: 【区块链与密码学】第3-5讲:价值互联网的“价值”究竟在哪里?
Dig Quant
博客等级 码龄7年 124粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值