区块链学习杂记

写在前面

区块链以比特币的火爆,广为人知。而作为一个互联网从业者,深入接触区块链却是从某大厂离职创业的朋友那里。
既然区块链、人工智能、机器人作为未来不可阻挡的发展趋势,按照吴军博士在其《智能时代》一书中的描述,作为普通人,我们能做的就是尽量争取做那2%的人,从而跟上时代,而避免被淘汰。

区块链的应用场景

一项技术是否能够真正的取得长远发展,其丰富多样的应用场景,不可或缺。而目前区块链技术已经落地或者正在尝试的领域,已经有很多。
金融服务(如房产、车辆的过户交易等)、银行金融股管理、支付交易、金融证券交易、征信管理、资源共享、物联网等等。
别看目前的应用场景屈指可数,但是,只要能解决社会问题,提高社会生产力,就一定会有发展。

区块链的核心

主要包含三部分: 分布式系统、加密算法、共识机制。
分布式系统是去中心化理念在信息系统中的具体实现,核心是解决单一核心节点不可靠的问题。
共识机制则是保证系统满足不同程序一致性。这其中不得不提FLP不可能性原理。在物理学中存在名为测不准原理,而在分布式系统领域,则存在不能性原理,也就是说无法找到在任意场景下都能实现的共识算法。
加密算法
密码,大家再熟悉不过。而和区块链相关的,主要包含Hash算法、数字签名与证书、PKI体系等,并综合运用这些技术实现信息的机密性、完整性、认证性以及不了抵赖性。

作为一个程序狗,重点当然是侧重在如何快速入手。
目前比较推荐的是基于以太坊的remix-ide进行开发环境的搭建。

小插曲: 目前手机免费挖矿的Pi币,大家还是可以搬个梯子下载App玩一玩,也许中奖了呢,对吧

开发环境搭建
我用的是Mac,也推荐最好用类Unix系统。

  1. 安装Go环境
  2. 安装ethereum
  3. 安装SOLC编译器

一切顺利,这个时候,就可以在命令行模式下,运行
npm run serve
本地环境就算是正式启动,我们就可以在Web页面里编写我们的第一个HelloWorld智能合约代码了。

参考: 《区块链技术指南》

-------------本文结束感谢您的阅读-------------