我正在使用Hyperledger Fabric 1.4并使用CouchDB作为对等状态数据库,但如果我通过使用它的UI some.IP.address/_utils/#login 进入 CouchDB 内部并更新任何数据,我能够更新数据和我想停止它,因为这样它就不会遵守无效用户无法更新数据的区块链原则。我试过搜索如何停止从 UI 访问 CouchDB,但我想问一下实现它的正确方法是什么。
我做错了什么,我能做些什么来阻止它?
我正在使用Hyperledger Fabric 1.4并使用CouchDB作为对等状态数据库,但如果我通过使用它的UI some.IP.address/_utils/#login 进入 CouchDB 内部并更新任何数据,我能够更新数据和我想停止它,因为这样它就不会遵守无效用户无法更新数据的区块链原则。我试过搜索如何停止从 UI 访问 CouchDB,但我想问一下实现它的正确方法是什么。
我做错了什么,我能做些什么来阻止它?
有很多方法可以实现这个让我一一解释
超级账本结构处理这个问题,区块链网络是分布式的,多个组织加入网络并安装他们的链码副本,如果有人从一个组织的 couchdb 更新值并且背书策略设置为多数,推荐调用操作将在该值上失败,因为为了传递来自多个执行的背书读写集进行比较。为了更新值,必须更新所有 couchdb,这很困难。
Couchdb 端口不应在生产网络上公开。
如果您使用 couch db url 更改 couchDB 中的数据,它不会影响区块链上的数据。它只是在世界状态下更改设备上存在的数据。因此,假设您通过后端更新增加余额并开始交易金额,它将失败,因为您在其他节点的余额值仍然是旧的(其他节点的余额值不受您的更新影响)。Couch db 只是用于查看状态,它不能改变状态。