2009年1月3日,中本聪挖掘了比特币创世区块,启动了本世纪以来最大的技术淘金热。比特币曾经被认为是一种软件、一种“协议”、一个网络、一个开发团队或者一种叫做加密货币的新东西。而与此同时,云技术证明了抽象机制和应用程序编程接口可以促进可扩展性和产品敏捷性的爆炸性长大,消除了90%的应用程序中普遍存在的所有干扰因素。1 |8 j) f8 d1 F- R1 D
6 ^( p. H% c5 x4 F, n* J尽管自比特币诞生以来出现了数十个竞争对手,但几乎所有竞争对手都是垂直整合的,没有一个能像云技术那样带来产品爆炸般的变化。以太坊和EOS等网络打破了这一标准,为多个不同的公共区块链网络提供了一个“平台”——但除此之外还有什么? S& o3 {5 R& g" U7 X$ |7 Q
' [! P# S9 R) O" ?. n( k5 \7 p
! U( A! V& j) D; y: O1 C3 |% W# b7 |$ c, a" H
& H; s0 [. a8 o; N4 V6 b6 i
一、为什么区块链需要云技术?
/ u2 V; _5 h2 P- M3 A' }( `8 u( M: o: J; ?- I/ t4 M
7 y& i* y; a0 [
要回答这个问题,我们需要确定核心级别上的区块链技术。 比特币及其后续的追随者,例如以太坊和EOS,提供了诸如对等通信网络,去中心化共识机制以及加密支持的“所有权”之类的技术功能。 这些不一定是新的技术功能。 它们以前存在于许多产品的后端,但从未创造出类似于比特币的价值。 4 G1 Q/ G- F/ W6 T$ u
5 Z: h# ~ u% k% N
此外,仅通过技术特征来定义任何区块链是一个错误,因此它似乎仅对技术专家存在。 例如,对于技术世界之外的人来说,比特币区块链最显着的特征是它可以创建和操作比特币,这是一种您可以拥有的数字货币。 比特币是稀缺的,并且复制和伪造是可以抵抗的。
3 F, Q/ a5 l2 x; I* B; w N G% Y" t- M. m
另一方面,云技术本质上是模糊且抽象的。 云技术将现代应用程序分解为功能,将其置于应用程序接口的后面,并将其作为可组合服务提供。 这项创新为新产品开发带来了极大的灵活性。 在共同的基础架构和系统管理成本的重压下崩溃的产品团队可以免去理解体系结构图黑框内容的负担。 这在行业中产生了强大的范式转变,并最终导致了以客户为导向的产品和服务的爆炸性增长。 ) r1 U% q, v9 g: v
: n3 n4 ^! y5 T/ q1 N0 ]为云技术设计应用程序将使开发人员远离一些有趣但最终价值不高的问题,例如数据库参数选择的微优化,或如何管理服务器以解决对 产品问题。 将这些技术细节和注意事项抽象为一组功能服务后,您可以专注于产品的唯一性,而不是操作大量应用程序的机械方面。 云技术的抽象模型已帮助许多公司成功推出了更多种类的产品,那么区块链应用程序要达到相同的结果需要哪些功能服务? 9 U( M( w; r7 p: T$ w
- _7 E @- m* r有很多方法可以回答这个问题,但是我们将重点介绍两种可能的方法:水平功能层和高级类型。 * I* i# `: T+ h
7 i6 `/ H9 T% g" y+ a! H! ?
在功能分层的层次上,可以将区块链(例如EOS或以太坊)视为可以执行成千上万个经过验证的智能合约的计算系统; 它可以看作是可以提供全球性数据存储的数据存储系统。一致的数据; 也可以被视为可以解决运营纠纷的订阅服务系统; 上述每一层都可以独立审核以匹配现有的区块链。 在这种愿景下,诸如区块生产和共识协议之类的概念不会出现在不同的层,因为它们仅提供其他层的实现细节。 这表明,如果有另一种方法来实现这些功能服务,则可能不需要块或对等网络。
$ R# U' A+ p! i% @/ Y: ^7 Q' u1 J" a! I( p# X
另一种替代方法是研究更高级的概念或保证机制,并将其用作功能服务。 例如,加密货币必须解决的问题之一是“双花”问题。 如果一个人拥有1个比特币并花费,则无法再花费。 从概念上讲,这听起来很基础,但是在分布式的全球计算机系统中,很难有效地维持这种保证。 提供此保证的服务可以轻松地集成到任何应用程序中,这将抽象出操作区块链的所有复杂性,并能够更有效地发现除加密货币以外的其他应用程序。
% O$ v& r7 ^2 q- U2 c3 Q) L6 g5 x) }
另一个例子是,许多企业区块链案例要求数据严格不可篡改。 如果有提供这种机制的特殊服务,则将在这些情况下减少市场摩擦。 实际上,这种不可篡改的功能已被商业功能化视为一种服务:它是Amazon Quantum Ledger数据库的核心服务。 这些服务的实现方式与不同的产品开发人员无关。
3 x/ r' |" Z/ E/ x. o# @4 N: {
- g n" o4 {+ X% q2 h: b二、为什么云技术需要区块链?% j, n5 {- t: h j& \
1 j- p+ W3 p. k: X$ a$ }
) W, {; k% K$ @% U+ @& H与加速产品交付的能力相比,云革命很容易被忽略,因为它可能导致难以置信的架构和故障模式。 当云系统工作时,它们会很好地工作; 但是当它们失败时,通常的响应是:您有备份,对吗? 对于需要强大的审核和端到端验证的行业,这种备份是没有意义的。 在现代云计算中,更难获得稳定的架构。 尽管很难想象并在云中启动复杂的体系结构,但是要完全理解由此带来的变化几乎是不可能的。
0 m/ Y5 e$ q* e
- F7 P. T# |& g3 G另一方面,对于云计算世界而言,区块链是一件奇怪的事情:它具有完全的自我控制能力,这可能意味着它将永远无法达到现代云技术的高度。 如果我们将对云技术的见解应用到更高水平,该怎么办? 如果核心机制和材料(10%)是刚性的并且易于推理,那么其余90%的应用程序的逻辑是松散且难以理解的。 如果像其他传统功能一样将区块链技术功能化并作为服务提供,那么最终的应用程序集可能是我们对其有足够的信心来控制属性,而这些应用程序集也可能足够敏感,以至于 有远见的产品团队可以创造各种产品。 |