密码学初学者可以理解的密码学库

2019-03-02
阅读 1 分钟
2.7k
区块链、加密货币、VPN、数字证书……这些概念的背后基石都是密码学,了解密码学的原理和经典实现方法对于学习理解前面的应用是大有裨益的。 cryptoC 作为一个供密码学初学者入门的密码学库,实现了以下经典的密码系统: 对称密码系统 DES (DES 3-DES) AES 公钥密码系统 RSA ECC MAC SHA (SHA1 SHA512) MD5 数字签名 DSA ...

理解区块链分叉

2018-11-13
阅读 2 分钟
1.5k
<font color=gray>原文: Chain Spilit and Resolutions节选作者: Alphonse Pace译者: 187J3X1 </font>

深入理解以太坊虚拟机 (一) 中英对照

2018-11-13
阅读 16 分钟
3.6k
Solidity offers many high-level language abstractions, but these features make it hard to understand what’s really going on when my program is running. Reading the Solidity documentation still left me confused over very basic things.

以太坊源码分析—Ethash共识算法

2018-11-13
阅读 5 分钟
7.1k
Ethereum当前和Bitcoin一样,采用基于工作量证明(Proof of Work,PoW)的共识算法来产生新的区块。与Bitcoin不同的是,Ethereum采用的共识算法可以抵御ASIC矿机对挖矿工作的垄断地位,这个算法叫做Ethash。

以太坊源码分析—Whisper

2018-11-13
阅读 3 分钟
3.7k
Whisper是以太坊中一项非常有趣的技术,它是一个基于身份的通信系统,被设计用于Dapp之间少量数据通信。Whisper协议运行在以太坊p2p协议框架之上,所有运行Whisper协议的节点(以下简称节点)组成一个Whisper网络。通过节点之间的消息转发,理论上,每个节点都可以收到所有Whisper消息。

以太坊源码分析—p2p节点发现与协议运行

2018-11-13
阅读 6 分钟
5.4k
节点发现功能主要涉及 Server Table udp 这几个数据结构,它们有独自的事件响应循环,节点发现功能便是它们互相协作完成的。其中,每个以太坊客户端启动后都会在本地运行一个Server,并将网络拓扑中相邻的节点视为Node,而Table是Node的容器,udp则是负责维持底层的连接。这些结构的关系如下图

以太坊源码分析—账户的管理

2018-11-13
阅读 2 分钟
4.5k
以太坊是一个巨大的状态机,在网络中,每一个全节点都保存着以太坊状态机的全部历史,只要愿意,我们可以查询到任何时刻的状态(黄皮书中World State),而账户状态便是其中的状态,这部分功能由主要由代码中的state包提供

以太坊源码分析—交易的执行

2018-11-13
阅读 4 分钟
5.8k
以太坊是一个运行智能合约的平台,被称作可编程的区块链,允许用户将编写的智能合约部署在区块链上运行。而运行合约的主体便是以太坊虚拟机(EVM)

以太坊源码分析—挖矿与共识

2018-11-13
阅读 10 分钟
5.8k
挖矿(mine)是指矿工节点互相竞争生成新区块以写入整个区块链获得奖励的过程.共识(consensus)是指区块链各个节点对下一个区块的内容形成一致的过程在以太坊中, miner包向外提供挖矿功能,consensus包对外提供共识引擎接口