Possibilité de faire des paiements par SMS

Pour l’inscription j’ai associé “create_and_publish_identity.py” avec “send_membership.py”
Ca donne:

python3.5 ./sms_user_create.py Pouf Pouf Paf
Creating a client session outside of coroutine
client_session: <aiohttp.client.ClientSession object at 0x7f1b305de940>
{
“pubkey”: “FSDZTqtmHvSSE9ECeetLuChMtbKWrQYshgQxSc1ZcXCN”,
“uids”: ,
“signed”:
}
{
“signature”: “yMHWNCw/tDduCE0zF5m0VhoJI5BQ7Rs+sZHD3c+zE3wi0zUcgX11zN3VWeQBnEk6BXpQvXqp7NiAo7g6fvNQCA==”,
“membership”: {
“version”: “10”,
“currency”: “g1-test”,
“issuer”: “FSDZTqtmHvSSE9ECeetLuChMtbKWrQYshgQxSc1ZcXCN”,
“membership”: “IN”,
“date”: 0,
“sigDate”: 0,
“raw”: “Version: 10\nType: Membership\nCurrency: g1-test\nIssuer: FSDZTqtmHvSSE9ECeetLuChMtbKWrQYshgQxSc1ZcXCN\nBlock: 133840-0000664AB7A6CDC8648020180089FF38F22CC924AB85795FF59C2F2CE583D90A\nMembership: IN\nUserID: Paf\nCertTS: 133840-0000664AB7A6CDC8648020180089FF38F22CC924AB85795FF59C2F2CE583D90A\n”
}
}

Et j’ai le même problème à la connexion à Cesium… I am lost ;(

Alors attention ta screen ce n’est pas une erreur, c’est le message normal qui s’affiche lorsque le portefeuille sur lesquels tu te connecte à un historique vide, verse une GT dessus et tu verra que tu n’aura plus ce message :wink:

Pour le reste, si tu veut créer un dépot sur notre gitlab pour y travailler sur ton programme de traitement par sms n’hésite pas a me solliciter :slight_smile:

En revanche pour tout ce qui concerne l’api python je ne peut pas t’aider :confused:

1 Like

Je me disais bien qu’il fallait remplir le portefeuille… J’ai 100 GT pour jouer :wink: Je vais en envoyer 1 dans chaque nouveau portefeuille pour voir.

Un portefeuille simple, c’est juste une clef publique, créée à partir de credentials. Tu peux en créer à l’infini avec le script d’exemple :

examples/create_public_key.py

Ce script permet juste de vérifier les credentials d’une clef publique…

Mais pour que la clef publique soit stockée en piscine ou en blockchain, il faut qu’elle soit la source ou destination d’une opération. En l’occurrence une transaction.

Pour créer un portefeuille simple, il faut donc faire une transaction de ou vers cette clef. c’est tout.
Ne pas créer ni publier une identité, ne pas publier un document membership.

OK, c’est une transaction qui va inscrire la présence du portefeuille en blockchain!! Of Course :wink: J’ajoute ça à mon code…

YES!! Payer par SMS ça marche!
Je n’utilise finalement que silkaj pour lequel j’ai modifié les entrées / sorties pour interagir avec shell_exec() en php :wink:
Pour le moment j’utilise Twilio qui facture 16 cts / SMS (https://www.twilio.com/) !!
Il va falloir que j’utilise https://raspisms.raspbian-france.fr/ avec un dongle 3G et une SIM abonnement illimité pour baisser les coûts d’exploitation (mais je ne suis pas sûr que les opérateurs adorent…)

Enfin, on a un bon Proof Of Concept déjà :wink:
Pour essayer, il faut envoyer des SMS au 0644641280 :

  1. Pour créer un portefeuille:
    NOUV

Compte G1-Test
Identifiant: 06XXXXXXXX
Code : 1234
___ Utilisation ___
SOLDE 1234
PAYER 1234 06yyyyyyyy 3.40 Un commentaire
__ Portefeuille __
https://g1-test.duniter.fr/#/app/transfer/A1nxLW1aGzhHR3Azd4bZkToKUPnbZTKhcbFbFWXnac1o
____ LibreBankSMS ____
https://bank.madeinzion.org

  1. Pour lancer une transaction:
    PAYER 1234 06yyyyyyyy 3.40 Un commentaire

Transfert de 3.40 G1-Test réussi!
Solde : 134.30 G1-Test
____ LibreBankSMS ____
https://bank.madeinzion.org

Le destinataire 06yyyyyyyy ne reçoit pas encore de SMS de confirmation (pour raison de coût du SMS expédié)

  1. Pour connaitre le solde du compte
    SOLDE 1234

SOLDE (06XXXXXXXX)
Total : 134.30 G1-Test
___ LibreBank SMS ___
https://bank.madeinzion.org

On peut se connecter à Cesium https://g1-test.duniter.fr/
Salt = 06XXXXXXXX / Password = 1234 [ Numéro de téléphone / Code ]

@mamygeek, @elois, @vit, @Inso, @jytou, @nanocryk je vous invite à essayer…
Pourriez-vous certifier MadeInZion (ce compte offre 0.1 GT aux nouveaux inscrits) PubKey = A1nxLW1aGzhHR3Azd4bZkToKUPnbZTKhcbFbFWXnac1o

4 Likes

Attention, un compte ayant moins de 1 GT voit son solde mis à 0 (c’est un besoin technique). Juste pour être sûr que tu en es conscient.

Ah, non, je ne savais pas. Allez, je monte le premier virement à 1 GT

1 Like

Si je comprends bien, c’est un compte d’« entreprise » ou d’« association », pas un compte rattaché à une personne physique.
Dans l’idéal, on ne devrait pas le certifier, mais il pourrait se financer soit par des dons, soit en prélevant une partie de la monnaie transférée.

J’aimerais résumer ce que j’ai compris :

  • n’importe qui avec un numéro de téléphone peut se créer un compte, c’est ton système qui alloue un code PIN. J’avoue que j’aurais préféré laisser l’utilisateur choisir en faisant « NOUV 1234 ».
  • un utilisateur avec un compte peut envoyer de la monnaie à un autre utilisateur ayant aussi un compte, juste avec son numéro de tel.
  • ce compte doit être approvisionné séparément, un simple portefeuille contenant des clopinettes pour faire des petits paiements par SMS.

Le PIN pourrait être plus long, s’appeler « password » plutôt que PIN et même contenir de l’alphanumérique, car je crains que les gens confondent avec leur code PIN de SIM, Et on devrait pouvoir en changer plus tard, en cas de compte compromis par exemple.

Petite remarque : le lien en haut à gauche sur ton site renvoie vers Ğ1, pas Ğ-test, attention à ce que les gens n’essaient pas sur Ğ1…
Pour tester, est-ce que tu as un numéro où on peut envoyer de la monnaie ? Edit j’ai envoyé à ton numéro, ça a l’air de marcher. :slight_smile:
Bon par contre le PIN en dur dans le SMS c’est quand même pas très sécurisé, si ? C’est chiffré un SMS quand ça transite sur le réseau ?

PS: je connaissais pas raspisms, ça a l’air intéressant, ça !

1 Like

Tu as raison, ici il ne devrait pas y avoir de certifications vu que c’est juste un portefeuille qui sert à offrir son premier GT au nouveau portefeuille. Ce serait plutot un truc ala remuniter. Mais vu que c’est pour G1-Test, je pense que la certification sera plus simple…

  • n’importe qui avec un numéro de téléphone peut se créer un compte, c’est ton système qui alloue un code PIN. J’avoue que j’aurais préféré laisser l’utilisateur choisir en faisant « NOUV 1234 ».

oui. Le choix du PIN est fait par le serveur, mais pourquoi pas laisser l’utilisateur le définir.

  • un utilisateur avec un compte peut envoyer de la monnaie à un autre utilisateur ayant aussi un compte, juste avec son numéro de tel.

Exact. On pourrait aussi faire des transactions en utilisant l’UID si le compte est membre.

  • ce compte doit être approvisionné séparément, un simple portefeuille contenant des clopinettes pour faire des petits paiements par SMS.

Oui, c’est un wallet “spécial” pour envoyer/recevoir des transactions par SMS (du cash). Beaucoup moins sécurisé car le serveur mémorise le Salt/Password/Pubkey. Ainsi en forgeant le numéro appelant et en envoyant le bon PIN, on peut hijacker un Compte (mais c’est pas si simple)

Pour éviter une perte trop importante en cas d’action malveillante, le SMS Wallet pourrait se vider automatiquement vers le compte de l’utilisateur certifié au dessus d’un certain montant.

Le PIN pourrait être plus long, s’appeler « password » plutôt que PIN et même contenir de l’alphanumérique, car je crains que les gens confondent avec leur code PIN de SIM, Et on devrait pouvoir en changer plus tard, en cas de compte compromis par exemple.

J’ai conservé un PIN court pour qu’il reste simple à mémoriser. Ce service s’adresse aux gens sans smartphone ni compétences informatique (comme le PAYbyTEXT de la Bristol Pound)…
Cesium / Duniter pour accéder au compte certifié
LibreBankSMS pour avoir un porte monnaie compatible avec tous les gens qui ont un téléphone 2G.
On pourrait même faire un service vocal pour être compatible avec les téléphone filaires à cadran et en bakélite :wink:

Petite remarque : le lien en haut à gauche sur ton site renvoie vers Ğ1, pas Ğ-test, attention à ce que les gens n’essaient pas sur Ğ1…

Yes, je corrige

Pour tester, est-ce que tu as un numéro où on peut envoyer de la monnaie ? Edit j’ai envoyé à ton numéro, ça a l’air de marcher. :slight_smile:

C’est le Wallet du serveur SMS qui offre le premier GT, merci pour le cadeau :wink:

Bon par contre le PIN en dur dans le SMS c’est quand même pas très sécurisé, si ? C’est chiffré un SMS quand ça transite sur le réseau ?

La sécurité est moindre, mais plus importante que dans un porte-monnaie dans la poche arrière du pantalon :wink:

PS: Aucun système n’est sécurisé complêtement… Le jour où l’ordinateur quantique calcule plus vite que la lumière, les blockchain du monde entier se feront hijacker. On peut déjà s’amuser
Avec le réseau téléphonique: https://korben.info/rien-quavec-numero-de-telephone-possible-de-hacker-comptes-web-de-quelquun-twitter-facebook-whatsapp-etc.html
Les ports USB: https://blog.cygilant.com/blog/bid/352848/infected-usb-firmware-is-unstoppable
Les images qui exécutent du JS: http://www.qo-op.com/blog/2015/11/09/infecte-par-une-simple-image/
Et je ne parle pas de la dernière faille trouvée dans les processeurs qui pourrait nous faire naitre un Pearl Harbour numérique très bientot…
Heureusement, ce ne sont pas des pratiques courantes de la plupart des gens…

5 Likes

Oui c’est exactement l’idée que j’avais quand j’en parlais à l’époque avec @NicoLiuresa, qui voulait développer la même chose que toi mais je n’ai plus de nouvelles de sa part.

Aussi pour éviter les perte de monnaie liés aux erreurs de saisie du numéro, on avait imaginer le mécanisme suivant :

  • le destinataire de la monnaie reçoit un code
  • l’émetteur doit envoyer ce code au serveur sms pour finaliser la transaction.

Pour l’envoi vers des portefeuilles duniter classiques ce n’est évidemment pas possible de se prémunir des erreurs de saisie, faudra attendre qu’on intègre un mécanisme de checksum (protocokle v11).

Alors no, en réalité seules certains types précis de calculs se feront plus vite de manière quantique, d’autres types de calculs sont au contraire plus lent en quantique qu’en binaire, c’est pour cela qu’il est possible de concevoir des algos quantico-résistants :slight_smile:

Oui de toute façon le sms c’est unsafe de base, je pense que ça pourrait etre a l’instar de “paiement sans contact des CB” limité a de faibles montants.

3 Likes

Testé avec succès ! Bravo ! :tada:

Petites typos sur le site web :

la nouvelle crypto monnaie Ḡ1 comporte une innovation majeure !

Elle est co-produite par ses membres afin que tous partagent à parts égales la valeur ajoutée que la société produit.

1 Like

Si tu as des demandes sur Silkaj, il faut voir avec son génial créateur @Moul !

Tu vois @Moul, Silkaj est devenu incontournable maintenant, et ce n’est que le début ! :wink:

4 Likes

Quand on met son numéro dans inscription, il ne se passe rien chez moi, c’est normal ?

Le site web n’est pas terminé… Le formulaires ne déclenchent rien encore, il faut encore choisir à quoi ils servent :wink:

1 Like

Erf j’ai cru ^^ bon je m’amuserai plus tard avec :slight_smile:

Il y a qq trucs à discuter et régler avant de mettre en prod sur Ḡ1.

  • Les opérations réalisables par SMS ou Site Web
  • Les fonctions du site web (Inscription Newsletter, Administration du compte SMS, Envoi de transactions, Cloture de compte, Virement d’un compte à l’autre en cas de changement de téléphone? …)
  • Le coût et les financements des SMS (UNL et/ou G1)
  • La communication envers les membres actuels et les nouveaux.

Je pensais ouvrir ces discussions avec vous. Et @yann et @mathieuBize que je peux rencontrer sur Toulouse.

1 Like

@Frederic_Renault tu a oublier dans la liste la fiabilité technique, il vaut mieux avoir un programme solides et bien tester dans toutes les configurations prévues avant de vendre ton service a des utilisateurs lambda :slight_smile:

Ce serait déjà bien que tu partage ton code sur un dépot de notre gitlab comme je t’ai proposer (ou sur github si tu préfère) ainsi on pourrait t’aider, au moins en review :wink:

Mais avant cela réfléchi bien a la licence que tu souhaite apposer sur ton code, si c’est du copyleft tu pourra quand même dégager des revenu pour la fourniture du service (serveur sms), et de toute façon techniquement c’est facile a faire donc tu aura de la concurrence tôt ou tard !

2 Likes

Tu as raison, la fiabilité du code est importante!

En fait, je rêve du moment où on pourra se nourrir, se loger, se vêtir, se soigner, voyager en utilisant une monnaie libre. Ma motivation derrière la fourniture de ce service SMS et de faciliter l’usage quotidien de la Monnaie Libre par le plus grand nombre! Et ainsi atteindre ce stade de résilience économique…

Mais, comme tu le fait justement remarquer ce type de service est assez simple à développer (ça m’a prit 2 jours) et peut potentiellement dégager des revenus. D’où mon souhait de discuter avec la communauté de la meilleure façon de l’utiliser pour qu’il serve au mieux les objectifs…

Bien que je compte le faire, je pense qu’il est prématuré de publier le code en public tant que le cadre de son usage n’a pas été défini et accepté par la communauté (mais je peux te l’envoyer si tu veux y jeter un oeil :wink:

En plus il faudrait vraiment enlever le coût (UNL) trop important de Twilio (16cts/SMS!!)…

Il me semble que raspbian/sms et un certain opérateur au forfait à 2€ et SMS illimités pourrait être la solution. :wink: Dans un premier temps, il n’y aura probablement pas énormément de volume, et en tout cas un volume bien moindre que n’importe quel ado. :smiley: Je ne pense pas que ça poserait problème. Et le jour où le volume devient conséquent, il n’est jamais trop tard pour basculer sur une solution plus « pro ».

5 Likes