Koinos已经被称为第一个真正免费使用的通用区块链,但你知道它也是第一批建立在微服务架构上的区块链之一吗?通过将区块链节点分解为一组松散耦合的服务,Koinos变得可维护和易于验证,同时提供了很大程度的部署灵活性。
在该微服务架构中存在一个主要依赖于 libp2p的p2p微服务。
区块链 = 昂贵的存储
区块链非常适合激励人们在网络中运行节点,但它们也是一种昂贵存储信息的方式。如果有一种简单的方法可以利用非中心化的节点网络来共享信息,而不必承担将信息存储在区块链上的成本,那不是很好吗?
这可能听起来毫无用处。区块链网络的全部意义不在于使用区块链吗?想象一下,一个dApp 开发人员想要将p2p加密消息添加到他们的应用程序中,或者让他们的用户能够彼此共享人类可读的内容(文章、帖子、评论等),但不希望这些信息永远存储在不可变的账本上。也许那是因为这会花钱,或者他们不希望它在可公开访问的数据库中永垂不朽。
在其他区块链上,将这些功能添加到dApp需要开发一个完全独立的节点,然后让人们运行该节点。当然,我们让人们运行节点的方式是使用区块链和通证来激励他们这样做。然而,现在我们又回到了我们开始的地方:使用区块链网络做一些不需要区块链的事情!
搭建桥梁
Koinos中的p2p微服务利用了与分布式存储网络中相同的模块化点对点网络堆栈:libp2p。在使用libp2p时,Michael注意到它使对等点能够连接到其他对等点,而无需强制它们使用哪种协议。
相反,您基本上可以向该节点提出任何协议,他们可以选择接受或拒绝您的提议。但是,我们用例的关键是,即使对等点不想使用另一个节点提出的协议,它也不会与该对等点断开连接。
插件架构
Michael观察到,这为向由libp2p提供支持的p2p微服务添加“插件架构”创造了机会。添加此架构意味着其他开发人员可以将自己的通信协议添加到Koinos节点,并使用户能够通过p2p 网络传输他们想要的任何类型的信息!
但是可以为加密的消息服务、内容共享应用程序或其他任何东西创建p2p插件!由于人们必须选择运行特定的插件,而且这些信息都没有存储在区块链中,因此它对Koinos网络的整体功能没有影响,同时为开发人员提供了另一种工具来交付令人惊叹的非中心化应用程序。
现在,插件架构在很大程度上是一个概念验证。它可以工作,但由于Koinos仍在测试网上,因此尚未经过测试。然而,现在主网最重要的部分已经完成,我希望更多的Koinos应用程序上线,我希望其中一些应用程序能够利用libp2p的这种未充分利用的功能!