Choosing the best blockchain platform for your business from 4 famous open source projects
从 4 个著名的开源项目中为您的业务选择最好的区块链平台
来源:Choosing the best blockchain platform for your business from 4 famous open source projects
In today’s global environment, where some countries have been forced by the current medical crisis to stop non-essential parts of their economies, the situation seems quite dire, to say the least. Hopefully, there will also be a silver lining at the end of all this, and we will all emerge stronger through our collective efforts.
在当今的全球环境中,一些国家在目前的医疗危机中被迫停止其经济中的非必要部分,这种情况似乎非常严峻。 希望在这一切最终会有一线希望,通过我们共同的努力,所有人都能变得更加强大。
Certainly, everyone is becoming acutely aware of how fragile the world economy is, with all its global supply chains. Many elements of those chains (for example the global supply chain of essential goods) are owned by large entities, or totally centralised. For that reason, people are turning their heads (at least when speaking about IT) towards various open source projects that are promising to bring decentralisation to the supply chain and, with that, a high degree of resilience to disruptions.
当然,每个人都已经敏锐地意识到世界经济及其全球供应链的脆弱性。 这些链的许多要素(例如,全球基本商品供应链)由大型实体拥有或完全集中。 因此,人们开始转向(至少在谈论 IT 时)转向各种开源项目,这些项目有望将去中心化带入供应链,并因此具有高度的抵御破坏力的能力。
Even if we ignore the current situation, staying relevant in the rapidly changing technological evolution should still be on the minds of every tech business leader out there from startups to large corporations, especially when it comes to blockchain/DLT technology. Therefore, if you are a business leader who is concerned about not losing relevancy or simply want to understand when and where different processes should be more decentralised, you will want to make an informed decision about using blockchain to benefit your business.
即使我们忽略当前的情况,从快速发展的公司到大型公司,每个技术业务领导者都应该紧记与快速变化的技术发展保持联系,尤其是在涉及区块链/DLT 技术时。 因此,如果您是一位业务领导者,担心不失去相关性,或者只是想了解何时应该在何处分散各个流程,那么您将需要就使用区块链使您的业务受益做出明智的决定。
To help with your decision regarding that, in this article we will look at 4 open source blockchain/DLT projects, starting (in no particular order) with Hyperledger Fabric, then moving on to Corda, then Quorum and finishing with Substrate.
为了帮助您做出决定,在本文中,我们将研究 4 个开源区块链/DLT 项目,从 Hyperledger Fabric 开始(无特定顺序),然后进入 Corda,然后是 Quorum,最后是 Substrate。
The main considerations include: ease of programming (smart contracts), throughput (for example transaction throughput), app footprint (like memory footprint), scalability, data privacy (the ability to store encrypted data) and, last but not least, support (either community support or official support).
主要考虑因素包括:易于编程(智能合约),吞吐量(例如事务吞吐量),应用程序占用空间(如内存占用空间),可伸缩性,数据隐私(存储加密数据的能力),以及最后但并非最不重要的支持( 社区支持或官方支持)。
1. Hyperledger Fabric (incubated by the Linux Foundation)
1. Hyperledger Fabric(由Linux基金会孵化)
The name Hyperledger refers to the overall umbrella project of open source blockchains and related tools, started in 2015 by the Linux Foundation and hosting software contributions from companies such as IBM, Intel, SAP Ariba, and others. The Hyperledger brand name has various frameworks under its umbrella that can be found here. We will focus on one such framework called Hyperledger Fabric.
Hyperledger 是指开源区块链和相关工具的整体项目,该项目由 Linux 基金会于 2015 年启动,并托管于 IBM,Intel,SAP Ariba 等公司做软件贡献。 Hyperledger 有广泛的多个饿框架,可以在这里找到。 我们将专注于一种称为 Hyperledger Fabric 的框架。
First of all, I would like to say that I see Hyperledger Fabric more like a fast DLT (Distributed Ledger Technology) platform, not a blockchain, or at least not according to my definition of a blockchain — for me a blockchain is a decentralized and immutable distributed database, where truth is determined by a consensus mechanism, like voting made by participants or PoW hashing, so that no central authority arbitrates what is true which translates into a system that deals well with faults and malicious actors. On the other hand, the standard Hyperledger Fabric architecture cares more about uptime (the transaction validation system is Crash Fault Tolerant first and foremost) and doesn’t do a great job resisting malicious actors.
首先,我想说的是,我认为 Hyperledger Fabric 更像是一种快速 DLT(分布式账本技术)平台,而不是区块链,或者至少不是按照我对区块链的定义——对我而言,区块链是去中心化的, 不可变的分布式数据库,其中的真相由共识机制确定,例如参与者的投票或 PoW 哈希,因此没有中心机构可以仲裁真相,从而转化为可以很好地处理故障和恶意行为者的系统。 另一方面,标准的 Hyperledger Fabri c架构更关心正常运行时间(交易验证系统首先是 Crash Fault Tolerant),并且在抵抗恶意行为者方面做得并不出色。
Like many other commercially-focused DLTs, Fabric is a permissioned DLT.
与许多其他侧重于商业的 DLT 一样,Fabric 是一个受认可的 DLT。
If you are wondering how hard it is to develop a brand new smart contract for Fabric, things couldn’t be more easy. With Hyperledger Fabric, it is possible to pick from a wide range of languages to develop your smart-contract (called chaincode), including: Go, Java, JavaScript and TypeScript and maybe Python as well, in the future. What this means is, if you are a developer, you can quickly start building your chaincode in one of those languages mentioned above or if you are a business/team leader, you don’t need to invest any extra money for hiring Solidity devs or for upskilling your current dev team. For that reason, in terms of ease of programming, Hyperledger Fabric is the best.
如果您想知道为 Fabric 开发全新的智能合约有多难,那再简单不过了。 借助 Hyperledger Fabric,将来有可能从多种语言中进行选择来开发您的智能合约(称为链码),包括:Go,Java,JavaScript 和 TypeScript,也许还有 Python。 这意味着,如果您是开发人员,则可以使用上述一种语言快速开始构建您的链码,或者如果您是业务/团队负责人,则无需花费任何额外的钱来雇用 Solidity 开发人员或提升您当前开发团队的技能。 因此,就易于编程而言,Hyperledger Fabric 是最好的。
That being said, it is very important to note that every smart contract lives inside its own Docker container (yes, Hyperledger uses Docker as its Virtual Machine, not the EVM or JVM or anything like that). This can be the main limiting factor of this project when it comes to app footprint, specifically memory footprint because of the large RAM overhead for each container, which limits the number of distinct contracts to just a dozen chain chaincode contracts on a normal system.
也就是说,每个智能合约都生活在自己的 Docker 容器中(是的,Hyperledger 使用 Docker 作为其虚拟机,而不是 EVM 或 JVM 或类似的东西),这一点非常重要。当涉及到应用程序的占用时,这可能是这个项目的主要限制因素,特别是内存占用,因为每个容器的大内存开销,这限制了不同契约的数量,在一个正常的系统中,只能有 12 个链的链码合约。
There is no built-in cryptocurrency in Hyperledger to prevent spam or to overcome the halting problem of infinite loops in state changing transactions. You might ask, if for some reason the smart contract execution doesn’t terminate (becomes frozen or something similar to that), what’s preventing the entire chain from freezing? Well, if the transaction does not execute within the configured timeout (by default ten seconds) the chaincode container will be killed by Hyperledger Fabric. Just to be sure the smart contract can be killed, one can make the containers bound to just one CPU, for example, but this means the overall execution of every piece of chaincode may be slower than necessary.
Hyperledger 中没有内置加密货币来防止垃圾邮件或克服状态变化交易中的无限循环的中止问题。您可能会问,如果由于某些原因智能合约执行没有终止(变成冻结或类似的情况),是什么阻止了整个链的冻结?好吧,如果事务没有在配置的超时时间内执行(默认 10 秒),链码容器将被 Hyperledger Fabric 杀死。例如,为了确保智能合约可以被终止,可以将容器绑定到一个 CPU 上,但这意味着每个链码的整体执行可能比必要的要慢。
Another interesting thing to note is that, unlike Ethereum or other systems, chaincode smart contracts cannot communicate with each other. This potentially limits functionality.
另一个值得注意的有趣之处是,与以太坊或其他系统不同,链码智能合约无法相互通信。这可能会限制功能。
Hyperledger Fabric uses two types of consensus mechanism: traditional crash fault tolerant Resource Aggregation for Fault Tolerance (RAFT) protocol or a byzantine fault tolerant (BFT) consensus protocol.
Hyperledger Fabric 使用两种类型的共识机制:传统的崩溃容错资源聚合容错(RAFT)协议或拜占庭容错共识协议。
Looking at the first consensus option, RAFT, since this consensus mechanism is Crash Fault Tolerant, so when it comes to scalability it’s easier to scale nodes than in BFT systems meaning one can easily set up a DLT with super high transaction throughput, somewhere in the order of magnitude of thousands of transactions per second, but this can only really be done for consortium projects where all members already know and trust each other to some degree.
看第一个共识选项,RAFT,因为这一共识机制崩溃容错,所以可伸缩性时更容易比在 BFT 系统节点规模意义很容易建立一个 DLT 超高事务吞吐量,在成千上万的数量级每秒事务数,但这只有在所有成员都在某种程度上了解和信任彼此的联合体项目中才能真正做到。
When it comes to data privacy, everything is OK here, as Fabric offers the ability to create private data collections, which allow a defined subset of organisations on a channel the ability to endorse, commit, or query private data.
说到数据隐私,Fabric 提供了创建私有数据集合的能力,这允许在通道上定义的组织子集能够认可、提交或查询私有数据。
Finally, last but not least, there is a lot of support, and here I am talking about community support. There is a lot of community activity that seems to happen on Stack Overflow or Reddit, however, there isn’t the same level of dev activity like in Ethereum. There are a lot of tutorials available describing how to setup your own Fabric network that either super high-level relying on basic setup scripts or really deep into the tech where the write-up assumes you are a DevOps expert especially when it comes to configuring all the crypto materials needed for a brand new network. This was once a complex process orchestrated through Hyperledger Composer in previous versions, which is no longer possible because Composer was recently deprecated. Therefore the barrier to entry is now slightly higher.
最后,最后但并非最不重要的一点是,有很多支持,在这里我说的是社区支持。 Stack Overflow 或 Reddit 上似乎发生了很多社区活动,但是,开发活动的水平并没有像以太坊那样。 有很多可用的教程描述了如何建立自己的Fabric 网络,这些网络要么是超高级的,而是依赖于基本的设置脚本,要么是深入到技术的基础上(本文假设您是 DevOps 专家),尤其是在配置所有对象时。 全新网络所需的加密材料。 这曾经是以前版本中通过 Hyperledger Composer 精心安排的一个复杂过程,由于最近不推荐使用 Composer,因此不再可能。 因此,进入壁垒现在略高。
So, in conclusion, Hyperledger Fabric is perfect for when all your transaction logic can be handled by one or two smart-contracts and when you want to have low latency and a high throughput for the chain, and aren’t afraid to read through a lot of guides to get started.
所以,总之,Hyperledger Fabric 非常适合当你所有的事务逻辑由一个或两个智能合约,并且需要低延迟和高吞吐量时,并不害怕阅读大量的攻略时使用。
2. Corda (by R3)
Corda is a DLT system built from scratch in Java by R3, a US company co-founded in 2015 by 40 of the world’s largest banks, but now comprising over 300 companies in their ecosystem. It is therefore understandable why the majority of current Corda-related news and developments focus on financial services applications.
Corda 是 R3 用 Java 从零开始构建的 DLT 系统,R3 是一家美国公司,2015 年由 40 家世界上最大的银行共同创立,但现在在他们的生态系统中有超过 300 家公司。因此,可以理解为什么当前大多数与 Corda 相关的新闻和发展都聚焦于金融服务应用程序。
Unlike almost all the other blockchain clients that tend to take inspiration and even code from other projects such as Ethereum, it only has a few aspects of it that are taken from Public Blockchain software, the majority are new.
与几乎所有其他倾向于从以太坊等项目中获得灵感甚至代码的区块链客户端不同,它只有少数几个方面来自公共区块链软件,而大多数是新的。
There are two versions: the private Corda Enterprise, which is out of scope for this article, and the open-source Corda project. The two are said by R3 to be near identical in most aspects.
Corda 有两个版本:私有的 Corda Enterprise(不在本文讨论范围内)和开源 Corda 项目。R3 说这两者在大多数方面几乎相同。
In terms of ease of programming, as in programming smart-contracts, it is worth mentioning that if you don’t have expert-level experience in Java or if you don’t have a team of Java devs at your disposal, Corda is really not for you. Smart contracts in Corda are named CorDapps and take the form of a set of JAR files (Java archive files which act like executable Java programs) containing class definitions written in Java (or with the new libraries, in Kotlin as well).
就编程的简便性而言,就像在编写智能合约中一样,值得一提的是,如果您没有 Java 方面的专家级经验,或者如果您没有可使用的 Java 开发人员团队,那么 Corda 确实是不适合你。 Corda 中的智能合约被称为 CorDapps,并采取一组 JAR 文件(类似于可执行 Java 程序的 Java 存档文件)的形式,其中包含用 Java(或用 Kotlin 编写的新库)编写的类定义。
With regards to the throughput, there is no information about a specific number of transactions per second. I can only estimate a very large number of transactions would be possible. When a user creates a transaction, this transaction will eventually go to a coordinating node called a notary node, or a notary cluster designated to prevent “double-spends”. A network can have several notary clusters, because they are all pluggable, and the interesting part is the fact each notary can implement a variety of consensus algorithms. This particular architectural decision means Corda is unlike other blockchains or DLT solutions currently available.
关于吞吐量,没有关于每秒特定数量的事务的信息。 我只能估计可以进行大量交易。 当用户创建交易时,该交易最终将到达称为公证节点的协调节点,或指定为防止“双花”的公证集群。 一个网络可以有几个公证集群,因为它们都是可插入的,有趣的是每个公证可以实现多种共识算法。 这一特殊的架构决策意味着 Corda 与当前可用的其他区块链或 DLT 解决方案不同。
Like in Hyperledger Fabric, you can have a consensus mechanism like RAFT or a new BFT called BFT-SMaRt. For that reason, if we were to start benchmarking a Corda network that uses RAFT, I am sure we would achieve thousands of transactions per second.
像在 Hyperledger Fabric 中一样,您可以具有共识机制,例如 RAFT 或称为 BFT-SMaRt 的新 BFT。 因此,如果我们要开始对使用 RAFT 的 Corda 网络进行基准测试,我相信我们每秒将实现数千笔交易。
Unfortunately, Corda requires a lot of tuning, because the CorDapp contract is something that depends on CPU and network management being as close to the metal as possible, which is because it is not virtualized enough. This has its good side, as it has a low memory or app footprint.
不幸的是,Corda 需要大量的调优,因为 CorDapp 契约依赖于 CPU 和网络管理,这是因为它不够虚拟化。这有它好的一面,因为它有较低的内存或应用程序占用。
This requires a lot of work done in the deterministic JVM sandbox provided but, fortunately, in terms of support, there is a lot of community support on Stack Overflow and Slack.
需要在提供的确定性 JVM 沙箱中完成大量工作,但是幸运的是,就支持而言,在 Stack Overflow 和 Slack 上有很多社区支持。
When it comes to data privacy, this is built in. Every piece of data stored is encrypted properly, the encryption is done in such a way that only the parties included within the transaction can decrypt it. Things get a bit more complicated when there are a lot of parties that want to share only certain things, therefore the need of something called channels. Thus, if you know the channel where a chaincode made by someone else is deployed, you can make your new chaincode talk to it, but only on that particular channel. If you are calling a chaincode on a different channel, you are limited to read only.
当涉及数据隐私时,它是内置的。对存储的每个数据都进行适当的加密,加密的方式是只有交易中包含的各方才能对其进行解密。 当有很多聚会只想共享某些东西时,事情就变得复杂了一些,因此需要一种叫做渠道的东西。 因此,如果您知道将其他人制作的链码部署到的频道,则可以使新的链码与之对话,但只能在该特定频道上进行。 如果要在其他频道上调用链码,则仅限只读。
With regards to scalability, it is easy to add any number of nodes, thus the network being very easy to scale.
关于可伸缩性,添加任意数量的节点很容易,因此网络扩展非常容易。
So it appears that Corda is good for fast enterprise projects where the rest of the codebase that already exists is also written in Java/Kotlin, or parties are willing to adapt to these.
因此,Corda 似乎适用于快速的企业项目,在这些企业中,已经存在的其余代码库也是用 Java/Kotlin 编写的,或者各方都愿意适应这些项目。
3. Quorum (by JP Morgan)
3. Quorum (摩根大通)
Quorum is an Ethereum-based blockchain (and here I am talking about the GoLang flavour of Ethereum), that has been developed to provide various industries with a permissioned implementation of Ethereum.
Quorum 是一个基于以太坊的区块链(这里我指的是以太坊的 GoLang 版本),它被开发用于为各个行业提供以太坊的许可实现。
Quorum was forked from the main Ethereum Go (Geth) repository more than two years ago by a team of developers managed by JP Morgan who at that time had experimented with another project called Juno. At the moment, it looks unclear how the future ownership of the project will evolve, because there are currently ongoing negotiations to merge Quorum with the startup ConsenSys.
Quorum 是在两年多前由摩根大通管理的一个开发团队从以太坊 Go(Geth)主库中分离出来的,当时该团队正在试验另一个名为 Juno 的项目。目前,该项目未来的所有权将如何发展还不清楚,因为目前正在进行合并 Quorum 和初创公司 ConsenSys 的谈判。
Because of the amount of public information out there about Geth and Quorum, I would definitely give it a thumbs up when it comes to community support.
由于存在有关 Geth 和 Quorum 的大量公共信息,因此在社区支持方面,我肯定会表示赞许。
I can’t really say Quorum satisfies the ease of programming requirement because I am aware not everyone knows how to code in Solidity (Quorum is EVM based). The good news is that the tooling is comparatively excellent. That’s because Solidity is a very well documented language, and there are even plugins for VSCode and Atom.
我不能说 Quorum 满足了便宜编程要求,因为我知道并不是每个人都知道如何使用 Solidity 进行编码( Quorum 是基于 EVM 的)。 好消息是该工具相当出色。 这是因为 Solidity 是一种非常有据可查的语言,甚至还有 VSCode 和 Atom 的插件。
In terms of data privacy, well, it is all up to you, as smart contracts can be either public (i.e. visible and executable by all participants in the network) or private to one or more network participants.
就数据隐私而言,这完全取决于你自己,因为智能合约可以是公开的(即网络中所有参与者可见和可执行),也可以是一个或多个网络参与者的私有合约。
If we compare the throughput to other Ethereum chains we can make a few simple calculations. Block size by default is 3.7G units of gas which is significantly higher than the 8M gas default on other private Ethereum solutions. The default block time is 1 second but in fact the gas limit is so high that consuming it all would take longer than the block time. Based on this, we can conclude that the actual practical limit should be at least as high as a few 1000s of transactions a minute (more extensive testing would be needed though). Similar to Fabric or Corda, there are two possible consensus mechanisms supported, RAFT (the default consensus mechanism) and Istanbul, a form of BFT. Therefore, if we go with the default option of non-BFT RAFT, the transaction throughput can be even higher.
如果我们将吞吐量与其他以太坊链进行比较,我们可以进行一些简单的计算。 默认情况下,区块大小为 3.7G 单位,明显高于其他私有以太坊解决方案的 8M 单位。 默认的阻塞时间为 1 秒,但实际上限制非常高,以至于消耗掉所有所花费的时间将比阻塞时间更长。 基于此,我们可以得出结论,实际的限制至少应至少达到每分钟几千个事务(尽管需要进行更广泛的测试)。 与 Fabric 或 Corda 相似,支持两种可能的共识机制,即 RAFT(默认共识机制)和 Istanbul(一种 BFT 形式)。 因此,如果我们使用非 BFT RAFT 的默认选项,则事务吞吐量可能会更高。
In terms of app footprint, as in mainly memory footprints, I would say that the memory consumption is quite low and one can compare it to Ethereum. Extra memory is needed though for the overhead of working with private transactions.
在应用程序占用方面,主要是内存占用,我认为内存消耗相当低,可以与以太坊进行比较。但是需要额外的内存来处理私有事务。
Of course, Quorum has the unique property of high scalability because the project is based on the Geth Ethereum client, therefore any scaling solutions from Ethereum MainNet could be easily added in later.
当然,由于项目基于 Geth 以太坊客户端,Quorum 具有高可扩展性的独特属性,因此任何来自以太坊主网的可伸缩性解决方案都可以在以后很容易地添加进去。
In conclusion, if you know Solidity or if you have at least one Solidity dev in your team, Quorum is the perfect option for you to build something quick, something that doesn’t necessarily need to be super fast.
总之,如果你了解 Solidity,或者你的团队中至少有一个 Solidity 开发者,那么 Quorum 便是你快速创造内容的最佳选择,而这些内容并不一定需要非常快。
4. Substrate (by Parity Tech)
Now, as the old saying goes, it is good to save the best for last, let’s look at Substrate (maybe not necessarily the best, but certainly the most intriguing one).
现在,正如老话所说,最好的留到最后,让我们看看 Substrate(也许不一定是最好的,但肯定是最有趣的)。
Substrate, made by Parity Tech (the same company that made the Parity Eth client), is not a blockchain per se. You can think of it as being like Wordpress where you can add certain templates or build a few templates yourself and get your own website that meets all of your requirements and is different from any other website out there, but still able to interoperate with them. If you want to build a new project using Substrate, all you have to do is implement a very small number of hooks in your code and then, almost immediately, you have your custom blockchain client for your favourite OS.
Substrate 由 Parity Tech(制作 Parity 以太坊客户端的那家公司)制造,其本身不是区块链。你可以把它想象成 Wordpress,你可以添加特定的模板,或者自己构建一些模板,得到你自己的网站,满足你所有的要求,不同于任何其他网站,但仍然能够与它们进行互操作。如果您想使用 Substrate 构建一个新项目,您所要做的就是在代码中实现非常少的钩子,然后,几乎立即,您就拥有了您最喜欢的操作系统的定制区块链客户端。
When it comes to ease of programming (programming smart contracts, of course), I must say, it is not that easy. It looks like there are two options: first one is to use the EVM module, which is good if you know Solidity or you have a Solidity dev; and second option is to use ink! module which uses the Rust programming language but that might be even harder because it seems Rust developers are in short supply. In fact, Parity Ethereum is the world’s second largest Rust codebase in existence, explaining the team’s choice here.
说到编程的便利性(当然是编写智能合约),我必须说,这并不容易。看起来有两个选择:第一个是使用 EVM 模块,如果你知道 Solidity 或你有一个 Solidity 开发者,这是很好的选择;第二种选择是使用 Ink! 使用 Rust 编程语言的模块,但这可能更加困难,因为似乎 Rust 开发人员供不应求。事实上,Parity 以太坊是世界上现存的第二大 Rust 代码库,这解释了团队的选择。
Therefore working knowledge of Rust and/or Solidity is required to be able to do any significant customization or adaptation of Substrate.
因此,需要有 Rust 和/或 Solidity 的工作知识,能够进行任何重要的定制或适应 Substrate。
Because of how new this is, transaction throughput is unknown. My guess is that because of the fact that all smart contracts will end up compiling down to WASM (Web Assembly) if they are written in Rust and, because of how fast the underlying WASM interpreter runs, I would say that it might be at least a few times faster than Quorum as an example. Note that there are various mechanisms substrate allows you to introduce in order to limit bad user behaviour that would slow down the network (e.g. configurable transaction fees and storage fees).
由于这是新东西,事务吞吐量是未知的。我的猜测是,因为所有智能合约将会编译到 WASM (Web组件)如果他们都用 Rust 编写,因为底层 WASM 解释器运行速度,至少我会说它可能是几倍法定人数。请注意,底层允许你引入各种机制来限制会减慢网络速度的不良用户行为(例如,可配置的交易费用和存储费用)。
The fact that you get to write your own code in one of the performant programming languages out there (Rust) means a much improved app footprint.
你可以用一种性能编程语言(Rust)编写自己的代码,这意味着应用占用空间会得到很大改善。
In terms of scalability, I have really good news here. As substrate is a framework for building blockchains, you have a lot of potential for scaling using various mechanisms. Single Substrate blockchains can scale horizontally by joining the future Polkadot network, should they wish to. Substrate allows you to write a custom fork choice or use a “Hybrid” consensus mechanism, using the combination of the classic AURA Proof of Authority consensus from the old Parity client, the new BABE non-BFT block generator, or even a Proof-of-Work algorithm for block generation + GRANDPA for finality.
在可伸缩性方面,我有一个好消息。由于 Substate 是构建区块链的框架,所以使用各种机制进行扩展有很大的潜力。单个 Substate 区块链可以通过加入未来的 Polkadot 网络进行横向扩展,如果他们愿意的话。Substrate 允许你编写一个自定义的分叉选择或使用一个“混合”共识机制,使用来自旧 Parity 客户端的经典 AURA 权威证明共识,新的 BABE 非 bft 块生成器,甚至是块生成的工作量证明算法+最终的 GRANDPA。
In terms of scalability, as Substrate is a framework for building blockchains, you have a lot of potential for scaling using various mechanisms. Single blockchains can scale horizontally, by joining the Polkadot network should they wish to. Or you can build your own private polkadot-like ecosystem, something that will end-up looking like a blockchain of blockchains. Building parachains will also solve the problem of data privacy but you can also use Zero Knowledge Proofs with libraries made by Zkcrypto.
就可伸缩性而言,由于 Substrate 是一个构建区块链的框架,您可以使用各种机制进行扩展。单个区块链可以通过加入 Polkadot 网络进行横向扩展,如果他们愿意的话。或者,你可以建立自己的私人 Polkadot 生态系统,最终看起来像一个区块链的区块链。构建降落伞链也可以解决数据隐私问题,但你也可以使用零知识证明与 Zkcrypto 制作的库。
Finally, in terms of support (community support mainly), it’s now easy easy to contact the Substrate team through the public Riot chat, or if not, you can find a lot of materials on Awesome Substrate or on StackOverflow.
最后,在支持方面(主要是社区支持),现在很容易通过公共的 Riot 聊天联系到 Substrate 团队,如果没有,你可以在 Awesome Substrate 或 StackOverflow 上找到很多材料。
I am not sure if I want to recommend this solution to small businesses just yet. All I can say for sure is the fact that this is quite new and very open for experimentation. I really recommend using Substrate in your project if you feel a bit adventurous, but if you are not willing to experiment, stick with one of the other platforms presented above.
我不确定我是否要向小型企业推荐这种解决方案。我所能肯定的是,这是一个相当新的东西,非常开放的实验。如果您觉得有点冒险,我真的建议在您的项目中使用 Substrate,但是如果您不愿意尝试,请坚持使用上面提供的其他平台之一。
In conclusion, when it comes to rating the best platform, I personally think we should not choose only one, as solutions should be built according to the specified business model, or the size of your organization. Perhaps, in the future, banking organisations will settle on banking-inspired Corda, B2B businesses will move to platforms that run on commercially-sponsored chains like Hyperledger Fabric or Quorum, whereas B2C businesses will move to chains like Substrate. But only time will tell.
综上所述,在评价最佳平台时,我个人认为我们不应该只选一个,应该根据具体的业务模式,或者组织的规模来构建解决方案。也许,在未来,银行组织会选择受银行启发的 Corda, B2B 企业将转向在商业赞助链上运行的平台,如Hyperledger Fabric 或 Quorum,而 B2C 企业将转向像 Substrate 这样的区块链。但只有时间会告诉我们答案。