生生不息

生生不息

区块链

assert()的失败,通常比require()的回退浪费更多的区块链执行成本

assert()的失败,通常比require()的回退浪费更多的区块链执行成本

背景 最近在学习区块链编程,提到“assert()的失败,通常比require()的回退浪费更多的区块链执行成本”,所以想查查资料,收集如下。 在 Solidity 智能合约开发中,assert() 和 require() 都是用于条件检查的关键函数,但它们在设计目标、执行逻辑和资源消耗上存在显著差
Parity漏洞事件深度分析:智能合约安全的里程碑式警示

Parity漏洞事件深度分析:智能合约安全的里程碑式警示

引言 在区块链发展史上,Parity钱包的两次安全事件(2017年7月与11月)堪称智能合约安全领域的“教科书级案例”。这两次事件不仅直接导致数亿美元的损失,更暴露了当时智能合约开发中的核心漏洞。本文将从技术细节、攻击路径、行业影响等多维度展开分析,为开发者与用户提供深刻的教训。 一、事件背景 Pa
4
0
0
2025-05-16
重入攻击与DAO被黑事件:区块链安全史上的里程碑教训

重入攻击与DAO被黑事件:区块链安全史上的里程碑教训

一、重入攻击:智能合约的“致命递归” 重入攻击(Reentrancy Attack)是以太坊智能合约中最臭名昭著的安全漏洞之一,其核心逻辑类似于编程中的递归调用,但被恶意利用后可能引发灾难性后果。攻击者通过以下步骤实施: 状态更新延迟:合约在转账(外部调用)之后才更新账户余额,例如先发送ETH再清零
3
0
0
2025-05-16
比特币的“10分钟心跳”:为何区块生成速度如此设计?

比特币的“10分钟心跳”:为何区块生成速度如此设计?

背景 比特币的区块链网络如同一个精密运转的钟表,每10分钟便诞生一个新的区块,记录全球交易并维护系统安全。这一看似简单的规则背后,是中本聪对密码学、经济学和博弈论的深刻洞察。本文将深入探讨“10分钟”这一神秘数字的设计逻辑,揭开比特币网络运行的核心密码。 一、技术根基:工作量证明与动态难度调控 比特
BTC
9
0
0
2025-05-11
BTC共识协议

BTC共识协议

数字货币的问题 如果央行通过发行一种数字货币,采用公私钥对进行签名,央行存储私钥,将公钥公布出去。用户可以通过公钥验证收到的数字货币的真伪。 但是这种会存在一种致命的问题:“双花”攻击(double spending attack),即一笔钱被花了两次甚至多次。用户在得到数字货币后,对文件进行复制,
BTC
10
0
1
2025-01-06
BTC数据结构

BTC数据结构

比特币中用到的数据结构 哈希指针 哈希指针(hash pointers):普通的指针是存储内存中的一个结构体起始位置,哈希指针除了要指向这个地址外,还要保存这个结构体的哈希值。这样除了可以通过该指针得到这个结构体的位置,同时还可以用哈希值检测这个结构体的内容是否被篡改。 区块链 区块链(block
BTC
9
0
1
2025-01-05
BTC密码学原理

BTC密码学原理

背景 比特币中主要用到了密码学中两个功能: 1.哈希 2.签名。密码学中的哈希函数(cryptographtic hash function) 比特币使用的是SHA-256,secure hash algorithm 一、哈希函数 哈希函数主要有三个特性: 1、碰撞特性(collision resi
BTC
9
0
1
2025-01-05
TRON、TRX、TRC20、USDT 之间的关系

TRON、TRX、TRC20、USDT 之间的关系

TRON(波场) TRON(波场)是一个基于区块链技术的去中心化网络,是一个高性能区块链平台,在其基础上内生的虚拟货币,简称为 TRX ,由中国的企业家孙宇晨(孙割)在2017年创立。 至于为什么叫孙割可以自己查询,我也不是太了解。但我也是感受到了一点就是手续费越来越贵…无底线的贵 简单来说,TRO
8
0
1
2024-12-25