
信息安全
文章平均质量分 87
Mr. Water
这个作者很懒,什么都没留下…
展开
-
面向需求——可验证随机数在区块链上的应用
前言对于一个没有密码学经验,大学本科只学过数论的小白来说,想完全理清VRF是一件非常痛苦的事情。因为它不仅涉及到了椭圆曲线,签名算法相关的内容,场景和参与方也都具有相当的复杂性。然而本文要把其中的每一个概念全都理清楚,是对初学者非常友好的一篇博客。背景要求只需要对区块链有一定的理解即可。Motivation尽管现在有很多通过可验证随机数技术来解决链上随机数生成的问题,但是在综合不同的应用场景后,可验证随机数的核心能力在于区块链的共识问题。区块链共识解决的核心问题在于解决分叉,如比特原创 2021-05-20 16:29:46 · 680 阅读 · 2 评论 -
Oyente搭建,框架结构以及helloworld案例解析(一)
本文目标简要描述oyente搭建的几个坑点。清楚描述oyente框架结构和每个文件的内容。跑通helloworld.sol案例并对整个代码过程进行解析。1. Oyente搭建的几个坑点oyente目前只支持4.19以下的solidity版本,所以我们如果直接按照官方文档中的方法安装sol是没有办法跑通的,最好的办法是使用solc-select来管理安装不同版本的solidity。oyente官方文档中没有提到需要安装crytic_compile库,但是input_helper中又引入了这个原创 2021-04-22 14:17:09 · 5303 阅读 · 15 评论 -
以太坊虚拟机模型全解——概念,指令以及代码
目录介绍区块链世界状态账户交易消息去中心化数据库原子性和顺序虚拟机以太坊虚拟机消息调用异常Gas和费用输入和输出字节指令指令集杂项附录A: 实现Geth源码EVM开发应用solidity ABI附录:用户界面Geth, mist, Solc, Remix, Truffle参考介绍区块链区块链系统实际上可以看做一个基于交易的状态机。但是区块链不被称作状态链,是因为只需要有区块就能够推出每一个状态。所以从区块链系统制作的角原创 2021-04-16 15:51:17 · 3209 阅读 · 0 评论 -
深入理解区块链上随机性(一)——背景与构造
前言区块链上随机数的产生是一个非常特殊的一类问题,和一众经典难题一样,有着显而易懂的需求和资源限制,但却相对极难解决。由于区块链以及衍生发展出的智能合约,产生随机数背景条件有诸多限制,如公开性,可验证性以及信息不平衡,导致目前已有的团队开发的框架大部分是针对特定的应用场景,而且不可避免的都会有缺陷,使得这个领域的研究充满着机遇和挑战。本文目标通俗的梳理关于随机数的概念。整理目前区块链上,或者是分布式环境上产生随机数的方法和思路。随机性随机性本身在区块链中属于比较困难的课题。这里随机性原创 2021-04-15 11:44:39 · 848 阅读 · 0 评论 -
论文阅读:Seraph: Enabling Cross-Platform Security Analysis For EVM and WASM Smart Contracts
阅读目标了解SERAPH的设计的背景和目标。了解工具设计的基本原理和使用方法。论文总览概述描述了智能合约非常容易受到外部攻击的背景,这也是SERAPH设计的初衷。SERAPH能够在主流的虚拟机框架上运行,例如EVM和WASM。并引入了一系列连接的API供区块链和虚拟机交互,例如加载和更新区块链上存储的数据。而且害提出了一种·symbolic semantic graph来对安全分析和内部关键依赖进行结构。1. 介绍介绍了目前区块链和智能合约的一些内容。开始总结当前智能合原创 2021-04-13 09:46:22 · 401 阅读 · 2 评论 -
论文阅读:Making Smart Contracts Smarter
阅读目标对目前智能合约的安全问题有全面的认识。回顾区块链和智能合约相关的基础概念。思考智能合约安全问题以及未来的展望。文章结构概览概要介绍了加密货币以及智能合约的基本概念。陈述了本文的目标是探索以太坊上智能合约运行的安全性,并推广到其他的加密货币。简要介绍了他们的工作,包括:提出了方法提升目前以太坊的安全性,使得智能合约不容易被攻击。制作了一个工具OYENTE可以找到潜在的安全问题。介绍了TheDAO漏洞1. 介绍简要介绍了分布式加密货币和智能合约的概念。介绍了原创 2021-04-11 20:52:38 · 1404 阅读 · 1 评论 -
理解区块链——从搭建一个区块链入手
背景目前区块链的各种教程很容易让人似懂非懂,真正想理解,不如直接敲一遍,把每一步的逻辑理解清楚才是最实在的。环境测试环境:Google Colab1. 先定义好需要的工具有#flask 提供了一个基本的Web功能#requests 做接口测试可以用!pip install Flask==0.12.2 requests==2.18.4#API接口测试工具!pip install cURL2. 开始书写Blockchain类代码我们要明确blockchain它有的功能。首先原创 2021-03-29 13:43:44 · 411 阅读 · 0 评论 -
探索Colab多终端(tmux)的应用——使用colab搭建以太坊私链
背景平常练习项目框架搭环境简直是痛苦之源,自从有了colab,感觉生活质量都提高不少。colab最主要的是应用的环境非常的干净,而且炸了立马可以重来,非常的方便。但是colab主要的问题是它无法实现终端的多开,例如Hadoop, Spark,或者要搭建区块链的测试框架都有多开终端的需求,然而colab目前来说没有一个完整的解决方案针对这个问题。这篇博客就针对这种情况,做了一套方案来解决这个问题。本文以以太坊私链为例(也是公司提得一个要求)其实通过这个方法,也可以解决colab同时运行多个命令行原创 2021-03-21 00:12:03 · 1088 阅读 · 2 评论