我是bigchaindb的新手,我有一个问题。如果单个公司希望将数据作为资产存储在bigchaindb上并与其他公司共享,那么与mongodb相比,bigchaindb会带来什么优势?
去中心化—由于所涉及的公司将拥有所有bigchaindb节点,因此系统不会去中心化。
不可移植性—他们可以使用代码来实现。
资产转移—这也可以通过使用mongo db和代码来完成。
答案 0 :(得分:0)
BigchainDB的优势是去中心化。如果一家公司拥有所有节点,那么您也可以使用一台服务器,则没有太大区别(除非您希望组织内多个位置独立)。如果您要与试图写入共享数据库同时确保透明性,可审计性和完整性的多个半受信任参与者打交道,则只应使用BigchainDB或一般意义上的区块链。
因此,在您的用例(一个存储所有数据以与他人共享的组织)中:不,与自定义MongoDB实现相比,使用BigchainDB没有明显的优势。
编辑:我刚刚看到,Medium上的Troy McConaghy(BigchainDB的创建者)回答了这个问题。由于他的回答略有不同,我将在此处包括:
权力下放不是一无所有的财产,它是一个连续体。例如,即使一家公司经营所有节点,也可以让每个节点由不同员工,在不同业务部门,在不同国家/地区操作。
有两种使用代码向MongoDB添加不变性的通用方法。一种是尝试在应用程序层中进行操作。这样做的问题在于MongoDB数据库是一个逻辑数据库,因此任何设法在一个节点上获得类似管理员权限的人都可以在整个数据库中更改或删除记录:只有一个故障点,使其“分散”可疑。 (在BigchainDB中,每个节点都有一个独立的MongoDB数据库,因此,破坏一个节点不会影响其他节点。)另一种方法是派生MongoDB进行存储,使其无法更改或删除现有记录。继续吧,这将需要数百个编码器小时才能完成,最后您所拥有的只是类似于Datomic或HBase的东西。为什么不只使用其中之一呢?当然,那些仍然有中央管理员的问题,因此您可能想分叉……
是的,几乎所有数据库都可以用来跟踪和管理资产转移。您必须添加一件事,即只有资产的真正所有者才能进行转移(通过提供有效的密码签名),但这完全可以在应用程序级代码中(或者可以在数据库的内部脚本语言中)进行。这都需要时间,BigchainDB可以立即使用。