本文介绍了在Solidity中生成随机数的常见需求和挑战,解释了为什么直接使用链上数据(如block.timestamp和blockhash)是不安全的,并通过一个具体的漏洞合约示例展示了攻击者如何利用这些弱点。最后,文章强调了使用可验证的随机数预言机(如Chainlink VRF)的重要性,以确保智能合约应用的公平性和安全性。
本文深入探讨了Solidity智能合约中访问控制的重要性,以及如何通过适当的访问控制机制来防御潜在的安全漏洞。
本文深入探讨了以太坊智能合约中一种臭名昭著且具有破坏性的漏洞——重入漏洞。文章解释了重入漏洞的原理、类型(包括单函数重入、跨函数重入和只读重入),并通过具体的合约例子进行了详细分析。此外,还提供了多种缓解重入攻击的技术手段,如在外部调用前更新状态、使用重入锁、遵循Checks-Effects-Interactions模式等。
本文介绍了以太坊中三种常见的可升级合约模式:Transparent Proxy、UUPS以及Beacon Proxy。Transparent Proxy通过代理合约中的管理员来升级合约;UUPS将升级逻辑放在实现合约中;Beacon Proxy则使用一个Beacon合约来管理实现合约的地址,从而实现多个代理合约的同步升级。
本文介绍了区块链数据库的概念,它是一种去中心化的数据存储方式,通过加密哈希和时间戳将数据块链接在一起,具有不可篡改性和透明性。文章还探讨了区块链数据库与AI的结合,以及其在供应链管理、金融交易、医疗保健、投票系统和数字身份等领域的应用。同时,文章对比了传统数据库和区块链数据库的关键差异。
本文介绍了如何使用 Gin 框架实现 Golang HTTP 服务器,重点介绍了健康检查控制器和超时中间件的集成,以增强系统可靠性和安全性。健康检查控制器通过 /api/v1/health 端点返回 “OK” 响应来确认服务的运行状态。超时中间件通过终止超过 60 秒的请求来缓解潜在的拒绝服务攻击。
/api/v1/health
本文介绍了去中心化身份(Decentralized ID)的概念、工作原理及其优势。它旨在解决传统身份系统的弊端,例如中心化存储带来的安全风险和用户控制缺失。通过区块链技术和加密技术,用户可以安全地管理和控制自己的身份信息,从而提高在线隐私和安全性。
本文是作者在学习Web3Bridge区块链课程第三周的学习笔记,主要介绍了Web3架构、Solidity编程语言、工厂合约以及Solidity中的继承等概念。内容涵盖了Web3应用架构的核心组件、Solidity的基础知识(包括变量作用域、可见性、数据类型、函数修饰符、错误处理)、数据存储位置(Storage、Memory、Stack)、工厂模式的实现方式,以及Solidity中继承的优点。
文章介绍了在Polkadot上使用Rust语言的ink!框架在PolkaVM虚拟机上开发智能合约的方法。PolkaVM支持以太坊的JSON-RPC接口,使得使用ink! (version 6) 编写的智能合约可以在PolkaVM上运行。文章还提供了一个简单的步骤指南,包括安装ink! v6、实现flipper合约并编译,创建viem项目与PolkaVM交互,以及进行测试。
本文介绍了如何使用 Go 语言和Token桶算法构建一个速率限制器,并将其与 Redis 集成以实现生产级别。文章详细讲解了速率限制的概念、Token Bucket 算法的原理和实现,以及如何使用 Redis 解决并发、无状态、多服务器同步和水平扩展等关键问题。