• 发表时间: 2022-09-26
  • 文章作者: sadie
  • 发表于 general

*在第二期的《和幕后维护者会谈》中,我联系到了来自DIVA.EXCHANGE的Konrad来谈谈DIVA.EXCHANGE的研究和服务。 DIVA.EXCHANGE的目标是为所有人提供免费安全的,没有一个中央基础设施,并基于区块链和I2P技术的银行。

System Message: WARNING/2 (Blog, line 10); backlink

Inline emphasis start-string without end-string.

是什么让您对I2P感兴趣?

大约10年前,我为 "楚格技术论坛"(Technologieforum Zug)做了一次演讲--这是一个针对商业人士的本地技术网络。 我当时向他们介绍了I2P和Tor-让他们知道还有其他有趣的东西存在于那里。

我一直对密码学相关技术非常感兴趣。 总的来说,我可以说我的核心兴趣是,而且仍然是:网络, 在技术和社会层面上的自由和隐私,有趣的算法。 比如2000年至2010年期间的HashCash,它是一个非常好的的工作证明算法,于90年代末在英国的大学创建。

I2P让我着迷,因为它确实做得很精致 - 从架构到Java和C++的实现。 就我个人而言,我更喜欢去耦的小程序,只做一件事。 因此我很对C++版本的I2Pd非常着迷,它精简、快速、没有依赖关系,非常好用。

它的技术特点中哪些品质与你自己的工作或兴趣相一致?

我崇拜工匠精神。这就是艺术。 而I2P就是现代手工艺,I2P为用户创造了买不到的价值:自主、自由和宁静。

I2P让我着迷,因为它是匿名的。任何人都可以在I2P上运行任何东西 只要它能与TCP或UDP对话,并能忍受一些延迟。 确实:"网络就是计算机",而对于当下的破解水平来说,通信是真正私密的。

DIVA是为谁准备的?

DIVA得到了积极的发展,该项目是为以下人员准备的: 研究人员、软件开发者、创作者(作家、插图画家......)。 以及那些想在分布式技术领域学习真正新东西的人。

一旦DIVA成长起来--请不要问我什么时候--DIVA将成为一个完全分布式的、为每个人服务的、自托管的银行。

你能告诉我DIVA是做什么的吗?

如前所述,DIVA将是一个完全分布式的、自我托管的银行,为每个人。 "银行业务 "意味着:储蓄、支付、投资、贷款--所有那些大家每天都在做的事情。 请注意DIVA在没有任何中央基础设施的情况下工作,而且DIVA永远不会--只要我还有发言权--就不会DIVA就不会是一种或代币。不可能有任何中央商业模式的参与。 如果一个交易因为一个分布式基础设施的节点做了一些工作产生了费用,那么这些费用只会留在做这些工作的节点上。

为什么是 "银行"?因为财务自由和自主权是过上良好和平静生活的关键。 因此,人们应拥有自己的小而安全的技术栈,做他们喜欢做的事情而不被催促。

那么,请向基于I2P的DIVA问好吧。

你下一个的目标是什么?你的远期目标是什么?

有一个迫切的目标:了解最近在I2P中实施的SSU2的影响。 这是未来几周的技术目标。

然后,可能在今年:一些加密货币交易使用DIVA在测试网的加密货币交易。 请不要忘记。DIVA是一个研究项目,人们将会被激励着用DIVA做他们自己的事情--以他们需要的方式 它。 除了一些公开透明的测试网络之外,我们不会为其他人运行任何基础设施或类似的东西。 我们建议你通过社交网络与DIVA保持联系(twitter.com/@DigitalValueX) 。

我还想成为I2P社区一个重要的部分。 DIVA基于Divachain,而Divachain又是基于I2P的。 Divachain是一个全分布式存储层。因此,仅举一例:如果一些I2P 开发者认为一个完全分布式的、零信任的 DNS 将是是个好主意 - 那么,这就是divachain的另一个用例。分布式 - 零信任 - 完全匿名!

你负责的其他服务和贡献有哪些?

DIVA.EXCHANGE-开发DIVA的开放组织-几年来一直为I2P播种服务器。 所以几乎每个I2P用户过去曾以某种方式与我们联系。 只是一个小提示:DIVA.EXCHANGE reseed服务器提供洋葱服务-因此I2P引导可以通过tor网络完成- 至少我认为,进入安全网络前最好有一个额外的保护层网络。

DIVA还创建了I2P SAM库。 因此,开发人员可以创建任何基于I2P的现代应用。 它在github上越来越受欢迎。 github.com/diva-exchange/i2p-sam/。 它很完整,有很好的文档,并提供了很多样例。

您认为任何想为I2P网络做出贡献的人应该优先考虑哪些方面?

运行您的I2P节点。 体验不同的版本,如Docker版本的I2Pd,或其他适用于多个操作系统的安装程序。 有几种不同操作系统上的版本,重要的是要熟悉本地安装和配置。

然后:想想你的技能--网络技能、编程技能或者是沟通能力? I2P提供了许多有趣的挑战: 有网络技能的人可能想运行一个种子服务器 - 它们对网络非常重要。 程序员可以帮助开发Go、C++或Java版本的I2P。 而沟通者总是被需要的:从客观和现实的角度谈论I2P,这对我们帮助很大。每一点点都很重要。

Last but not least: if you are a researcher or student - please get in touch with us at DIVA.EXCHANGE or the I2P team - research work is important for I2P.

您认为I2P等工具的前景如何?

可能我得说一下前景:I2P对每个人都很重要。 我希望I2P社区--开发者、传播者等 - 始终受到少数人的激励,这些人深深感激他们在真正具有挑战性的技术上所做的努力。

我希望越来越多的开发者能看到开发基于I2P的软件的好处。 这将为终端用户创造更多的用例。 然后我也希望,I2P的核心程序保持简单,变得更多的解耦合。让我举个例子说明"去耦 "的意思:用户界面可能不应该由开发者负责。 因为具有丰富的知识和多年的经验的前端设计人员。 开发人员应该只是创建一个API,比如unix或websocket或REST接口,以便其他服务可以按照他们想要的方式使用该程序。 这使得开发者和终端用户都会很高兴。

您能告诉我一些您自己的I2P工作流吗?您自己的用例是什么?

我是一名开发人员、测试员和研究人员。所以我需要我所有的东西都在容器中,以保持灵活。 I2Pd在1...n个容器中运行在多个系统上,为以下内容提供服务:播种,运行diva.i2p网站,运行DIVA I2P测试网络的一部分--见testnet.diva.exchange,我也有容器来运行我的I2P和Tor组合浏览器。

I2P社区如何支持您的工作?

We are on social media, like twitter.com/@DigitalValueX - so follow us there. Additionally we would love to see even more involvement on github.com/diva-exchange - it already got more and more attention in the past months. Thanks a lot for that!

关键术语词汇表

I2P 团队

播种服务器

播种服务器需要用于引导,也就是说,为您的I2P节点提供初始的 I2P 节点,让您的 I2P 节点与之连接。 根据您的节点的状态,如果它知道的许多节点无法连接,它可能需要时不时地补种一下。

补种是通过加密连接完成的,所有的引导信息都是由你连接到的播种服务器签署的,这使得未经认证的来源不可能向你提供虚假的信息。

节点

A node or peer is part of a network of computers sharing resources. When you download and install I2P, you participate in routing traffic for others. Every person using I2P is a node or peer. In some cases. people can supply more bandwidth or resources than others to the network. However, peer diversity is important and the more people who use I2P, the stronger the network becomes. When it comes to setting up your node, you can customize and configure your connection and workflow with the I2P network.

I2Pd (I2Pdaemon)

I2Pd is a C++ implementation of the I2P protocol is differs from the I2P Java software in the following ways:

Java I2P has built-in applications for torrents, e-mail and so on. i2pd is just a router which you can use with other software through I2CP interface. i2pd does not require Java. It’s written in C++. i2pd consumes less memory and CPU. i2pd can be compiled everywhere gcc or clang presented (including Raspberry and routers). i2pd has some major optimizations for faster cryptography which leads to less consumption of processor time and energy.

Citation: https://i2pd.readthedocs.io/en/latest/user-guide/FAQ/ Site: https://i2pd.website/

In terms of the differences or benefits of using either the C++ or Java version of I2P, the question often comes up. Recently, idk responded to this question on the I2P subreddit. Ultimately, it depends on a persons own use case or desired workflow.

Easy-Install Bundle is the best way to use I2P on Windows for people just getting started. It will automatically get you from starting the router to successfully browsing, every time. However, it doesn’t register as a Windows service, so it’s not as good to use as a 24/7 transit node yet. It contains everything you need to browse, but it’s designed around using I2P interactively and not running services, necessarily.

i2pd on the other hand is very light and efficient and is designed expressly to run as a service. It’s great at being a 24/7 transit node, especially if you install it on your router, or on a Linux server somewhere. It’s got less tools built-in though, so if you want to torrent or browse, you will need to add those tools externally.

Diva 团队

Konrad has provided insight into of some of the terms used during the conversation.

每一个人的银行

The possibility to run locally installed software which is able to do everything a well-known bank can: send and receive payments for anything, give and receive loans, manage investments, etc. Such banking software shall neither be depending on any central software components nor supervised or censored by central components. It’s run and managed by its owner only with all its benefits and reliabilities. The network (see “Blockchain” and “Consensus”) tries to make sure that no network participant (a user running his own bank) is able to cheat.

Blockchain

A piece of software which is able to reliably store arbitrary data. Copies of the software and the storage space is distributed within a network of any size where the network participants do not necessarily trust each other (or maybe not even know each other). A synonym of “blockchain” is “Distributed Layer Technology (DLT)”. A blockchain has nothing to do with “coins” or “tokens”. These are just blockchain based applications. Blockchain is a base technology which mainly solves the problem of “trust & abuse” within a network.

Consensus

In a distributed system the majority of the participants need to agree on the state of data (the “truth, as defined by the majority” - from a data perspective). This is a continuous process driven by locally installed software and this is called consensus. There are multiple valid consensus algorithms available. Bottom line: all consensus algorithms cost something: CPU cycles, communication capacity etc. - in short: a bunch of data sets is the input and a single reliable, fully distributed data set valid for the majority in the network is the output.