0%

总结

​ 社会上对区块链的争议是非常大的,有很多对区块链的质疑也是有道理的,其中一个原因是区块链的概念被滥用了,有些人把什么问题都往区块链上放,无论是效率上的问题,还是监管上的问题,好像区块链是解决问题的法宝,有什么问题放在区块链里好像都能解决一样,这个是不对的。

阅读全文 »

美链

​ 上篇文章The DAO的例子是2016年发生的,美链这个例子是2018年四月才发生的,出问题的智能合约叫做美链—Beauty Chain。

阅读全文 »

TheDAO

​ 冲入攻击在现实中真的会发生吗?本文章讲解一下2015年发生过的一次真实的案例。这个案例在以太坊的历史上赫赫有名,造成了以太坊的分裂,可以说以太坊的历史都被他改写了。

​ 我们说比特币实现了去中心化的货币,以太坊实现了去中心化的合约,那么去中心化这么好,那为什么不把所有的都改成去中心化的?所以有的人就提议:DAO(Decentralized Autonomous Organization),去中心化的自治组织。

阅读全文 »

智能合约

​ 智能合约是比特币和以太坊的一个重要的区别,智能合约的本质是运行在区块链上的一个代码,代码的逻辑定义智能合约的内容,智能合约的账户里保存了合约当前的运行状态。

阅读全文 »

权益证明proof of stake

图解

​ 比特币和以太坊目前用的都是基于工作量证明,这种机制收到了一个普遍的批评,就是“浪费电”。

阅读全文 »

难度调整

​ 比特币是每隔2016个区块会调整一下挖矿难度,目标是维持出块时间十分钟左右,以太坊是每个区块都有可能调整挖矿难度,调整的方法也比较复杂,而且改过好几个版本,我们遵循以代码的原则。

阅读全文 »

对于基于工作量证明的区块链系统来说,挖矿是保障区块链安全的一个重要手段。

​ Block chain is secured by mining.比特币中的挖矿算法,总的来说是比较成功的。

bug bounty:有的公司悬赏来找软件中的漏洞,如果能找到软件中的漏洞,就可以得到一笔赏金。

比特币的挖矿算法,是一个天然的bug bounty,如果你能找到里面的漏洞,或者是某一个挖矿的捷径,就能有很大的利益。所以比特币的挖矿算法,是比较成功的,能够经受时间的检验的

阅读全文 »

以太坊中的共识机制

​ 以太坊把出块时间降低到了十几秒,和比特币相比,以太坊的出块速度相当于提高了40倍,但是降低出块时间之后也带了一些新的问题:比特币和以太坊都是运行在应用层的共识协议,它的底层都是使用p2p overlay network,这个network本身传输的时间是比较长的,因为它的拓扑协议做flooding的时候是没有考虑实际的拓扑结果,这就带来一个问题,你发布一个区块之后,区块在网络上传到其他节点可能需要十几秒的时间,对于比特币来说,十分钟的出块时间相当于600秒,这个是足够让新发布的区块传播到网上的其他节点的,当然,即使这样,因为挖矿是个概率的过程,所以仍然有可能是有两个矿工同时获得记账权,同时发布区块,这种情况会带来临时性的分叉,那么对于以太坊来说,这种临时性的分叉就会变成常态,而且分叉的数目也会更多,这对于共识协议来说,有什么挑战呢?

阅读全文 »

1.类加载子系统

​ 如果要手写一个java虚拟机,主要考虑两部分:类加载系统和执行引擎。

​ 类加载系统:加载.class文件

​ 执行引擎:逐条解释执行指令

阅读全文 »