add DivaExchange MYM draft
This commit is contained in:
@ -0,0 +1,347 @@
|
||||
{% trans -%}
|
||||
==================================
|
||||
Meet your Maintainer: DivaExchange
|
||||
==================================
|
||||
{%- endtrans %}
|
||||
.. meta::
|
||||
:author: sadie
|
||||
:date: 2022-09-26
|
||||
:category: general
|
||||
:excerpt: {% trans %}A conversation with DivaExchange{% endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
*In this second installment of Meet Your Maintainer, I reached out to
|
||||
Konrad from DIVA.EXCHANGE to talk about DIVA’s research and services.
|
||||
DIVA.EXCHANGE is developing software with the goal of providing free
|
||||
banking technology for everyone. It is secure without a central
|
||||
infrastructure, and based on blockchain and I2P technology.*
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}What got you interested in I2P?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
About 10 years ago I had a presentation for “Technologieforum Zug” - a
|
||||
very local technology network for business guys. I was introducing I2P
|
||||
and Tor as overlay networks to them - to show them that other
|
||||
interesting things exist out there.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
I was always very much interested in cryptography related technology. In
|
||||
general I can say that my core interests were and still are: networks,
|
||||
freedom and privacy on both a technical and social level, interesting
|
||||
algos, like HashCash between 2000 and 2010, which was a very well
|
||||
working Proof-of-Work algo created at Universities in the UK in the late
|
||||
90’s.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
I2P fascinated me because it is really carefully done - from the
|
||||
architecture to the implementation in Java and C++. Personally I prefer
|
||||
de-coupled and small programs doing one thing. Hence I was pretty
|
||||
fascinated by the C++ version, I2Pd, which is lean, fast and without
|
||||
dependencies. It works very well for me.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}What are the qualities in its technical capacity that aligned with
|
||||
your own work or interests?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
I adore craftsmanship. That’s art. And I2P is modern craftsmanship. I2P
|
||||
creates values for end users values which can’t be bought: autonomy,
|
||||
liberty and serenity.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
I2P fascinates me because it’s agnostic. Anyone can run anything on I2P
|
||||
as long as it talks TCP or UDP - and can handle some latency. Really:
|
||||
“the network is the computer” and the communication is truly private
|
||||
according to the current state of knowledge.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Who is DIVA for?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
DIVA gets actively developed and therefore the project is for
|
||||
researchers, software developers, communicators (writers, illustrators…)
|
||||
and for people who want to learn really new stuff in the area of
|
||||
distributed technology.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
Once DIVA grows up - please don’t ask me when - DIVA will be a fully
|
||||
distributed, self-hosted bank for everyone.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Can you tell me about what DIVA does?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
As said, DIVA will be a fully distributed, self-hosted bank for
|
||||
everyone. “Banking” means: savings, payments, investments, loans - so
|
||||
all that stuff everybody is doing everyday. Please note in this context:
|
||||
DIVA works without any central infrastructure and DIVA will never - as
|
||||
long as I have something to say - be a coin or token. There can’t be any
|
||||
central business model involved. If a transaction creates fees because a
|
||||
node of the distributed infrastructure did some work, then these fees
|
||||
remain at the node which did the work.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
Why a “bank”? Because financial liberty and autonomy is key to live a
|
||||
good and peaceful life and to be able to make all those smaller and
|
||||
larger daily decisions in freedom. Therefore people shall own their
|
||||
small and secure technology components to do whatever they like to do
|
||||
without being nudged.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
Well, say hello to DIVA, based on I2P.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}What are your upcoming goals? What are your stretch goals?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
There is a very close goal: understanding the impact of SSU2 which has
|
||||
been lately implemented in I2P. This is a technical goal for the next
|
||||
few weeks.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
Then, probably this year: some cryptocurrency transactions using DIVA on
|
||||
testnets. Please don’t forget: DIVA is a research project and people
|
||||
shall be motivated to do their own stuff with DIVA - the way they need
|
||||
it. We don’t run any infrastructure or alike for others except some
|
||||
transparent test networks to increase the knowledge and wisdom of
|
||||
everyone. It’s recommended to stay in touch with DIVA via social
|
||||
networks
|
||||
(`twitter.com/@DigitalValueX <http://twitter.com/@DigitalValueX>`__) or
|
||||
chats to be inspired what to do with DIVA.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
I also want to touch an important part for the I2P community: DIVA is
|
||||
based on divachain - which is then based on I2P. Divachain is a very
|
||||
generic fully distributed storage layer. So, just as an example: if some
|
||||
I2P developer believes that a fully distributed, trustless DNS would be
|
||||
a great idea - well, that’s yet another use case of divachain. Fully
|
||||
distributed - no trust needed - all anonymous.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}What are some of the other services and contributions you are
|
||||
responsible for?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
DIVA.EXCHANGE - which is the open association developing DIVA - runs a
|
||||
reseed server for I2P since a few years. So probably almost every I2P
|
||||
user got somehow in touch with us in the past. Just a note: the
|
||||
DIVA.EXCHANGE reseed server is also available as .onion service - so I2P
|
||||
bootstrapping can be done via the tor network - which is, at least from
|
||||
my perspective, an additional protection layer while entering the
|
||||
network.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
DIVA has also created an I2P SAM library. So developers can create any
|
||||
modern application based on I2P. It’s on github and getting more and
|
||||
more popular:
|
||||
`github.com/diva-exchange/i2p-sam/ <http://github.com/diva-exchange/i2p-sam/>`__.
|
||||
It’s complete, well documented and offers lots of examples.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}What are some of the priorities you think that anyone who wants to
|
||||
contribute to the I2P network should consider?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
Run your I2P node. Take a look at the different flavours, like Docker
|
||||
versions of I2Pd, or other installs available for multiple operating
|
||||
systems. There are several flavours available and it’s important to be
|
||||
comfortable with the local installation and configuration.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
Then: think about your skills - networking skills, programming skills,
|
||||
communication skills? I2P offers lots of interesting challenges: people
|
||||
with networking skills might want to run a reseed server - they are very
|
||||
important to the network. Programmers might help with the Go, C++ or
|
||||
Java version of I2P. And communicators are always needed: talking about
|
||||
I2P from an objective and realistic perspective is helping a lot. Every
|
||||
little bit is great.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
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.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Where do you see the conversation and outlook on tools like I2P now?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
Probably I have to say something about the outlook: I2P is important to
|
||||
everyone. I hope that the I2P community - developers, communicators,
|
||||
etc. - remains motivated by the few which deeply appreciate their hard
|
||||
work on truly challenging technology.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
I hope that more and more developers see the benefit to develop software
|
||||
based on I2P. Because this would create more use cases for end users.
|
||||
Then I also hope, that the core I2P programs remain simple and become
|
||||
maybe even more de-coupled. Let me make an example what I mean with
|
||||
“de-coupled”: user interfaces probably should not be baked into
|
||||
applications by developers - because there are front end designers which
|
||||
do have great knowledge and years of experience. Developers should just
|
||||
create an API, like a unix or websocket or a REST interface, so that
|
||||
other services can use the program the way they want it. This makes
|
||||
developers and end users happy.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Can you tell me a bit about your own I2P workflow? What are your own
|
||||
use cases?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
I am a developer, tester and researcher. So I need all my stuff in
|
||||
containers to remain flexible. I2Pd is running in 1..n containers on
|
||||
multiple systems to serve stuff like: feeding reseed requests, serving
|
||||
the diva.i2p test website, running parts of the DIVA I2P test network -
|
||||
see testnet.diva.exchange and I also have containers to serve my local
|
||||
browsers as a combined I2P and Tor proxy.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}How can the I2P community support your work?{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
We are on social media, like
|
||||
`twitter.com/@DigitalValueX <http://twitter.com/@DigitalValueX>`__ - so
|
||||
follow us there. Additionally we would love to see even more involvement
|
||||
on `github.com/diva-exchange <http://github.com/diva-exchange>`__ - it
|
||||
already got more and more attention in the past months. Thanks a lot for
|
||||
that!
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Glossary Of Key Terms{%- endtrans %}**
|
||||
|
||||
**{% trans -%}I2P Terms{%- endtrans %}**
|
||||
|
||||
**{% trans -%}Reseed Host{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
Reseed hosts are needed to for bootstrapping, that is, providing the
|
||||
initial set of I2P nodes for your I2P node to talk to. Depending on the
|
||||
status of your node it may need to bootstrap every now and then if many
|
||||
of the nodes it knows of aren’t contactable.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
Reseeding is done over an encrypted connection and all of the bootstrap
|
||||
information is signed by the reseed host you connect to, making it
|
||||
impossible for an unauthenticated source to provide you with false
|
||||
information.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Node/Peer{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
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.
|
||||
{%- endtrans %}
|
||||
|
||||
**I2Pd (I2Pdaemon)**
|
||||
|
||||
{% trans -%}
|
||||
I2Pd is a C++ implementation of the I2P protocol is differs from the I2P
|
||||
Java software in the following ways:
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
*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.*
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
Citation: https://i2pd.readthedocs.io/en/latest/user-guide/FAQ/ Site:
|
||||
https://i2pd.website/
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
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.
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
*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.*
|
||||
{%- endtrans %}
|
||||
|
||||
{% trans -%}
|
||||
*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.*
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Diva Terms{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
Konrad has provided insight into of some of the terms used during the
|
||||
conversation.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Bank for Everyone{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
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.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Blockchain{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
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.
|
||||
{%- endtrans %}
|
||||
|
||||
**{% trans -%}Consensus{%- endtrans %}**
|
||||
|
||||
{% trans -%}
|
||||
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.
|
||||
{%- endtrans %}
|
Reference in New Issue
Block a user