繁体   English   中英

如何防止将虚假数据发送到区块链

[英]How to prevent fake data from being sent to a Blockchain

我正在为物联网应用程序开发一个区块链,其中有许多网关(矿工)遍布整个城市,并且有几个节点(传感器)连接到每个网关。 每个网关都可以由最终用户添加,因此这是一个不受信任的环境。 我如何才能确保其中一位矿工没有向链发送虚假数据?

我查阅了一些共识协议,发现没有一个适合这个特定问题,因为没有价值被交换。

每个矿工向主服务器发送一个 ping,并从中接收网络上的矿工列表。 然后他们通过 p2p 相互连接。

关于如何解决这个问题的任何想法?

区块链可以在无许可或许可两种情况下使用,如果你想防止任何人都可以广播数据,那么你必须在节点加入网络之前对它们进行身份验证。 如果即使在对节点进行身份验证之后,经过身份验证的节点仍有可能发送“假数据”,则必须实施信任机制,节点验证数据源的可信度并决定节点是否受信任并接受数据。

为了防止发布垃圾邮件或虚假数据,必须将其作为共识规则添加到协议中。 否则,它需要另一个层来验证基于链下数据的数据(但不阻止数据存储在块中)。 区块链用于在无许可系统中实现分布式共识。 限制谁可以参与不是一个无许可的系统,而是一个中心化系统,因为必须有人来决定谁可以参与。

查询的答案在于Blockchain Oracles

迄今为止的预言机都是中心化服务,这意味着任何使用此类服务的智能合约都存在单点故障,这抵消了从智能合约的去中心化性质中获得的任何好处。

为了填补这一空白,Chainlink 被开发为第一个可以为智能合约提供外部数据的去中心化预言机。 因此,智能合约的安全性和确定性可以与现实世界外部事件的知识和广度相结合。 Chainlink 将提供一个智能合约,可以访问任何所需的外部 API。

根据 chainlink herehere

区块链和智能合约无法从其网络外部访问数据。 为了知道要做什么,智能合约通常需要以电子数据(也称为预言机)的形式从外部世界获取与合约协议相关的信息。 这些预言机是发送和验证现实世界事件并将此信息提交给智能合约的服务,触发区块链上的状态变化。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM