[email protected]:~$

  • Merkle Mountain Range

    Merkle Tree Merkle Tree 是区块链中经常(或者说必须?)会用到结构。 // 比特币交易列表的 Merkle Tree A / \ B C / \ / \ D E F G / \ / \ / \ / \ 1 2 3 4 5 6 7 8 树的叶子节点(图中的 1,2,3,4,5,6,7,8)是插入的元素,在图例中是比特币的 txid。 非叶子节点是对左右子节点的 hash 摘要如 D = hash(1, 2), B =...

  • layer 2 友好的原生代币

    矿工奖励 矿工奖励是个很有意思的话题,目前大部分公链如 Bitcoin 的出块奖励主要由增发构成。 矿工出块奖励 = 交易手续费 + 增发奖励 Bitcoin 以及其他大多数加密货币都有总发行量, 增发奖励会逐年减少,直到货币供应达到总发行量, 这时矿工奖励完全由交易费构成。 完全以交易费维护矿工的想法招致了质疑, 很多人担心增发奖励变少后, 交易费无法满足矿工的收益, 矿工会流失导致网络失去安全性, 毕竟在现实中 Bitcoin 和 Ethereum 的矿工收入主要来自增发部分。 完全用手续费作为矿工奖励是否合理?能否满足加密货币网络的安全和发展? layer 2 我真正想谈的是 layer 2 ,这才是交易手续费 vs 增发奖励的核心。 无论是 Lighting network 还是各种 PLASMA 实现,世界上最大的两个加密货币社区花了大量精力在 layer 2 技术上,layer 2 是公认的发展方向。 那么 layer 1 (指 Bitcoin 和 Ethereum 等公链)...

  • 用 Ruby 体验快速开发 P2P 网络程序

    很多开发者很熟悉 Server-Client 这一套网络结构,Server-Client 是构建互联网应用的基础。 但在区块链技术这里就有点过时了,区块链的世界普遍采用 P2P 网络。 P2P network 是什么呢? 对等式网络(peer-to-peer, 简称P2P),又称点对点技术,是无中心服务器、依靠用户群(peers)交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,任何一个节点无法直接找到其他节点,必须依靠其户群进行信息交流。 From 维基百科 ciri-p2p 是在我尝试实现以太坊协议(Ciri Ethereum) 时的一个副产品,使用这个库可以轻松的用 Ruby 来实现 P2P network 服务 考虑到如果可以用 Ruby 来试验各种 P2P 网络协议会非常爽, 所以我把以太坊的底层 P2P 通信协议 - DevP2P 的实现作为了单独的一个库抽离了出来。 DevP2P 是一个相对独立的协议,和区块链、以太坊都没什么太多关联, 所以 ciri-p2p 也可以用来做和区块链完全不相关的事情:比如实现个 “基于 P2P 网络的 DNS 服务”,我们会在下文中用 ciri-p2p 来实现这个例子。 DevP2P 主要包括了以下部分: 基于公私钥的端到端加密 基于...