区块链技术之二-----现状及如何选择入手平台

区块链的技术演变

区块链发展至今已经过三个阶段,分别是区块链1.0,区块链2.0,区块链3.0。三个阶段分别是数字货币(如比特币)1.0时代,2.0智能合约时代(主要平台有以太坊,超级账本),3.0实际的项目应用(典型如EOS平台)

区块链1.0---以比特币为代表的数字货币时代

以比特币为代表的数字货币应用,其场景包括支付、流通等货币职能;虽然问题重重,包括价格的剧烈波动、数量上限可能导致的通货紧缩,挖矿对能源的浪费、各国政府监管的限制等等,但其仍然是区块链技术最成功的应用,并为人们勾勒了一幅理想的远景——全球货币的统一。区块链1.0只满足虚拟货币的需要,虽然区块链1.0的蓝图很庞大,但是无法普及到其他的行业中.区块链1.0时代也是虚拟货币的时代,涌现出了大量的山寨币等.

区块链2.0——以以太坊为代表的数字货币与智能合约相结合的时代

区块链2.0是指智能合约,智能合约与货币相结合,对金融领域提供了更加广泛的应用场景.区块链相对于金融场景有强大的天生优势.简单来说,如果银行进行跨国的转账,可能需要打通各种环境,货币兑换,转账操作,跨行问题等等.而区块链实现的点对点的操作,避免了第三方的介入,直接实现点对点的转账.提高了工作效率.智能合约是提出较早的概念,"一个智能合约是一套以数字形式定义的承诺(promises) ,包括合约参与方可以在上面执行这些承诺的协议".区块链2.0的代表是'以太坊'.以太坊是一个平台,它提供了各种模块让用户用以搭建应用.平台之上的应用,其实也就是合约.这是以太坊技术的核心.以太坊提供了一个强大的合约编程环境,通过合约的开发,以太坊实现了各种商业与非商业环境下的复杂逻辑.以太坊的核心与比特币系统本身是没有本质的区别的.而以太坊的本质是智能合约的全面实现.支持了合约编成.让区块链技术不仅仅是发币.而提供了更多的商业,非商业的应用场景.也就是说,以太坊 = 区块链 + 智能合约(2.0介绍来源于https://www.jianshu.com/p/6139ca0bd339)

区块链3.0——超出金融领域的去中心化解决方案

超出金融领域,为各种行业提供去中心化解决方案。将区块链应用的领域扩展到的金融行业之外,覆盖人类社会生活的方方面面,在各类社会活动中实现信息的自证明,不再依靠某个第三人或机构获得信任或建立信用,实现信息的共享,包括在司法、医疗、物流等各个领域,区块链技术可以解决信任问题,提高整个系统的运转效率。区块链3.0被称为互联网技术之后的新一代技术创新,足以推动更大的产业改革.

需求明确----明确自己要干什么

在了解了区块链技术之后,我们肯定觉得还是难以入手,对于程序员来说,在没开始写第一行代码前,总是不能安心的认为自己已经入门了。那到底要如何下手呢?在问如何下手前,自己要对自己的需求有个清晰的认识。自己学习区块链的目的是什么呢?是了解一下区块链和数字货币即可?是想发行一款自己的虚拟货币?是想建立一个如以太坊、超级账本、EOS等类型的开发平台?还是想开发一款区块链的某领域的应用?不同的需求有不同的入门方向,明确自己的方向才能快速的入门。

先了解一些必要的理论知识:

 如果只是想大致了解一下理论知识,知道区块链是什么以及应用场景,看我的上一篇帖子就行了,如果想深入了解区块链发展轨迹,原理,前景,应用场景,那么《区块链应用指南》是比较好的入门教程,这里有在线版:

https://yeasy.gitbooks.io/blockchain_guide/content/

发行数字货币如何入门

要发行数字货币,学习比特币框架框架是很有必要的,是因为比特币是目前为止区块链应用中最经典、经过市场考验最久的代币之一,很多山寨币的发行都是基于比特币的源码进行改动而成。目前最好的学习方式是阅读源码,但作为新手可以考虑先从阅读官方文档开始。如果只是为了发行基础代币,其实学到这一步,就算入门了,比特币框架相比以太坊、超级账本,EOS 等而言学习门槛相对较低。基于比特币的区块链开发的一种相简单方式是基于Blockchain.info的API进行开发,具体的可以自行百度如何入门。

以太坊入门:

以太坊被称之为区块链的操作系统(平台),它的诞生大大降低了开发者开发区块链应用的难度,它不仅有相对成熟的开发工具、有图灵完备的开发语言Solidity等,还有完善的通讯开发框架Truffle,以太坊不仅功能强大,而且在吞吐量(每秒完成交易量)上相比比特币也大幅上升,比特币每秒可交易7笔左右的订单,以太坊可以完成几千笔,但随着以太坊底层代码的不断迭代升级,吞吐量还在不断稳步提升过程中(据说以太坊闪电网络版的发布,吞吐量可以达到百万级别),可以说以太坊是区块链应用开发者必修课。

学习Solidity

学习以太坊最核心的是开发智能合约,目前官方推荐的开发语言是与JavaScript一脉相承的Solidity,官方有帮助文档,也有很多技术达人翻译了中文版。

学习Truffle

很多以太坊开发者把Truffle框架比作是开发以太坊的瑞士军刀,它让以太坊上运行的智能合约代码能轻松地与传统的互联网系统进行交换数据,大大降低了新手的学习曲线。

(以太坊入门介绍来自:https://www.jianshu.com/p/5872429fac3e)

----以太坊环境搭建及实例:

http://wiki.jikexueyuan.com/project/blockchain/

以太坊白皮书:https://github.com/ethereum/wiki/wiki/White-Paper

以太坊黄皮书:http://gavwood.com/paper.pdf

Solidity教程:https://solidity.readthedocs.io/en/develop/

超级账本(Hyperledger fabric)入门

Fabric源于IBM,初衷为了服务于工业生产,IBM将其44,000行代码开源,是了不起的贡献,让我们可以有机会如此近的去探究区别于比特币的区块链的原理。

要基于HyperLedger进行区块链开发比想像中简单,有两种途径,一种是基于超能云(IBM中国研究院开发的超能云平台提供了各种云服务),它给区块链爱好者、开发者的区块链开发测试环境,通过超能云平台,用户能够免费、超快速创建基于Hyperledger Fabric的多节点区块链、并在自己的链上调试智能合约。Hyperledger Fabric的合约是基于Go语言的,上手比较简单。

另一种进行Fabric是自己搭建Fabric的区块链网络。安装和运行Hyperledge fabric的运行有几种方式,比较推荐是下载Fabric区块链网络的Docker镜像,运行Docker镜像并启动Fabric区块链网络,但相对于比特币和以太坊,Fabric网络的架构和安装相对复杂,除了区块链服务外,还需要另外安装运行validating peer和Certificate Authority (CA) 服务。搞定后要真正使用,还需要先用户注册和登记授权,然后才可以通过CLI 或REST API进行调试和使用。其中里面智能合约的编写,跟在超能云的区块链云服务的是一样的。此外,除了CLI或REST API,IBM还提供了gRPC API和 SDK的方式进行应用的开发。

超级账本文档:https://hyperledgercn.github.io/hyperledgerDocs/

某大神的博客:http://www.cnblogs.com/studyzy/tag/Fabric/

国内区块链社区:http://www.blockchainbrother.com/

EOS入门

        EOS(Enterprise Operation System)不容忽视,它是一款为商用分布式应用设计的区块链操作系统,支持多个应用程序同时运,还可以同时支持多种编程语言,为开发DApp的开发者提供底层模块,降低开发门槛,就像是微软的windows,另外,EOS通过并行链和DPOS的方式解决了延迟和数据吞吐量的难题,EOS能够实现每秒百万级的处理量,相比目前比特币的每秒7笔,以太坊的几百上千笔,EOS在吞吐量上可以说秒杀了它们。链圈内普遍看好EOS的前景,从EOS代币的市值(发文时市值66亿美金)就可以初步看出端倪。

       像Ethereum一样,EOS是一个面向开源项目和面向消费者的分散式应用程序的智能合同托管平台。与Etherum相比,EOS通过权衡分权来承诺更好,更具扩展性的系统。

       其共识系统称为Delegated-of-of-Stake或dPoS,是由一组称为排名代表的主节点验证的联盟区块链。与以太坊的虚拟机不同,它充当分布式全球超级计算机,EOS承诺构建“分布式操作系统”。现在比特币和以太坊以及任何其他区块链平台都无法提供与集中式对应方相同的良好性能或用户体验。以太坊矿工延迟和取消交易,希望获得额外的费用。由于EOS利用授权的股份证明,因此不易受到干扰并且更具成本效益。例如,如果比特币采矿池关闭,这将导致混乱。但是,如果EOS块生产商中断,他们可以简单地在其他地方设立,而且延迟很小。委托股权证明还意味着EOS块生产商节省数百万美元的电费开销。EOS实际上是领先的,意识到需要以分散的方式解决这些问题。这将通过建立治理结构来实现。同样因为EOS长时间的ICO,这将确保数十年甚至数百年的大规模分权。EOS也是可用的最分散,最分散的令牌。除了分发钱包,储备基金和少数交易所之外,没有一个用户持有总代币的1%以上。(介绍来自:https://www.jianshu.com/p/2b1db7320a6)

EOS技术白皮书:https://github.com/EOSIO/Documentation/blob/master/zh-CN/TechnicalWhitePaper.md

EOS官网:https://eos.io/

Github地址:https://github.com/EOSIO

阅读更多

更多精彩内容