- 博客(204)
- 问答 (1)
- 收藏
- 关注
原创 智能合约 - NFT盲盒
为了简单起见,使用伪随机数生成器(注意:在实际生产环境中,应该使用更安全的随机数生成方法,如 Chainlink VRF)。为了让盲盒内的 NFT 具有不同的稀有度和价值,可以将不同的稀有度类别和对应的概率分配到随机生成的 NFT 中。下面是一个简单的 NFT 盲盒智能合约示例,使用 ERC721 标准实现。通过以上步骤,你可以创建一个支持盲盒功能的 NFT 合约,并将其部署到区块链上。函数,可以调整这些概率。
2025-04-04 15:23:52
912
原创 2024年零知识证明(ZK)研究进展
我想把我的数据发送给你,希望你在我的数据上运行你的模型,然后把结果返回给我。但在 ZKML 中,你还需要向我提供一个证明,证明你正确地运行了模型,你没有走捷径之类的。所以 ZKML 的意义在于你有一个承诺后的模型,现在我可以保证你根据我发送给你的数据正确地运行了承诺后的模型。报纸编辑会删除图像上的签名,即 C2PA 签名,然后他们会模糊、裁剪、调整大小等等,然后附加一个零知识证明,证明编辑后的图像来自一个正确签名的 C2PA 图像,并且唯一的修改是这些允许的转换,如模糊和裁剪、调整大小等。
2025-03-29 13:15:17
1491
原创 以太坊POS节点
POS机制实施后,矿工不必花费大量资金购买硬件从而增加算力来获得更多收益,而是通过质押更多的ETH来获得更高的收益。**以太坊 2.0 有一个质押收益率曲线,随着质押的 ETH 数量减少,收益率会增加。**并且随着质押的 ETH 数量的增加,回报率将会下降。
2025-03-17 19:49:04
691
原创 密码学系列 - 利用CPU指令加速
SIMD 描述了具有多个处理元素的计算机,这些处理元素同时对多个数据点执行相同的操作。,就是C、C++语言中的float[4],并且必须是以16位字节边界对齐的, 因此这也给输入和输出带来了不少的麻烦,实际上主要影响SSE发挥性能的就是不停的对数据进行复制以适用应它的数据格式。**因为它使用了128位的存储单元,这对于32位的浮点数来讲,是可以存下4个的,也就是说,SSE和SSE2的指令系统是非常相似的,SSE2比SSE多的仅是少量的额外浮点处理功能、64位浮点数运算支持和64位整数运算支持。
2025-03-08 19:14:26
956
1
原创 ZK Rollup
ZK Rollup 通过零知识证明技术(zk-SNARK 或 zk-STARK),将大量交易的有效性压缩到一个简洁的证明中提交到以太坊主链上,从而实现高效的交易验证和状态更新。这一过程涉及交易收集、状态计算、构建电路、生成和验证证明等多个步骤,利用复杂的密码学技术确保交易的安全性和有效性。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。
2025-03-01 00:06:43
1038
1
原创 各种以太坊Rollup技术
以太坊Rollup技术是一种通过将大量交易批处理并在主链上记录较小的数据摘要来扩展以太坊网络的方法。Rollup技术主要分为两种类型:乐观Rollup(Optimistic Rollup)和零知识Rollup(ZK-Rollup)。
2025-02-24 01:59:15
353
原创 Poseidon哈希为什么适合做ZKP
此类系统的许多用例通常作为其最昂贵的部分涉及在某个密码散列函数下证明原像的知识,该散列函数(Poseidon)表示为大素数域上的电路。一个值得注意的例子是 Zcash 加密货币中coin所有权的零知识证明,其中 SHA-256 散列函数对这种电路的不足导致了巨大的计算损失。相比同类算法,包括经典的SHA-256、SHA-3以及Pedersen哈希函数,在零知识证明的应用场景下,Poseidon是为 ZK 证明系统中使用的有限域量身定制的, 旨在最小化电路的大小,从而最小化证明者和验证者的复杂性。
2025-01-24 00:45:09
597
原创 BTC系列 - 启示录
推荐《区块链启示录:中本聪文集》这本书, 原来早在2010年, BTC生态还不完善的时候, 社区中就已经畅想出了未来其它链上的特色方案, 中本聪也都一一做了教父级回应: coinbase币的成熟时间, 交易池, 交易确认机制, 防51%攻击, 防双重消费, 水龙头, 轻量级客户端, 链上只记录哈希(Layer2的思想), 矿池, 分布式域名系统。
2025-01-12 13:14:56
1021
2
原创 发刊五周年(2024)
一直在弄装修和搬家的事, 发现停更几次之后,很快就荒废了. 一件事件能长期坚持真的很难, 连这篇周年纪念稿也是迟了一年才发.BTC的铭文很神奇, 在BTC上实现了类NFT的效果, 且随着BTC产量的减少, 将变得越来越稀有. 它成为我的信仰了.
2025-01-04 11:15:48
117
1
原创 ZKVM-执行指令生成R1CS时为什么要将int型转成field型再运算
将int转为field是 zkSNARK 框架中实现零知识证明所需的必然步骤,确保所有计算可以在数学安全性和高效性兼备的有限域上进行。这一机制使得 Aleo 的程序在提供隐私保障和高效验证时,仍然保持强大的计算能力。
2025-01-03 23:56:49
936
1
原创 BTC系列-系统学习铭文(二)-序数理论
序数是一种比特币的编号方案,允许跟踪和转移单个聪。这些数字被称作序号。比特币是按照它们被挖掘的顺序编号的,并从交易输入转移到交易输出(遵循先进先出原则)。编号方案和传输方案都依赖于_顺序_,编号方案依赖于比特币被挖掘的_顺序_,而传输方案依赖于交易输入和输出的_顺序_。因此得名,序数(Ordinals)。
2024-05-25 12:29:40
824
1
原创 BTC系列-系统学习铭文(一)-比特币上的NFT
它支持任意数据传输,并具有折扣的“块权重”,巧妙地将大量数据保留在比特币的块大小限制内,以避免硬分叉的需要。在此过程中,Taproot 创建了一个更简单的系统来存储任意见证数据,并放宽了对比特币交易中可以放置多少任意数据的限制。Ordinals NFTs 是基于以下两项比特币上的技术得以实现的: 2017年的隔离见证 (SegWit) 和 2021年的Taproot。由于数据要求放宽,假设单笔交易可以用其交易和见证数据填充整个区块,最高可达 4MB 的区块大小限制,从而极大地扩展了可以放在链上的媒体类型。
2024-02-22 00:17:59
1858
9
原创 Fabric系列 - 知识点整理
链码被编译成一个独立的应用程序,fabric用Docker容器来运行chaincode,里面的base镜像都是经过签名验证的安全镜像,包括OS层和开发chaincode的语言、runtime和SDK层。部署和调用链码之前需要先创建通道、加入通道、更新锚节点,然后才能进行有关链码的操作,比如安装链码、实例化链码、invoke和query等。和以太坊相比,Fabric链码和底层账本是分开的,升级链码时并不需要迁移账本数据到新链码当中,真正实现了逻辑与数据的分离。顾名思义,锚点交易指定了该通道上每个组织的。
2023-08-09 08:29:35
1885
1
原创 Fabric系列 - 体验fabric-ca-server
初始化和启动fabric-ca-server,需要设置一个管理员用户的名称和密码。到github下载release版的bin文件。
2023-04-05 13:57:08
480
1
原创 Fabric系列 - 国密改造
Fabric国密改造项目由Hyperlegder中国工作组(TWGC)发起执行,旨在构建支持国密算法且密码算法可灵活扩展的Fabric平台,方便世界各国开发者快速接入自定义的密码算法。根据改造需求分析,Fabric国密改造方案由三个部分构成:国密算法基础库收集与改造构建完善可用的国密算法基础库是Fabric国密改造的首要事项。本次改造涉及的国密算法包括:SM2、SM3和SM4。另外,TLS协议也需要进行对应的国密改造。Fabric本体改造。
2023-03-29 12:40:54
2168
1
原创 Fabric系列 - TLS身份验证
所有组织(orderer组织与加入该channel的peer组织)的根证书都会被写入channel的创世块(确切的说是channel配置块)中(没配置开启TLS也会写入), 每个组织的锚节点地址也会被写入。故要增加、删除组织,修改锚节点地址等操作都需要修改创世块参考:区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。
2023-03-21 21:50:02
787
1
原创 Fabric系列 - 排序节点和交易流程
具体来说,更新账本的应用程序涉及到三个阶段,该过程确保区块链网络中的所有节点保持它们的账本彼此一致。
2023-03-15 22:16:59
1546
1
原创 Fabric系列 - 链码- 外部链码(v2.0)
1)使用链码生命周期打包和部署链码(Peer节点无须再安装链码2)运行可执行链码文件作为外部链码服务启动。3)提交链码定义到通道。4)Peer通过connection.json中指定信息连接到外部链码服务。最后,用户可以调用链码,而无须关注该链码如何管理。区块链知识系列密码学系列零知识证明系列共识系列公链调研系列BTC系列以太坊系列EOS系列Filecoin系列联盟链系列Fabric系列智能合约系列Token系列。
2023-03-08 09:32:53
1570
5
原创 Fabric系列 - 版本对比1.X vs 2.X
Fabric的主要版本迭代Fabric 1.X vs 2.XFabric versionv1.4v2.0–共识–Solo共识orderer/consensus/solo☑☐ 弃用Kafka共识orderer/consensus/kafka☑☐ 弃用Raft共识orderer/consensus/etcdraft☑☑–新特性–新的生命周期系统链码☐ peer chaincode命令被取代☑ peer lifecycle chai
2023-02-22 00:12:33
924
1
原创 区块链知识系列 - 系统学习EVM(四)-zkEVM
rollup顾名思义,就是把一堆交易卷(rollup)起来变成一个rollup交易,所有节点接收到这个rollup交易之后,不去执行被卷起来的逻辑,而只去接受这些逻辑的执行结果。因此这个rollup交易所需要的gas会远小于执行这些交易的gas。StarkNet这是 StarkWare 对 StarkNet 采用的方法,这是目前最先进的通用 Rollup。zkSync。
2023-02-16 00:02:51
1693
1
原创 我的创作纪念日 - 发刊四周年
还有就是周年内由于一些工作原因, 停更了好多期, 没能保持住一周一更的初衷, 不过每周我还是有在做知识整理的, 争取日后推出高质量的文章. 最近的一篇2天收获50位粉丝, 还是让我小兴奋了一把 😁 (要求不高).要说周年内最大的感受, 要属 优快云的文章审核要求明显严格了, 即便我历年来发的都是区块链类的技术文章, 也有好几十篇躺枪, 为了过审, 改得我焦头烂额🤕.本周年最大的主题就是–家里蹲(居家隔离), 好在大家都挺过来了, 全面恢复正常生活指日可待.
2023-02-10 23:21:55
549
1
原创 区块链知识系列 - 系统学习EVM(三)-预编译合约
预编译合约是 EVM 中用于提供更复杂库函数(通常用于加密、散列等复杂操作)的一种折衷方法,这些函数不适合编写操作码。它们适用于简单但经常调用的合约,或逻辑上固定但计算量很大的合约。预编译合约是在使用节点客户端代码实现的,因为它们不需要 EVM,所以运行速度很快。由于 EVM 是一个基于堆栈的虚拟机,它根据交易所要执行的操作指令内容来计算 gas 消耗,如果计算非常复杂,在 EVM 中执行相关操作指令就会非常低效,而且会消耗大量的 gas。在 EVM 中执行这些操作是非常复杂和不现实的。
2023-02-10 00:05:07
877
1
原创 区块链知识系列 - 系统学习EVM(二)-存储与安全
特点EVM出于所谓运算速度和效率方面考虑,采用了非主流的256bit整数。不支持浮点数缺乏标准库支持,例如字符串拼接、切割、查找等等都需要开发者自己实现给合约打补丁或是部分升级合约代码在EVM中是完全不可能的存储Codecode 部署合约时储存 data 字段也就是合约内容的空间,即专门存储智能合约的二进制源码的空间StorageStorage 是一个可以读写修改的持久存储的空间,也是每个合约持久化存储数据的地方。Storage 是一个巨大的 map,一共 22562^{256}22
2023-01-30 19:18:03
3722
5
原创 区块链知识系列 - 系统学习EVM(一)-架构与执行流程
EVM有一个基于栈的架构,在一个栈中保存了所有内存数值。EVM的数据处理单位被定义为256位的“字”(这里所说的内存数值是指那些EVM字节码运行所需要的输入、输出参数数据和智能合约程序运行中所需要的局部变量等数据,而不是指下文中所提到的“内存”数据;下文中的“内存”是一个与栈共同存在的、独立的临时存储空间。以太坊虚拟机(EVM)的架构和执行上下文。
2023-01-17 13:51:21
4006
1
原创 区块链知识系列 - Oracle预言机
Oracle 预言机区块链外信息写入区块链内的机制,一般被称为预言机(oracle mechanism)。借助预言机外界的数据得以灌入链内, 使得DApp的玩法更多样. 比如DApp倚重的随机数, 可以考虑让一个硬件产生真随机数, 通过Oracle,定时灌入, 这将更公正和安全1 为什么需要预言机所有节点同一个事务中智能合约运行的结果必须一致智能合约不应该发起网络调用由于区块链的共识模式,智能合约只可以从内部调取数据,而不能直接从区块链外部(链下)获取信息。2 应用场景游戏/预测:获取
2023-01-02 01:12:26
1996
1
原创 Fabric系列 - 多通道技术(Muti-channel)
可在节点,通道和联盟级别上配置。一个Fabric网络中能够运行多个账本,每个通道间的逻辑相互隔离不受影响,如下图所示,每种颜色的线条代表一个逻辑上的通道,每个Peer节点可以加入不同的通道,每个通道都拥有独立的账本、世界状态、链码以及Kafka中的Topic,通道间消息是隔离的,互不影响的。每个Peer节点可以配置加入到多个不同的通道,不同业务的交易存储在不同的通道对应的节点中Fabric的Peer模块的提供了一些可以查询Fabric的系统信息的子命令,比如可以通过命令peerchannel li
2022-12-21 08:31:48
2827
1
原创 密码学系列 - HTTPS
https是在 传输阶段进行加密的,但你本机用抓包软件抓 是在你数据还没进到网卡传送数据之前直接就已经被截获了,所以说 你自己抓自己的就可以 但你要抓别人的 就不可以,这是常识。https是http的SSL版本,http本身是明文传输的,https请求内容进行了加密,本身还是可以被抓包的。可以把这个证书添加到系统证书里面,这样浏览器等便能信任,或者直接使用 mkcert 工具一步到位。
2022-12-16 23:35:11
403
1
原创 IPFS系列 - 工作原理和机制
IPFS的工作原理和机制(1) IPFS为每⼀个文件分配一个独一无⼆的哈希值(文件指纹:根据文件的内容进行创建),即使是两个文件内容只有1个比特的不相同,其哈希值也不相同。这个方式使得IPFS可以支持基于文件内容进行寻址;(2) IPFS在整个网络范围内去掉重复的文件,并且为文件建立版本管理;(3) 查询文件的时,IPFS网络根据文件的哈希值(全网唯一)进行查找;(4) 哈希值不容易记忆,会产生传播造成困难,IPFS利用IPNS 将哈希值映射为容易记的名字;(5) 每个节点除了存储自己需要的数据,
2022-11-22 00:03:26
2070
1
原创 IPFS系列 - 体验 IPFS Cluster Docker
现在,您应该正在运行一个三节点IPFS群集!ipfs-cluster-ctl 是IPFS群集守护程序的命令行客户端,我们将使用它来检查群集,添加和固定内容。等到所有容器都在运行。您可能会看到一些错误,因为在IPF准备就绪之前,群集对等点启动太快,但是它。下载适用于您平台的最新版本并将其解压缩到您选择的文件夹中。并将其放置在相同的目录中ipfs-cluster-ctl。安装Docker和Docker Compose。
2022-11-15 22:25:45
876
1
原创 IPFS系列 - 体验 IPFS Docker
docker 启用一个ipfs节点, 连接公网ipfs网络。下载文件夹(使用上面返回的文件夹的 唯一id)即使关掉容器, 仍能查看下载之前上传的文件。也可安装chrome插件: IPFS伴侣。通过api查看刚才上传的文件。
2022-11-07 22:35:05
792
1
空空如也
话说谷歌支付的服务器端验证怎么弄
2015-10-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人