概述

昨天运营商线路出了问题,体验了一把电话线拨号上网一样的网速。

打开浏览器是这样的场景:

  1. 先白屏一会儿。
  2. 逐渐显示出网页上的全部文字。
  3. 卡一会儿。
  4. 慢慢地把网页上的所有图片显示出来。

正在无聊地等待网页加载的时候阴差阳错地意识到浏览器这种一边渲染一边下载的工作方式在历史上还促成了协程和线程这一概念的产生。那么就来讲一讲故事吧。

随便写写

概述

由于智能合约代码存储在区块链上,所以一旦其有漏洞也极难修复。TheDAO 是运行在 ETH 区块链平台上的一个智能合约,但是其代码存在漏洞,于是黑客发起了 Re-entrancy Attack 盗走了大量的以太币,最终导致了以太坊分裂为 ETH(Ethereum) 和 ETC(Ethereum Classic)。

本系列的文章不会着重于细节讲解,对于本次攻击的详情可以参考这篇文章:Analysis of the DAO exploit

将介绍下列内容:

  • TheDAO
  • 补救措施
  • 以太坊的分裂
区块链
以太坊

概述

现实中合约的有效性通常是通过法律来保证的,当合约出现纠纷,或者一方违约,可以通过法律手段解决,如起诉违约人等。

BTC 实现了去中心化的货币,而 ETH 则实现了去中心化的合约,即智能合约。

智能合约是存储在区块链上的一段代码,可以被调用,代码一般使用 Solidity 语言编写,运行在 EVM(Ethereum Virtual Machine)上,是图灵完备的语言,且代码一旦上链,则极难更改,这有效地保证了合约的有效性,但是如果合约代码有漏洞,也极难有修复,ETH 社区就曾经因为这个出现了 Hard Fork。

智能合约对帐户的更改,形成的交易和收据会存储在状态树、交易树和收据树中,并最终通过将三棵树的根哈希值写入 block header 来与其它全节点达成共识。

将介绍下列内容:

  • 合约账户
  • 嵌套调用
  • 汽油费
  • 其它特性
区块链
以太坊

概述

Windows 10 的任务栏非常简约,扁平的半透明阴影,但是却没有提供原生的设置透明度的方式,为了实现这个功能已经有了如TranslucentTB这类优秀的软件。但笔者依然对其原理有些好奇。本来打算看TranslucentTB的源码,无奈看起来费劲,先看看能不能蒙出来。

目前进度如下:

  1. 注册表键值(需重启explorer.exe
  2. 直接修改explorer.exe的内存(进行中)
  3. 反汇编时发现的一个未公开的 Win32 API
Windows