初衷
今天碰到了一些从事别的行业的朋友问我一些区块链的东西,一时间没想好怎么去回答。
此篇文章会不断完善和更新,以便刷新自己的一些认知。以下仅代表个人观点,并不具备权威性和指导意义。
从中本聪论文说起
从2008年中本聪在论文中提到区块链开始到区块链结合各类产业应用场景落地,区块链以不可思议的速度发展起来,可以说:区块链本质是一种创建信任的技术机制,通过区块链可以跨机构执行可信的交易。
技术层面解读:实质是由多方参与共同维护的一个持续增长的分布式数据库,也称为分布式共享账本,其核心在于通过分布式网络、时序不可篡改的密码学账本及分布式共识机制建立彼此之间的信任关系,利用自动化脚本组成的智能合约(区块链2.0时代代表:资产数字化与智能合约,1.0阶段代表为比特币,3.0时代会将区块链运用于各行各业,实现“区块链+”)来编程和操作数据,最终实现由信息互联向价值互联的进化。
实际上在这篇论文中并没有明确提出区块链的定义和概念,甚至还没有Blockchain这种词,只有Block和Chain,论文中涉及了几个对区块链技术影响深远的观点:
点对点、去中心化的可靠交易
反欺诈
基于密码学原理的电子交易凭证管理
分布式的时间戳服务器
足够的安全能力支持系统
区块链的分类
私有链:数据权限仅在一个组织手里,区块链技术实现了数据的不可篡改及数据隐私,缺点是中心化
联盟链:介于私有链和公有链之间,由若干机构(联盟)共同管理,只允许系统内部分机构进行读写和发送交易,并且共同来记录交易数据。
公有链:完全去中心化,数据完全公开,通过加密技术保证了安全。
私有链和联盟链都属于许可链,即参与到区块链系统中的每个节点都是经过许可的,未经许可的节点是不可接入系统中。现阶段许可链和公链区别如下表所示:
项 | 许可链 | 公链 |
---|---|---|
记账权 | 核心参与方 | 根据算力(Pow)或权益大小(PoS)决定 |
激励方式 | 外部激励 | 自激励 |
参与方式 | 授权 | 无限制 |
网络规模 | 较小 | 较大 |
吞吐量 | 较高 | 较低 |
区块链的现状
不比前几年,区块链行业大致分为两种群体:一种是币圈,热衷于炒币和割韭菜;一种是链圈,偏向于技术。如果真的说,区块链带来了什么,我觉得是实现了数据的可追溯,无论是私有链、联盟链、公有链都保证了数据的安全性及透明性(针对拥有数据权限的用户),用户可以在区块链上面追溯数字资产的流转,从而映射出业务逻辑的转变。
关于跨链
跨链会是区块链发展的下一个方向,未来的区块链会是一个生态。
所有的跨链协议都绕不开两个难题:一个是如何通过分布式的方式验证原链上的交易状态;另一个是跨链交易要确保原链上的token总量不会因为跨链而减少或增多。
跨链的本质是要解决链与链之间的价值交换问题,从技术设计来看,公链和跨链具有排他性,它希望应用场景、原生链能够适应本身的架构,这使得需要改变原生链的技术架构。
常见区块链
ETH
2013年末Vitalik Buterin第一次描述了以太坊,作为他研究比特币社群的成果,不久后,Vitalik发表了以太坊白皮书,他在书中详细描述了以太坊协议的技术设计和基本原理,以及智能和约的结构。2014年1月,Vitalik在美国佛罗里达州迈阿密举行的北美比特币会议上正式宣布了以太坊。
与此同时,Vitalik开始和Gavin Wood博士合作共同创建以太坊。2014年4月, Gavin发表了以太坊黄皮书,作为以太坊虚拟机的技术说明。按照黄皮书中的具体说明,以太坊客户端已经用7种编程语言实现(C++, Go, Python, Java, JavaScript, Haskell, Rust),使软件总体上更加优化。
以太坊2.0的阶段实现四个方面
Phase0:Casper FFG
Phase1:data sharding 数据分片
Phase2: computation sharding 计算的分片
Phase3+:optimization 优化
Hyperledger Fabric
Linux基金会的区块链项目,Hyperledger Fabric架构结合了3个范畴:成员管理、区块链、智能合约。
Fabric 是第一个支持通用编程语言编写智能合约(如 Java、Go 和 Node.js)的分布式账本平台,不受限于特定领域语言(Domain-Specific Languages,DSL)。这意味着大多数企业已经拥有开发智能合约所需的技能,并且不需要额外的培训来学习新的语言或特定领域语言。
瑞波
Ripple(共识进制是RPCA)是开放源码的点到点支付网络,被转账对象可以是清算货币、虚拟货币、数字资产或任意一种有价值的资产。
零知识证明(zero-knowledge proofs)
用密码学方法证明计算的结果,不需要暴露计算的输入,用于改良区块链应用的隐私性,验证证明的速度比原来计算的速度快,所以零知识证明也能解决可拓展性的问题。
其它博客(更新中):
1.Fabric hyperledger 1.4 first-network 测试及手动执行
2.Faric 1.4中的背书策略
3.Fabric Hyperledger如何确保数据隐私?
4.Fabric Hyperledger之隐私数据(Private data)
5.Fabric启用CouchDB
6.Fabric共识机制
7.Fabric SDK测试网络搭建(v1.4)