Esperanto

ĞMixer, kiel ĝi funkcias?

ĞMixer dependas de 3 antaŭaj teknologioj: mona miksaĵo, cepa kursigo kaj reto de fido. Ĉi tiu paĝo celas ebligi al ĉiuj kompreni ĉi tiojn.

Enhavtabelo
  1. Mona miksaĵo
  2. Cepa kursigo
  3. Reto de fido
  4. Miksi la teknologiojn

Mona miksaĵo

Kio ĝi estas?

Monaj miksiloj grandnombre aperis kun Bitcoin, nomitaj bitcoin mixer. La spezoj efektuiĝitaj en bitcoin ne estas anonimaj, sed ĉi tiuj servoj ebligas al la uzantojn anonimigi monon.

Kiel ĝi funkcias?

Alice kaj Bob estas du roluloj. Alice volas sendi sekrete 10 U al Bob (imagu ke U estas mona unuo).

La komputika protokolo de la mono necesigas ke la elspezantula kaj la enspezanta kontoj estu publikaj. Se la spezo estas traktada direkte, oni povas sekvi tion:

Alice direkte elspezas 10 U al Bob.

Por neebligi al homoj ligi la du kontojn, Alice necesas miksantan peranton. Se Alice volas elspezi sekrete al Bob, ŝi elspezos al miksilanto, kaj diros al ĝi ke ĝi devas elspezi al Bob.

Alice elspezas 10 U al miksanto, kiu sekve elspezas 10 U al Bob.

Tiel, ekstera observanto ne plu povas ligi niajn du amikojn. Tamen, observante la enspezojn kaj elspezojn de la miksanto, oni povas facile trovi la kompletajn spezojn, do oni necesas miksi multajn spezojn samtempe:

Alice, Dave kaj Elza volas elspezi 10 U respektive al Bob, Carole kaj Fred. Ĉiuj Alice, Dave kaj Elza elspezas 10 U al la miksanto, kiu tiam elspezas 10 U al ĉiuj Bob, Carole kaj Fred.

Tiel, unu spiono volante scii kiu elspezis 10 U al Bob ne povas distingi Alice, Dave kaj Elza, kiujn estas samprobable la origino de la spezo.

La problemo de la centreco

La antaŭa skemo anonimigas la spezon, sed unike por ekstera observanto. La miksanto ĉion scias, do ĝi povas vendi la datumojn de siaj klientoj sen konsento.

Por solvi ĉi tion problemon, kiun suferas la aktualaj miksiloj de bitcoin, ni necesas sencentrigi.

Cepa kursigo

Kio ĝi estas?

La teknologio de la cepa kursigo (onion routing) estis disvolvita por la projekto Tor: ĝi aktuale ebligas anonime kaj sencentre comuniki sur Internet, kaj eskapi la cenzuron.

Ŝlosiloj por kompreni

Unue, ni klarigu la bazoj de la kriptografio.

La simetria ĉifro estas kiam oni sekretigas mesaĝon (alivorte ĉifras) per unu ŝlosilo (pasvorto). Malĉifri kaj liri la mesaĝon necesas la saman ŝlosilon. La cryptographie symétrique, c'est quand on rend secret un message (on dit qu'on le chiffre) avec une clé (comme un mot de passe), et qu'il ne peut être déchiffré qu'avec ce même mot de passe. Le mot de passe est donc un secret partagé entre les participants. L'inconvénient, c'est qu'ils doivent se passer le mot de passe avant de communiquer, par un moyen sécurisé, ce qui parfois est impossible.

On a donc recours à la cryptographie asymétrique. Ici, chaque participant a une clé privée, en gros son mot de passe personnel, et une clé publique, qui peut être publiée sans danger. Il est possible de chiffrer un message avec la clé publique d'une personne, ainsi le message ne sera lisible qu'une fois déchiffré par la clé privée de cette personne. Il n'y a donc pas besoin de secret partagé, et quand même, c'est plus pratique.

Alice crée une clé privée qu'elle garde et une clé publique qu'elle donne à Bob. Bob écrit un message, le chiffre avec la clé publique d'Alice. Alice déchiffre le message secret avec sa clé privée, et le lit.

Kiel ĝi funkcias?

L'utilisation du routage en oignons nécessite l'existence d'un réseau de serveurs (appelés nœuds).

Mettons que je veuille envoyer un message à un serveur distant, sans que lui ni mon gouvernement ne me reconnaisse.

Je vais tout d'abord trouver 3 nœuds au hasard dans le réseau, puis les numéroter 1, 2 et 3.

Ensuite, je vais ajouter à mon message l'adresse du serveur que je veux contacter, et chiffrer mon message avec la clé publique du nœud 3. J'ajoute l'adresse du nœud 3 à côté et je chiffre le tout avec la clé publique du nœud 2. Et je recommence pour le nœud 1. J'obtiens un oignon constitué de 3 couches, avec en son cœur le message original.

J'envoie l'oignon au nœud 1, qui déchiffre la première couche, et ne pouvant pas aller plus loin, il envoie ce qui reste au nœud 2 dont je lui ai donné l'adresse. Le nœud 2 fait de même, idem pour le 3. Ce dernier envoie le message au destinataire, et la réponse de celui-ci suit le même protocole.

Tavoloj de la mesaĝo.

Avec un tel système, chaque nœud ne connaît que les deux autres autour de lui. Aucun ne peut reconstituer la chaîne complète, je suis donc anonyme, et mon message est protégé (je peux aussi le chiffrer pour mon destinataire, afin que le dernier nœud ne puisse le lire).

Reto de fido

Kio ĝi estas?

La toile de confiance (TdC en abrégé, web of trust ou WoT en anglais) est un outil permettant de prouver qu'une clé publique appartient effectivement à une identité donnée. On peut donc être quasiment certain qu'on envoie un message à la bonne personne, chiffré avec la bonne clé.

Il y a un truc que je ne vous ai pas dit à propos de la cryptographie asymétrique, c'est qu'en plus de chiffrer, elle permet de signer. C'est-à-dire qu'en appliquant ma propre clé privée sur un document, on peut être sûr grâce à ma clé publique que j'ai effectivement signé ce document.

Nous utiliserons aussi une propriété de la toile de confiance de Duniter, qui est que chaque identité est liée à une unique personne vivante, et qu'une personne vivante ne peut avoir plusieurs identités.

Kiel ĝi funkcias?

Une TdC fonctionne sur un principe simple : pour certifier l'authenticité d'une identité, je signe sa clé publique, et publie ma signature. Cela revient à dire publiquement "Oyez, je sais que cette clé publique est celle de cette personne.". Une fois qu'une identité a reçu plusieurs certifications, on peut être à peu près sûr de son authenticité, même sans la connaître.

La TdC de Duniter a une règle supplémentaire, qui est qu'on ne doit certifier que les personnes vivantes, possédant une seule identité et ayant compris les implications du fait d'avoir une identité dans cette TdC.

Miksi la teknologiojn

Nous sommes partis du mixeur de bitcoin qui présentait le fâcheux inconvénient d'être centralisé, et allons y ajouter les technologies du routage en oignons et de la toile de confiance.

Cepa kursigo

Au lieu de passer par un seul mixeur, nous pouvons utiliser le schéma du réseau Tor, c'est-à-dire faire passer la transaction par 3 nœuds différents, et mettre l'adresse du destinataire au cœur de l'oignon.

Alice (le client) construit le chemin. Elle envoie une requête de 3 couches au nœud 1, qui la vérifie et en envoie 2 couches au nœud 2, qui la vérifie et en envoie 1 couche au nœud 3, qui la vérifie et envoie une confirmation au nœud 2, qui confirme au nœud 1, qui confirme à Alice. Elle vérifie les confirmations, puis envoie la transaction au nœud 1, qui est relayée par les autres jusqu'à Bob.

Toutefois, cela crée un nouveau problème : un nœud peut voler l'argent qui lui est confié. Il faut donc un nouvel ingrédient...

Cepa kontrakto

Avant de confier de l'argent au réseau, j'envoie l'oignon contenant l'adresse aux nœuds que j'ai choisis, et ceux-ci me répondent chacun par une promesse signée, disant que si ils reçoivent ma transaction, ils s'engagent à la renvoyer dans un intervalle de temps donné, à l'adresse donnée. Si leurs promesses me conviennent, alors j'envoie l'argent.

Si jamais un nœud n'honore pas sa promesse, je peux la publier, et tout le monde pourra vérifier l'authenticité de sa signature. Si celle-ci est authentique, et que la promesse n'a réellement pas été honorée (tout le monde peut le vérifier dans l'historique public des transactions), alors les utilisateurs du réseau, ainsi que les nœuds eux-mêmes pourront se dire qu'ils refuseront toute transaction impliquant ce nœud fautif.

La clé publique du nœud étant liée à la réelle identité de son propriétaire, le vol est fortement découragé.