概述:
狭义来讲 ,区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构, 并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账 (Decentralized shared ledger), 能够安全存储简单的、有先后关系的、能在系统内验证的数据。 广义的区块链技术则是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码 ( 智能合约 ) 来编程和操作数据的一种全新的去中心化基础架构与分布式计算范式。区块链具有去中心化、时序数据、集体维护、可编程和安全可信等特点。 首先是去中心化:区块链数据的验证、记账、存储、维护和传输等过程均是基于分布式系统结构,采用纯数学方法而不是中心机构来建立分布式节点间的信任关系,从而形成去中心化的可信任的分布式系统;其次是时序数据:区块链采用带有时间戳的链式区块结构存储数据,从而为数据增加了时间维度,具有可验证性和可追溯性;第三是集体维护 : 区块链系统采用特定的经济激励机制来保证分布式系统中所节点均可参与数据区块的验证过程 ( 如比特币的“挖矿”过程 ),并通过共识算法来选择特定的节点将新区块添加到区块链;第四是可编程:区块链技术可提供灵活的脚本代码系统, 支持用户创建高级的智能合约、货币或其他去中心化应用。
区块链的优势就是抛去了第三方的信用背书,因为他本身就是一个非常安全的理论上不可篡改的公共账本,所以就不需要信用背书了,既然不需要背书。
一、 区块链技术:
1、区块链结构
1.1链式结构
目前的区块链主流实现
被戏称加密单链表
进一步解析 append only log system
与中心化event sourcing(事件溯源)系统相当,领域驱动设计里的CQRS架构与流,流计算是未来,《streaming system》站在了更高的维度思考"什么是分布式数据处理"的本质.流或说event能统筹所有。
https://weibo.com/ttarticle/p/show?id=2309634306884109718353
领域驱动设计里的CQRS
命令查询职责分离模式(Command Query Responsibility Segregation,CQRS),该模式从业务上分离修改 (Command,增,删,改,会对系统状态进行修改)和查询(Query,查,不会对系统状态进行修改)的行为。从而使得逻辑更加清晰,便于对不同部分进行针对性的优化。
命令(Command):不返回任何结果(void),但会改变对象的状态。
查询(Query):返回结果,但是不会改变对象的状态,对系统没有副作用。
参考:https://www.imooc.com/article/40858
区块链与event sourcing stystem的不同只不过是加密和中心化程度不同。
以当前fabric为例,为什么采用kafka这种append only log system做 orderer。
在mysql系统中如何通过binlog实现从库
以kafka为base如何实现一个区块链
更高阶的看法是log就是历史,只是区块链实现不可窜改的历史
问:所以你会用区块链代替event sourcing或append-only这种存在已久的模式吗。
2、链式结构的改进
区块链可扩展性的那些技术:侧链、分片、DAG ,子链!
先说一下DAG,DAG是一种图结构
2.1.为什么是DAG
问:当前区块链是串行处理,如何并行处理?
最天然的结构是dag
而不是炒币人员一看到不是区块链单链结构就开始怀疑,炒作。
大量交易其实是并行的不相关。
所以分叉是可以被利用的。
类比spark这种并行计算系统,一样使用DAG只有出现依赖的时候才需要合并。
之前IOTA被诟病有安全问题,因为并行就会有竞态,竞态就会导致双花。
目前出现的conflux有望改善这个问题。
未来如果有可能,zcos将基于dag做改造。
2、区块链共识
2.1分布式系统一致性算法的底层实现
时间轴定义
POW
POS
PBFT
PAXOS 和 RAFT
强化学习
Tendermint架构设计的创新之处在于,它将区块链应用(状态)与底层共识进行了分离,将共识引擎和P2P网络层封装组成TendermintCore
zookeeper etcd bigchaindb spanner 蟑螂数据库与tidb
算法的选择,引用本体区块链季宙栋的一句话:
一言以蔽之,共识最好的设计是模块化,例如Notary,共识算法的选择与应用场景高度相关,可信环境使用paxos 或者raft,带许可的联盟可使用pbft ,非许可链可以是pow,pos,ripple共识等,根据对手方信任度分级,自由选择共识机制,这样才是真的最优。
3、区块链智能合约
TEE
二、区块链安全
隐私保护,通用数据保护条例》(General Data Protection Regulation,简称GDPR)为欧洲联盟的条例。
三、区块链经济
token经济
四、区块链政治
区块链治理
参考:https://blog.csdn.net/niyuelin1990/article/details/80537329
https://cloud.tencent.com/developer/news/217750
网友评论