问题标签 [decentralized-applications]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
126 浏览

blockchain - 构建无交易区块链应用程序的概念

我想为用户构建一个区块链应用程序来检查我的产品数据的真实性。我打算在我的产品上放置一个二维码,供用户扫描并访问我的区块链应用程序(例如网站)以检查产品的生产日期。因为我知道当我应用区块链(不可变)概念时人们会信任我的产品。

但是我研究了一段时间的区块链应用程序开发教程。这些教程使用事务进行教学,并要求使用元掩码之类的插件。我的项目不涉及任何事务,只需要将生产日期数据存储到数据库中。但我不知道我应该使用什么框架或语言。

该项目是否应该涉及以太坊?智能合约?还是其他概念?

我这个项目的主要目的是建立一个一旦写就不能修改的区块链数据库。然后让用户到达我的应用程序查看产品的生产日期以确保真实性。

谢谢。

0 投票
1 回答
56 浏览

cassandra - Apache Cassandra 是否提供可用于防止数据破坏(恶意节点)的测量?

我们正在开展一个有 20 人的大型学校项目。该案例是一个去中心化的匿名聊天平台。所以我们不允许设置中央服务器,因此我们正在研究分布式数据库并发现 Cassandra 最适合我们的项目。

这意味着运行该应用程序的每个人也将是一个 Cassandra 节点。这引起了我的许多担忧,主要是恶意节点。如果每个人都在他们的计算机上运行 Cassandra 节点,我们如何防止他们操纵/破坏甚至直接删除数据?

我正在做一些研究,我开始得出结论,Cassandra(以及我研究过的其他分布式数据库)适用于公司拥有、运行和维护数据库的企业解决方案。在我们的例子中这不是真的,因为一旦应用程序启动,就不会有“所有者”。每个用户都是系统的平等一部分。

我知道在去中心化/分布式系统中防止恶意节点的一种(或者可能是唯一的)方法是让节点相互检查。我发现在 Cassandra 中无法做到这一点,因此我的问题是,我们能否防止数据破坏和恶意节点成为威胁?

0 投票
2 回答
3511 浏览

blockchain - Metamask stopping to inject web3.js

As we know, metamask will no longer inject web3.js starting Jan 13, 2020. What are the approaches we should take to stop the dependency on web3?

Also how can we test it out with the existing Metamask that is injecting web3.js as of now.

0 投票
2 回答
5456 浏览

git - Git 是分布式的还是去中心化的?

我知道 git 使用版本控制来跟踪文件。而且它也是分布式的,这意味着不止一台计算机存储相关文件。但我的疑问是 git 是分布式的还是去中心化的?如果是去中心化的,那我们为什么需要github、gitlab?使用 Github 和 Gitlab 使其分布式(一个主多个从节点)对吗?因为,我们有一个主服务器(比如 github),客户(合作者)依赖它。但是 git 利用了区块链技术,这让我觉得 git 是去中心化的,因为比特币、以太坊等所有区块链技术应用都是去中心化的。与比特币不同的是,git 中的节点内没有点对点通信,这与区块链的去中心化性质相矛盾。我们需要 github 与其他节点进行通信,或者如果我们要与其他节点协作。

0 投票
1 回答
101 浏览

blockchain - 什么是去中心化分布式系统?为什么区块链是去中心化分布式系统?

分布式系统没有单一权限,每个节点都连接到每个其他节点,而在分散式系统中,每个节点都没有连接到每个其他节点,因为它也没有单一权限。那么区块链如何是一个去中心化的分布式系统呢?

0 投票
2 回答
78 浏览

git - 临时使用没有服务器的 git

因此,由于某些原因,我的小团队无法无限期地访问我们的 git repo 所在的服务器。

不过,我们都拥有 repo 最新更改的本地副本,并希望继续为它做出贡献。一旦我们再次可以访问服务器,我们希望能够将我们的更改推送到该服务器并像以前一样使用它。

我的问题是,我们怎样才能做到这一点?我看到很多关于在没有服务器的情况下使用 git 的帖子/问题,所以我相信这是可能的。

我的想法是:

  1. 一个人将在他们的机器上拥有“最终”存储库的副本

  2. 当一个人想要进行更改时,他们会将更改的补丁文件发送给最终的 repo 所有者。

  3. 然后,最终的 repo 所有者将创建一个基于 master 的新分支,然后将补丁应用到这个新分支。

  4. 然后,最终的回购所有者将测试新分支

  5. 测试完成后,最终的 repo 所有者可以合并到 master。

所以我对这个工作流程的一个问题是:团队中的其他人如何知道这些变化?如果最终的 repo 所有者合并为 master,其他成员如何将合并反映在他们的 repos 中?

任何指导或批评表示赞赏。

0 投票
1 回答
36 浏览

distributed - 多节点的拜占庭一般问题

我对BGP感到困惑。如果故障节点的数量小于n/2,n个节点的分布式网络就可以达成共识,对吧?那么如果我们遵循一般规则,在下图中,大圆圈中的节点会尝试攻击,而小圆圈中的单个节点会撤退。

符号:
黑色节点:代表普通正常节点。
红色节点:代表故障节点
绿色箭头:撤退消息
红色箭头:攻击消息

为什么即使故障节点数只有 3 个也没有建立共识? 在此处输入图像描述

0 投票
0 回答
137 浏览

distributed - 将 IPNS 链接添加到 ipfs-desktop

将 IPNS 站点添加到 ipfs-desktop 的正确方法是什么?目的是在多台计算机上播种一个网站,比如说 5 台。所以,我将我的 IPNS 链接提供给我的 5 位朋友。他们如何为托管该网站做出贡献?

0 投票
1 回答
74 浏览

blockchain - 区块链:如果没有用户在线验证新交易怎么办?

好的,所以我正在尝试围绕整个大主题,包括智能合约。

我不明白的是,使用区块链技术,我们依靠其他人来验证我提议的交易(我的新区块)。这意味着,如果我要篡改某些块并尝试重写历史记录,其他节点会立即检测到它。

这就是我的问题所在。人们说小企业也可以实施区块链,但是如果有时只有 1 个用户在线,整个区块链难道不是一帆风顺吗?甚至没有人?在那种情况下,没有实体可以阻止历史的变化,从而使其变得脆弱?

是否有可能继续对这些节点进行验证?根据我的理解,似乎没有办法。

附加问题:有没有人知道区块链上的资源被用于删除证明,这意味着记录、数据等被删除的证据?提前致谢

0 投票
1 回答
11 浏览

blockchain - 准备消息的摘要是副本的摘要,还是与主在 PBFT 中发送的预准备的签名相同?

我正在学习 PBFT 从这篇论文osdi99 Pbft这是提出协议的原始论文

在主节点发送预准备消息后,副本将创建一个包含数字签名的准备消息

所以我想知道这个摘要是副本的摘要还是包含在 pre-preare 消息(客户端请求的主要数字签名)中的摘要?

我也很困惑,例如,如果一个非故障节点与网络断开一段时间会发生什么,如果重新上线他会怎么做?