避免毫无意义的区块链项目

如何确定您是否找到了真正的区块链用例

区块链被过度炒作。 在那里,我说了。 从 SIBOS资金20/20 报道 “经济学家”欧洲货币,每个人似乎都在爬上区块链旅行车。 毫无疑问,与该领域的其他公司一样,我们看到越来越多的公司在此基础上建立概念证明 我们的平台 和/或寻求我们的帮助。

作为一家年轻的初创公司,您可能会以为我们会过月了。 现在肯定是时候筹集大量资金并建立我们已经设计的高性能下一代区块链平台了。 我们还在等什么呢?

我告诉你。 我们正在等待对区块链的位置有更清晰的了解 真正的 为企业IT增值。 您会看到,这些新项目中有很大一部分 与区块链完全无关。 播放方法如下。 大公司听说区块链是下一件大事。 大公司内部发现一些对此主题感兴趣的人。 大公司给他们一个预算,并告诉他们去做一些区块链的事情。 他们很快就来敲我们的门,挥舞着钞票,问 us 帮助 他们 想一个用例。 现在说什么?

对于那些确实怀有项目想法的人,有什么问题? 在很多情况下,该项目可以很好地实施 使用常规的关系数据库。 你知道,大型铁庞然大物 神谕SQL服务器,或者更开放的态度, MySQL的Postgres的。 因此,让我首先将事情弄清楚:

如果当今的关系数据库满足了您的要求,那么使用区块链会很疯狂。

为什么? 因为像Oracle和MySQL这样的产品拥有数十年的发展历史。 它们已部署在运行数万亿查询的数百万台服务器上。 它们包含地球上经过最彻底测试,调试和优化的一些代码,每秒处理数千个事务而不会费劲。

那区块链呢? 好, 我们的产品 是最早进入市场的产品之一,已经有5个月的下载时间,下载量达到了数千个。 实际上,它非常稳定,因为我们将其构建 比特币核心,这是为比特币提供动力的软件。 但即便如此, 整个产品类别仍在尿布中.

我是说区块链没用吗? 绝对不。 但是在开始这个闪亮的区块链项目之前,您需要有一个非常清晰的想法 为什么使用区块链。 有很多条件需要满足。 如果不是,则应返回到绘图板。 也许您可以更好地定义项目。 或者,也许您可​​以节省每个人的时间和金钱,因为您根本不需要区块链。

1.数据库

这是第一条规则。 区块链是一种用于 共享数据库。 因此,您首先需要知道为什么要使用数据库,这是指结构化的信息存储库。 这可以是传统的 关系型数据库,其中包含一个或多个类似电子表格的表格。 或者可以变得更时尚 NoSQL的 品种,其工作方式更像文件系统或字典。 (从理论上讲,NoSQL数据库始终只是关系数据库的一个子集。)

金融资产分类帐自然可以表示为数据库表,其中每一行代表一个特定实体拥有的一种资产类型。 每行都有三列,其中包括:(a)所有者的标识符,例如帐号;(b)资产类型的标识符,例如“ USD”或“ AAPL”;以及(c)该所有者持有的资产数量所有者。

通过“事务”修改数据库,这些事务表示对数据库的一组更改,这些更改必须作为一个整体接受或拒绝。 例如,在资产分类帐的情况下,从一个用户到另一个用户的付款由一笔交易表示,该交易从一行中扣除适当的数量,然后将其添加到另一行中。

2.多位作家

这很简单。 区块链是一种用于 具有多个作者的数据库。 换句话说,需要一个以上的实体来生成修改数据库的事务。 你知道这些作家是谁吗?

在大多数情况下,编写者还将运行“节点”,该“节点”保存数据库的副本,并将事务中继到数据库中的其他节点。 对等网络 时尚。 但是,事务本身也可能由未运行节点的用户创建。 例如,考虑一个付款系统,该系统由一小组银行共同维护,但在移动设备上有数百万的最终用户,仅与自己银行的系统进行通信。

3.缺乏信任

现在是第三条规则。 如果多个实体正在写入数据库,则还需要一定程度的 不信任 在这些实体之间。 换句话说,区块链是一种用于 具有多个非信任作者的数据库.

您可能会认为不信任只发生在单独的组织之间,例如在市场上交易的银行或供应链中涉及的公司之间。 但它也可以存在 在一个大型组织内,例如部门之间或不同国家/地区的运营之间。

我所说的不信任具体是什么意思? 我的意思是一个用户不愿意让另一个用户修改它“拥有”的数据库条目。 同样,在阅读数据库内容时,一个用户不会接受另一个用户报告的“真相”作为信条,因为每个用户都有不同的经济或政治动机。

4.去中介

因此,到目前为止定义的问题是要使数据库具有多个不信任的编写者。 并且已经有一个众所周知的解决方案: 可信中介。 就是说,所有作者都信任的人,即使他们彼此之间并不完全信任。 实际上,世界上充斥着这种性质的数据库,例如银行中的帐户分类帐。 您的银行 控制数据库 并确保每笔交易都是有效的,并由其转移资金的客户授权。 无论您多么礼貌地询问,您的银行都永远不会让您直接修改其数据库。

区块链通过启用以下功能消除了对可信中介的需求 具有多个非信任作者的数据库将被直接修改。 不需要中央网守来验证交易并验证其来源。 相反,交易的定义被扩展为包括授权证明和有效性证明。 因此可以进行交易 由每个节点独立验证和处理 维护数据库的副本。

但是您需要问的问题是: 您是否需要这种中介作用? 给定您的用例,由一个维护权威数据库并充当事务守门员的中央方有什么问题吗? 与受信任的中介机构相比,首选基于区块链的数据库的充分理由可能包括更低的成本,更快的交易,自动的 和解,新法规或根本无法找到合适的中介机构。

5.交易互动

因此,区块链对于由不完全相互信任并直接修改该数据库的多个作者共享的数据库有意义。 但这还不够。 区块链真正闪耀 交易之间的互动 由这些作家创作。

互动是什么意思? 从最充分的意义上讲,这意味着由不同作者创建的交易通常相互依赖。 例如,假设爱丽丝向鲍勃发送了一些资金,然后鲍勃向查理发送了一些资金。 在这种情况下,Bob的交易取决于Alice的交易,如果不检查Alice的第一笔交易就无法验证Bob的交易。 由于这种依赖性,交易自然而然地属于一个 单个共享数据库.

更进一步说,区块链的一个不错的功能是可以创建交易 由多位作家合作,而没有任何一方暴露于风险之中。 这是允许的 交付与付款 结算需要在区块链上安全地执行,而无需受信任的中介。

对于来自不同作者的事务即使相互独立,也可以相互关联的情况也很合适。 一个示例可能是一个共享的身份数据库,其中多个实体验证了消费者身份的不同方面。 尽管每个这样的认证都是独立的,但是区块链提供了一种有用的方法来将所有内容统一起来。

6.设定规则

这并不是真正的条件,而是先前观点的必然结果。 如果我们有一个由多个编写者直接修改的数据库,而这些编写者彼此并不完全信任,则该数据库必须包含嵌入式规则 限制执行的交易.

这些规则与 约束 出现在传统数据库中,因为它们与 转型的合法性 而不是特定时间点的数据库状态。 网络中的每个节点都会根据这些规则检查每笔交易,失败的交易将被拒绝并且不会继续进行。

资产分类帐包含此类规则的一个简单示例,以防止交易凭空产生资产。 该规则指出,分类帐中每项资产的总数在每次交易前后必须相同。

7.选择您的验证器

到目前为止,我们已经描述了一个分布式数据库,在该数据库中,事务可以起源于许多地方,以对等方式在节点之间传播,并由每个节点独立地进行验证。 那么,“区块链”从何而来? 好吧,区块链的工作就是 权威的最终交易日志,所有节点在其内容上都可以达成共识。

为什么我们需要此日志? 首先,它使新添加的节点能够从头开始计算数据库的内容,而无需信任另一个节点。 其次,它解决了由于系统停机或通信故障而导致某些节点可能错过某些事务的可能性。 如果没有事务日志,这将导致一个节点的数据库与其他节点的数据库不一致,从而破坏了共享数据库的目标。

第三,两笔交易可能会发生冲突,因此只能接受一笔交易。 一个典型的例子是 双花 其中将同一资产发送给两个不同的收件人。 在没有中央权限的对等数据库中,节点可能对接受哪个交易有不同的看法,因为 没有客观正确的答案。 通过要求在区块链中“确认”交易,我们确保所有节点都在同一决策上收敛。

最后,在 以太坊 型区块链,精确 订购 交易起着至关重要的作用,因为每笔交易都可以 影响会发生什么 在随后的每一个中。 在这种情况下,区块链的作用是定义权威年表,没有它,交易将根本无法处理。

区块链实际上是一个区块链,其中每个区块都包含一组确认为一组的交易。 但是谁来负责选择进入每个区块的交易呢? 在适用于企业应用程序的“私有区块链”中,答案是一组封闭的验证者(“矿工”),他们对他们创建的区块进行数字签名。 该白名单与某种形式的分布式共识方案相结合,以防止少数验证者抓住对链的控制。 例如,MultiChain使用一种称为 采矿多样性,其中允许的矿工在 轮循 方式,以一定程度的宽大处理以允许不起作用的节点。

无论使用哪种共识方案,验证节点的能力都比传统集中式数据库的所有者低得多。 验证者不能伪造交易或违反数据库规则来修改数据库。 在资产分类帐中,这意味着他们不能花费他人的钱,也不能更改所代表的资产总数。 尽管如此,验证器仍然可以通过两种方式不适当地影响数据库的内容:

  • 交易审查。 如果足够多的验证者恶意串通,他们可以防止特定交易在区块链中得到确认,从而使交易永久陷入困境。
  • 偏向冲突解决。 如果两个交易发生冲突,则创建下一个区块的验证程序将决定在区块链上确认哪个交易,从而导致另一个交易被拒绝。 公平的选择是首先看到的交易,但是验证者可以基于其他因素进行选择而无需透露这一点。

由于这些问题,在部署基于区块链的数据库时,您需要有一个清晰的思路 您的验证者是谁,以及为什么您信任他们,如果不是一个人则集体。 根据使用情况,可以将验证器选择为:(a)由一个组织控制的一个或多个节点,(b)维护链的一组核心组织,或者(c)网络上的每个节点。

8.支持您的资产

如果到此为止,您可能已经注意到,我倾向于将区块链称为共享数据库,而不是更常见的“共享分类帐”。 为什么? 因为作为一项技术,区块链可以应用于远远超出资产所有权跟踪的问题。 具有多个非信任作者的任何数据库都可以在区块链上实现,而无需中央中介。 示例包括共享日历,Wiki风格的协作和讨论论坛。

话虽如此,目前看来,追踪金融资产的移动和交换的人们对区块链的兴趣最大。 我可以想到两个原因:(a)金融业正在应对(回想起)比特币等加密货币的威胁,(b)资产分类账是共享数据库的最简单自然的例子由多个非信任实体创建的相互依赖的交易。

如果您确实想使用区块链作为资产分类帐,则需要回答另一个关键问题:要转移的资产的性质是什么? 这样,我不仅指现金,债券或提单,尽管这当然也很重要。 问题是: 谁站在区块链上代表的资产背后? 如果数据库说我拥有某物品的10个单位,谁将允许我声明这10个单位 在现实世界? 如果无法将区块链中写入的内容转换为传统的有形资产,我该向谁提起诉讼? (请参阅此 资产协议 例如。)

当然,答案会因用例而异。 对于货币资产,可以想象托管银行接受传统形式的现金,然后将其存入以区块链为动力的分布式分类账中的存款人账户。 在贸易融资中,信用证和提货单将分别由进口商的银行和运输公司提供支持。 甚至在将来,我们可以想象 初次发行 公司债券的发行直接由寻求筹集资金的公司在区块链上进行。

结论

正如我在简介中所述,如果您的项目无法完成 这些条件中的每一个,您不应该使用区块链。 如果没有前五个中的任何一个,则应考虑以下一种:(a)常规文件存储,(b)集中式数据库,(c)主从 数据库复制,或(d)用户可以访问的多个数据库 订阅.

而且,如果您确实完成了前五个任务,那么仍有工作要做。 您需要能够根据数据库允许的事务来表达应用程序的规则。 您需要确定谁可以信任验证者,以及如何定义分布式共识。 最后,如果您要创建共享分类帐,则需要知道谁将支持该分类帐代表的资产。

得到所有答案了吗? 恭喜,您有一个真正的区块链用例。 和 我们很乐意听取您的意见.

请发表任何评论 在LinkedIn。 另请参阅以下跟进: 四个真正的区块链用例.

时间戳记:

更多来自 Multichain