本文从分布式系统角度讨论了区块链中的几种创新模式:不可变模式、异步和共识以及网络容错可靠性。
不可变模式
区块链是不可变的。分布式系统已经在相当一段时间内依靠不变性来消除异常。比如日志结构的文件系统、日志结构的合并树和Copy-On-Write是分布式系统中用于模拟不可变数据结构的常见模式/技巧。区块链以类似于事件溯源EventSourcing的方式来处理事务,这是分布式计算中用于处理事实和操作的常用技术。不是用最新数据覆盖旧数据,而是创建一个包含所有事件/行动的只能不断追加append-only的日志。
帕特·赫兰德在他重要的流行论文“不变性改变一切”中描述了不变性:
会计师不能使用橡皮擦;否则他们旧可能蹲监狱。分类流水账中的所有条目都保留。可以进行更正,但只能在分类帐中新增要进行更正的条目。正如当公司的季度业绩公布时,会包括上一季度的小幅修正,这种小修正是属于追加性质的,因为上一季度的数据已经公布,无法改变,只能在本季度进行数据修正,这种修正从时间角度看实际是新增追加。
最高人民法院院长周强:积极推进区块链等科技创新成果同审判执行工作深度融合:11月26日,推动长三角一体化发展司法工作座谈会在最高人民法院第三巡回法庭召开,最高人民法院院长周强出席会议并讲话。周强要求,要坚持用改革思维和科技手段破解难题,大力深化司法体制改革和智慧法院建设,积极推进大数据、人工智能、区块链等科技创新成果同审判执行工作深度融合。要推动长三角一体化司法协作平台建设,探索建立集中送达等平台,实现司法服务信息和资源共享。(人民网)[2020/11/27 22:22:19]
区块链是简单的分布式会计分类帐,因此名称称为DistributedLedgerTechnology,简称DLT。
异步
区块链可能运行在距离数千英里的各种服务器上。在这种异步网络中想保证各种订单交易的前后顺序性是分布式系统经典问题。所有不可能的理论如像FLP定理(分布式系统的共识(consensus)算法)和CAP定理都适用于区块链。
Asproex阿波罗与Beep币扑达成深度战略合作:据官方消息,7月27日,Asproex阿波罗与Beep币扑正式达成深度战略合作,今后,双方将各自发挥自身优势,在应用落地、生态拓展、媒体资源等领域上强强联合,携手共建区块链产业新生态。
?
Beep币扑是首个专注于区块链垂直领域的社交媒体,集热点标签、直播转播、内容社交等功能为一体,主打“区块链热搜榜”+“社群直播/转播工具”,致力于为海内外新老用户提供最新的行业资讯。
?
Asproex阿波罗作为首家离岸银行控股持牌交易平台,也是一家涵盖CTO企业通证上市的交易平台,持有5国牌照,为全球中小微企业提供融资难的解决方案,助力数字化上市。[2020/7/27]
如同分布式系统一样,区块链块中没有“现在”概念,分布式系统中的不同节点的时钟可能会相互隔离,因此,在全局所有机器上的对事件进行全局性的实时排序并不简单,因为所有节点时钟不能始终处于同步之中,因此使用机器本地时间戳将不再有帮助,除此之外,消息的延迟可以达到任意时间,可以是毫秒或秒级,甚至达到分钟甚至几天的数量级,对于比特币区块链,创始人中本聪设计了一种巧妙的方式来排序订单交易,以防止双重支出的问题,在没有全局时钟情况下使用了分布式Timestamp服务器。中本聪的比特币白皮书中说:
声音 | 嘉峪关市委常委:着力推动区块链和实体经济深度融合:2019年12月26日,嘉峪关市举行区块链技术和应用专题辅导讲座。市委常委、常务副市长王毅表示,全市各相关部门要深刻认识推动区块链技术发展和应用的重大意义,进一步加深对区块链相关知识的学习研究,着力推动区块链和实体经济深度融合,切实解决中小企业贷款融资难、银行风控难、部门监管难等问题。要利用区块链技术探索数字经济模式创新,为打造便捷高效、公平竞争、稳定透明的营商环境提供动力。要探索“区块链+”在教育、就业、养老、医疗健康、食品安全、社会救助等民生领域的运用,推动区块链底层技术服务和新型智慧城市建设相结合,提升城市管理的智能化、精准化水平。要探索利用区块链数据共享模式,促进业务协同办理,深化“最多跑一次”改革,为人民群众带来更好的政务服务体验。[2020/1/1]
我们的解决方案是基于时间戳服务器,时间戳服务器的工作就是通过获取要被时间戳标识的某个区块的条目的哈希值,然后广泛发布这个哈希值,例如在报纸或BBS帖子中,总是附加具体的发布时间,这个时间戳提供了当时数据存在的证明。每个当前时间戳包含之前的时间戳哈希,由此形成一个链条,这样一个时间戳相当于有两份存在证明,更加坚固可靠。
声音 | 山东省委常委:推动区块链和人工智能等前沿信息技术深度融合:金色财经报道,11月27日,第十期山东干部讲堂在济南开讲。山东省委常委、秘书长孙立成主持干部讲堂。他表示,要着力推进创新发展,充分发挥我省科技资源优势,推动区块链和人工智能、大数据、物联网等前沿信息技术深度融合,为加快新旧动能转换提供新的技术支撑。要着力做好融合文章,把提高区块链应用管理能力作为推进治理体系和治理能力现代化的重要手段,将流程再造与区块链技术有机结合起来,以区块链技术应用的实际成效助推山东高质量发展。[2019/11/28]
这类似于DBMS中通过事务日志记录保存所有对数据库的写入操作事件。在这种情况下,区块链本质上是一个分布式事务日志。
共识
贵阳高新区党工委副书记黄昌祥:深入推进区块链等技术与实体经济深度融合:贵阳网6月4日报道, 日前,高新区党工委副书记、管委会主任黄昌祥率队对区内大数据创新平台进行调研。黄昌祥要求,大力实施“千企引进”“万企融合”“千企改造”等工程,推进“智力收割机”计划,深入推进物联网、人工智能、区块链以及大数据与实体经济深度融合,引领大数据技术创新、加快大数据产业聚集,构筑大数据产业生态体系,以大数据引领全区经济实现高质量发展。[2018/6/4]
在没有全局同步时钟的情况下,决定订单交易顺序的唯一方法是通过分布式共识。就像在分布式机器上对事件/事务进行排序达成共识一样,但是在分布式系统中达成共识很困难:
FLP表明,在异步网络中,消息可能被延迟但不会丢失,如果至少有一个节点发生故障停机了,那么就不可能达到所有机器获得共识一致。
能够对网络的崩溃故障进行容错的算法有:Paxos,Zab,Raft,Viewstamped复制,这些网络容错算法能够在流程或机器可能发生崩溃或导致消息传递延迟的情况下达成共识一致性。上述算法通常在一个可控的组织内实现分布式系统。
区块链工作在更加复杂的条件下,用来处理称为“拜占庭将军问题”的故障类型,其中一些节点可能是恶意的,因为节点是由不相互信任的不同实体/组织运行。区块链假设是你自己的网络并不在你身边。因此,您需要拜占庭容错算法才能在区块链中达成共识。拜占庭容错算法已经在分布式系统文献中存在很长期的研究了。1999年,MiguelCastro和BarbaraLiskov介绍了实际拜占庭容错算法,该算法提供了高性能拜占庭状态机复制,每秒处理数千个请求,延迟时间为毫秒级。虽然这篇文章是在1999年写就的,但是直到比特币在2008年使用“工作证明”算法,还没有其他BFT算法的已知实践实现,只是在一些系统中用来限制垃圾电子邮件。区块链引起了对BFT算法重新研究的兴趣,并在学术界积极努力下催生了大量新的BFT算法,一些应用案例包括ProofOfStake,Bitcoin-NG,Tendermint和HoneyBadger.。
网络可靠性
与普通人大众想法不同的是:网络默认是不可靠。分布式系统工程师必须处理这个冷酷事实。比特币和其他加密货币被建立在互联网上工作,其中网络分区和消息丢失/重新排序是常见的。有趣的是,区块链数据结构本身是检测消息丢失和重新排序的一种聪明的方法。每个块都有一个指向前一个块的指针,类似于一个链表,可以很容易地检测到丢失的块。再次引用中本聪语录:
新的交易不一定需要广播到达所有节点。只要能到达大多数节点即可,这些新交易很快进入一个区块中。堵塞广播也能容忍消息的丢弃。如果一个节点没有收到一个块,它会在接收到下一个块时,如果意识到那块被忽略了就会重新请求它。
这个原理类似于复制交易日志或日志传送,这是用于保持副本同步的常用技术。当一个交易日志被订阅关注时,就会提供了一个简单的机制来检测差距和修复副本。类似地,可以通过检查区块中的merkle根来验证块链中每个块的完整性。因此,很容易发现缺少的交易。提醒一下,merkle树是在复制同步技术anti-entropy中非常常用的技术。
区块链是一个令人兴奋的技术突破。让我们首次拥有一个在不相互信任的实体之间实现的分布式数据库。我们还处在这个有趣技术的早期阶段,类似于当初编写第一个分布式的NoSQL数据库,如亚马逊的Dynamo或Google的BigTable时期。这些分布式数据库为我们展示了构建大型数据库的新途径,并且开辟了新的设计模式和数据结构。NoSQL数据库现在已经被商品化了。如果您听到有关新的NoSQL数据库,90%的模式和算法是一样的。DLT也正在经历类似的阶段,最终将成为商品化。但是现在还是早期阶段,我们正在挖掘建立它们的最佳模式。
免责声明:CoinVoice文章仅为资讯传播用,不构成任何投资建议。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。