ZBX Blog

热爱生活,健康工作

Redis相关知识

待进一步完善

原理 纯内存操作 单线程操作,避免了频繁的上下文切换,单线程指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程。(单线程的缺点??) 采用了非阻塞 I/O 多路复用机制 使用了epoll,epoll中的读、写、关闭、连接都转化成了事件 数据类型 String 一个可变的字节数组,String是动态字符串 ...

空间的密文查询

空间几何范围的密文查询

Introduction ​ 文章提出了一种有效的几何范围查询方案(EGRQ)来支持加密空间数据的搜索和访问控制。在EGRQ中使用了安全的KNN计算、多项式拟合技术和保顺的加密来保护范围查询的安全性和私密性,为了提高效率利用R-tree来减少搜索空间和匹配时间。 System Model 数据拥有者 数据所有者的主要任务是将其空间数据以密文(util...

MySQL相关知识01

MySQL的原理、数据结构、引擎、使用、事务隔离级别等

InnoDB引擎 ​ InnoDB通过使用多版本并发控制MVCC来获得高并发性,并且实现了SQL的标准的4中隔离级别,默认为可重复读级别。同时,使用一种被称为next-key locking的策略来避免幻读现象的产生。除此之外,InnoDB还提供了insert buffer插入缓冲、二次写double write、自适应哈希索引adaptive hash index、预读 read ah...

Ethereum中的Bloom Filter

以太坊中的布隆过滤器

概念 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询效率高,不会漏判,缺点是有一定的误判率。 日志中的Bloom Filter 以太坊提供Bloom Filter的功能是为了快速查找合约的交易或者发起交易的账户。某个账户根据合约地址查找相应的合约发...

LLVM Basic Block frequency

基本块频率

介绍 ​ 看了写论文中评价Fuzzer性能有一项关键性指标,即代码覆盖率(coverage),而Anti-fuzz的论文中则是提出了降低代码覆盖率的方案,而与覆盖率息息相关的是基本块频率,只有热的基本块的访问频率变低才能说明Anti-fuzz确实是有用的,于是查看了下LLVM中关于基本块频率的描述。 ​ 所谓Basic Block基本块,是指程序一顺序执行的语句序列,其中只有一个入口和...

Merkle Patricia Trie

以太坊虚拟机的的存储结构之Merkle Patricia Trie

以太坊中MPT树的结构 每一个以太坊的区块头都包含三棵MPT树,分别是交易树、收据树(交易执行过程中的一些数据)和状态树(账号信息、合约账户和用户账户)。MPT(Merkle Patricia Trie)是以太坊中一种非常重要的数据结构,用来存储用户账户的状态及其变更、交易信息、交易的收据信息。它实际上是三种数据结构的组合,分别是Trie树, Patricia Trie和Merkle树。下...

Ethereum security tools

以太坊安全工具套件

​ 要构建一个安全的Ethereum代码库,熟悉要避免的已知错误,对每个新的代码签入进行静态分析,fuzz新特性,并使用symbolic execution验证final product。 1. Not So Smart Contracts ​ 此repository 包含常见的Ethereum智能合约漏洞示例,包括实际代码。回顾一下这个列表,确保你对可能出现的问题非常熟悉。repo...

Challenges for Combining Smart Contracts with Trusted Computing

将智能合约与可信计算相结合的问题和挑战

Author: Marcus Brandenburger、Christian Cachin 等 1 INTRODUCTION ​ 可信执行技术被设想在区块链和分布式账本上下文中发挥重要作用,特别是对于企业应用程序和联盟区块链。区块链上的智能合约不能保持secret,因为它的数据被复制到网络中的所有节点上。为了解决这个问题,有人建议[2,4,9]使用可信执行环境(TEE),如Intel ...

SGX学习笔记01

Intel SGX之enclave生命周期以及认证

Intel SGX ​ Intel SGX是Intel架构新的扩展, 在原有架构上增加了一组新的指令集和内存访问机制。这些扩展允许应用程序实现一个被称为enclave的容器, 在应用程序的地址空间中划分出一块被保护的区域, 为容器内的代码和数据提供机密性和完整性的保护, 免受拥有特殊权限的恶意软件的破坏。 enclave 生命周期 enclave创建 一个enclave需...

BlockChain Security

区块链安全相关论文

SmartPool 已经有超过区块链总计算能力40%的 mining pool 。这对分散化的本质构成了严重的威胁,使得区块链容易受到多种攻击。Loi等人提出了一种新的mining pool 系统SmartPool。SmartPool从Ethereum节点客户端(即,parity或geth),其中包含mining任务信息。然后,miner 根据任务进行哈希计算,并将完成的shares返回给...