今天,发现一篇不错的入门区块链的文章,尝试翻译一下。【原文】Blockchain Tutorial 。
【本文禁止任何形式的全文粘贴式转载,本文来自 zacky31 的随笔】
如何开始区块链学习?
有很多朋友问我如何学习区块链。我想是时候总结一下学习路线图。区块链理论并不很难,但对于绝大多数开发者来说依然需要发费足够的时间去习惯其思考的方式,同时也需要阅读大量的论文去学习其背后的理论知识。准备去习惯它吧。
入门论文及白皮书
第一篇论文:比特币:对等网络的电子现金系统【英】【中】,这是比特币的原始文章,几乎没有公式,仅仅是简单语言和逻辑来描述整个可信网络。如果你对理解论文内容有疑惑的话,你可以从亚马逊上购买一些相关书籍【英】【中】。确保你自己了解比特币链的所有细枝末节。
第二篇论文:下一代智能合约&去中心化应用平台【英】【中】 ,以太坊创始人 Vitalik Buterin 发表于2014年。文中提出了比特币的缺陷,并提出一些新颖的想法。最重要的思想就是智能合约。如果你对整个系统很感兴趣的话,请阅读 以太网:一种安全去中心化广义的交易记账方式【英】 以太坊前 CTO Gavin Wood 写的一篇文章。
第三篇论文:IPFS -- 基于内容寻址,版本化的 P2P 文件系统【英】,IPFS是基于区块链的分布式文件系统。在此之前,存储的基础架构并不完整,限制了区块链上的大部分应用程序。如果我们只是将比特币链视为分布式记账,那么以太坊为其添加了更为简单的计算功能。IPFS 将会成为最基本的存储功能。它在未来的区块链开发中起到至关重要的角色。
相关论文:如果你已经习惯于白皮书,接下来可以尝试阅读更多文章,并且依据自己的判断尝试一些 ICO 众筹项目。
进阶白皮书
在比特币区块链中存在三个普遍的弱点:匿名信、交易速度和费用、电力资源浪费。针对这些问题,许多论文和项目提出了相应的解决方案。
匿名性
众所周知,比特币并不是足够安全,因为它只是实现了为匿名,交易之间是可链接、可追踪的。 CryptoNote v2.0 这篇论文成为了目前几乎所有主打安全数字货币的论文基础。论文中提出了两种方案:一是通过椭圆曲线结合 Diffe-Hellman 密钥交换生成只有交易双方可见的一笔交易来解决可链接,另一种是通过一次性循环签名机制让实现每笔交易不可被追踪。
另外两篇重要的论文利用零知识验证的方法讨论安全性话题:零币和零钞。
交易速度和费用问题
交易速度和费用在本质上原因是一样的。区块链是一种分布式数据库系统,当一个人想要插入一条记录到链里时,系统中的每一个节点必须去验证该数据。这样导致了计算资源的浪费和费时。因此,当尝试去优化交易速度和费用问题是,研究人员提出了比特币闪电网络白皮书:可扩展的 off-chain 即时支付【英】【中】,尝试将绝大部分交易的状态设为 off-chain,这就意味着在交易同步之前将会以点对点的方式进行。当在某些特殊情况时,再同步回主链,完成共识。这样将会节省大量的时间和资源。
电力耗损问题
比特币电力耗损的一大主要原因是来自于共识机制。多数网络优化方案就是替代基于大量计算的共识机制,即替换掉 Proof of Work 工作机制,转而成为 Proof of Stake 机制,
- POS vs POW:Proof of Work 和 Proof of Stake 之间的差异
- Proof of Stake FAQ:以太坊中关于 Proof of Stake 的详细应用
- Plasma:下一代自主性可扩展的智能合约
理论基础
区块链背后的主要理论基础是密码学、共识算法和博弈论。
密码学
hash算法、椭圆曲线、密钥交换等。如果对此不熟悉,多去看书吧。
共识算法
共识算法的核心是拜占庭将军问题。
博弈论
区块链中最重要就是博弈论。博弈论的目的就是寻找一个平衡,坏人没有机会使坏,好人会努力维护数据。
当你正在尝试学习区块链,请记住一定要耐心。大量精彩的设计模式和知识向你走来。在接下来的日子里,我会继续分享跟多的文章对上面提到的内容。