哪里可以学习区块链,区块链的技术平台选型分析
2008年由「中本聪」第一次在比特币中提出了区块链的概念,比特币是一种点对点的电子现金系统,是最早也是最有名的区块链实施项目。而其他应用都是从它衍生出来的,以太坊是另一种加密货币,它采用了不同方法,整合了许多类似比特币的特征,但是新增了智能合约为分布式应用创建了一个平台。比特币和以太坊属于同一类区块链,我们将其归类为公共非许可(Public Permissionless)区块链技术。这些基本上都是公共网络,允许任何人在上面匿名互动。
在数据安全的大环境下,一些企业和政务单位越来越注重数据安全,想要将区块链基础技术、分布式账本和分布式应用平台用到企业业务中去。区块链技术可以提高数据的可信度和安全性,但是,许多企业业务对性能要求较高,目前非许可区块链技术无法达到。考虑到区块链存储成本太大,在实际项目中,我们只把关键的、需要去中心化的数据存储到区块链上,大部分不必要去中心化的数据还是按照传统的方式存入数据库中。
本文将带你了解和明确企业对于区块链的需求和技术选型以及实施方案,最后文章总结了区块链技术平台选型遇到的一些问题,为以后准备和开发类似系统做技术选型积累经验。
企业对区块链的需求
我们拿溯源系统来举例,企业建设溯源系统的目的:
可以解决来源追溯难、去向查证难的问题,方便消费者快捷查询和维权。
可以提高对问题商品的发现和处理能力,利于生产经营者提高安全责任意识、创造放心消费品牌。
对于企业应用区块链,我们需要考虑以下要求:
参与者必须是已认证的或者可识别的
网络需要获得许可
高交易吞吐量性能
蓑衣网小编交易确认低延迟
与商业交易有关的交易和数据的隐私和机密性
区块链技术平台选型
参考:开源书籍【企业级区块链实战教程】中的【区块链技术选型】章节并做补充
区块链常见误区
将智能合约开发与区块链底层协议开发混为一谈。
大部分人认为的区块链开发其实是智能合约开发,也就是基于某一个链(比如以太坊、超级账本Fabric等)进行智能合约开发,而不是区块链底层协议开发。
区块链开发应该具备的能力
能够正确理解区块链。了解区块链技术的基本概念,熟悉密码学、分布式、共识机制、P2P网络等技术,熟悉比特币、以太坊、超级账本等区块链技术实现原理,对区块链商业价值和应用有一定的认知。
至少熟悉一种开发语言。比如Solidity、Node.js、C++、Go等。
至少熟悉一种区块链的智能合约开发。比如以太坊、超级账本、EOS等。
总结
从项目定位来看,Bitcoin(比特币)和Ethereum(以太坊)都属于公链,而Hyperledger(超级账本)是属于联盟链。
从2017年9月4日央行等7部委发布《关于防范代币发行融资风险的公告》之后,我们国家是不允许发行数字货币的,而超级账本就是一种无币区块链。
在共识机制上,比特币和以太坊目前都采用了工作量证明机制,比特币每秒平均只有3-4笔交易,以太坊平均也只有每秒30笔交易。超级账本中的Fabric采用了Kafka、Raft、PBFT等共识机制供大家根据业务进行选择,可以将区块链效率提升到上千笔每秒。
除了效率之外,企业应用还存在隐私问题,Hyperledger Fabric采用授权机制和多通道机制可以有效保护用户隐私,目前是企业级区块链的首选平台。
首先要明确企业选择区块链技术的需求和目的,不要为了追求所谓的技术而放弃最合适的项目技术架构和实施方案。
区块链存储成本太大,企业业务对性能要求较高。在实际项目中,我们只把关键的、需要去中心化的数据存储到区块链上,大部分不必要去中心化的数据还是按照传统的方式存入数据库中。
文章从网络整理,文章内容不代表本站观点,转账请注明【蓑衣网】