0

Image Description

荆文征

Zhidu Inc.


你好,再见

Abstract: Using a cryptographic hash function not as a proof of work by itself, but rather as a generator of pointers to a shared data set, allows for an I/O bound proof of work. This method of proof of work is dif icult to optimize via ASIC design, and dif icult to outsource to nodes without the full data set. The name is based on the three operations which comprise the algorithm: hash, shift, and modulo.

Abstract

This paper describes a new replication algorithm that is able to tolerate Byzantine faults. We believe that Byzantinefault-tolerant algorithms will be increasingly important in the future because malicious attacks and software errors are increasingly common and can cause faulty nodes to exhibit arbitrary behavior. Whereas previous algorithms assumed a synchronous system or were too slow to be used in practice, the algorithm described in this paper is practical: it works in asynchronous environments like the Internet and incorporates several important optimizations that improve the response time of previous algorithms by more than an order of magnitude. We implemented a Byzantine-fault-tolerant NFS service using our algorithm and measured its performance. The results show that ourservice is only 3% slower than a standard unreplicated NFS.

最近在学习 paxos。英文能力略残,所以把论文按照规则排版之后,在网页上进行 谷歌翻译。

Introduction

It is well known that fault-tolerance on commodity hardware can be achieved through replication [17, 18]. A common approach is to use a consensus algorithm [7] to ensure that all replicas are mutually consistent [8, 14, 17]. By repeatedly applying such an algorithm on a sequence of input values, it is possible to build an identical log of values on each replica. If the values are operations on some data structure, application of the same log on all replicas may be used to arrive at mutually consistent data structures on all replicas. For instance, if the log contains a sequence of database operations, and if the same sequence of operations is applied to the (local) database on each replica, eventually all replicas will end up with the same database content (provided that they all started with the same initial database state).

最近在学习 paxos。英文能力略残,所以把论文按照规则排版之后,在网页上进行 谷歌翻译。

Introduction

The Paxos algorithm for implementing a fault-tolerant distributed system has been regarded as difficult to understand, perhaps because the original presentation was Greek to many readers [5]. In fact, it is among the simplest and most obvious of distributed algorithms. At its heart is a consensus algorithm—the “synod” algorithm of [5]. The next section shows that this consensus algorithm follows almost unavoidably from the properties we want it to satisfy. The last section explains the complete Paxos algorithm, which is obtained by the straightforward application of consensus to the state machine approach for building a distributed system—an approach that should be well-known, since it is the subject of what is probably the most often-cited article on the theory of distributed systems [4].

分布式网络

我们来大致的看一下网络的发展脚步

在1961年,麻省理工学院的L.克莱因罗克(L.Klenrock)博士发表论文《大型通讯网络的信息流》,第一次详细论述了分布式网络理论。

我们可以看到,从这个理论开始到现在也不过50多个年头,连一个世纪都没有,甚至说,L.克莱因罗克(L.Klenrock)博士(互联网的创始人之一)至今还在世。

不仅让我们感叹,人类的进步的速度…

之后60年代,美籍波兰人保罗·巴兰(Paul Baran)撰写多份报告,不仅系统地阐述了分布式网络理论而且提出后来网络传播的核心——“包切换”(Packet Switching)

接下来,我们会创建一个智能合约,发布并且完成智能合约的调用。

阅读本篇文章的所需要具备的基础

  1. 熟悉 Solidity 基本的操作,可以书写 简单的智能合约
  2. 电脑上安装 truffle 用于 sol的解析,当然你也可以使用 solcjs 进行 bin 以及 abi的编译
  3. 电脑上安装 genache 用于创建一个 测试网络

当然如果你只是想在电脑运行一份,聊天智能合约的话,只需要装一个 genache 就可以了,直接跳转到最下面就可以了。

bitcoin也许是有这样那样的问题,但是它是划时代的,面向未来的一次实验。 如今反对bitcoin的人的观点都是使用现今经济模式理论的,但他们有严重的逻辑缺陷——显然bitcoin是用来破坏这一模式的。 比如很多人阐述的bitecoin没有政府信用担保。事实上政府的存在也是依靠大众的信用。政府的信用只不过是大众赋予的。bitcoin本身就是大众(目前来说还是少数人)对政府控制铸币权的挑战。

私钥 公钥 比特币地址

一个比特币钱包中包含一系列的密钥对,每个密钥对包括一个私钥和一个公钥。私钥(k)是一个数字,通常是随机选出的。
有了私钥,我们就可以使用椭圆曲线乘法这个单向加密函数产生一个公钥(K)。
有了公钥(K),我们就可以使用一个单向加密哈希函数生成比特币地址(A)。