Peera.

帖子

分享您的知识。

专家问答

以太坊是去中心化的吗?如果不是,C# 的去中心化替代方案是什么?

我有一个我正在开发的应用程序必须是 100% 去中心化的. 这是一款用 C# 编写的 Unity 游戏. 用户需要使用他们的以太坊钱包签名. 游戏会检查签名以确定用户的钱包中是否包含指定用于提供身份验证的 NFT. 检查是否存在特定 NFT 需要去中心化,否则如果 rpc 节点出现故障或遭到入侵,用户将无法获得身份验证. 我用 Nethereum 来检查用户的钱包里是否有 NFT. 这些文档提供了如何获得特定地址的 NFT 余额的示例 http://docs.nethereum.com/en/latest/Nethereum.Workbooks/docs/nethereum-managed-accounts.workbook/.

var balanceOfFunctionMessage = new BalanceOfFunction()
{
    Owner = account.Address,
};

var balanceHandler = web3.Eth.GetContractQueryHandler<BalanceOfFunction>();
var balance = await balanceHandler.QueryAsync<BigInteger>(contractAddress1, balanceOfFunctionMessage);  

这是分散的吗?如果不调用 Geth 节点的 URL,我看不出这怎么能奏效,我相信这将使 NFT 余额查询集中化. 我希望这个过程能以某种方式去中心化. 也许 Nethereum 伸出援手,在不通过单一网关的情况下以去中心化的方式获得多个节点的平衡?有人能告诉我 Nethereum 查询 NFT 余额的方法有多分散或集中吗?

如果我提供的 Nethereum 文档示例中的代码不是去中心化的. 你能为我提供最分散的替代方案吗?

  • NFT
  • solidity
  • smart contract
1
1
分享
评论
.

答案

1
Sergey Ilin.
Jun 21 2023, 05:44

我认为这更多的是信任问题,而不是集中化或权力下放的问题.

NFT 存储在以太坊区块链上. NFT 组件本身是去中心化的.

对区块链的任何请求都必须通过网络上的一个节点进行路由. 每个单独的节点都归某个实体所有,顾名思义是集中的. 如果你没有为 Nethereum 指定 RPC URL,则意味着它使用了一些默认 URL,必须有人管理 RPC. 而且没有其他办法可以解决这个问题.

如果你不想信任 Nethereum 提供的默认 PRC,那么你可以指定你的自定义 RPC-https://docs.nethereum.com/en/latest/introduction/web3/#url-constructor

有许多知名名称为以太坊提供 RPC 服务,值得信赖: -Infura -Alchemy -Ankr -quicKnode

如果你担心其中一个会停机,那么你可以建立备份提供商. 如果您检测到默认提供程序已关闭,请使用其中一个备份.

0
最佳答案
评论
.

你知道答案吗?

请登录并分享。

Web3 (also known as Web 3.0) is an idea for a new iteration of the World Wide Web which incorporates concepts such as decentralization, blockchain technologies, and token-based economics.

142帖子198答案
Sui.X.Peera.

赚取你的 1000 Sui 份额

获取声誉积分,并因帮助 Sui 社区成长而获得奖励。

奖励活动六月
我们使用 cookie 确保您在我们的网站上获得最佳体验。
更多信息