ShapeShift-cmd: Échangez vos Bitcoin/Altcoin ou Altcoin/Altcoin directement depuis vos PC


ShapeShift-cmd est un script écrit en Python3 qui se repose sur l'API fourni de ShapeShift.io pour lancer l'échanger depuis une autre plateforme en passant par le service de ShapeShift.
Le script est testé avec ces pairs d'échange: BTC/LTC, LTC/BTC, BTC/DOGE, DOGE/BTC, BTC/DASH and DAHS/BTC. Cependant, il ne supporte pas, jusqu'à ce moment, tous les échanges avec ou contre NXTCoin.
Ça sera réglé dans la prochaine version du script.
NB: Pour voir le statut de la transaction et de l'échange après la génération de l'adresse de dépôt fourni par ShapeShift.io, vous pouvez soi le voir avec ShapeShift-cmd ou bien sur leur site en visitant ce lien: https://shapeshift.io/txStat/ [adresse générée].

Source: Github

Aperçu du déroulement du script:






[Bitcoin/Altcoin]: Échangez vos Bitcoin/Altcoin instantanément en Altcoin/Bitcoin avec ShapeShift



La technologie de la Blockchain a révolutionné le web et elle ouvre à présent des nouveaux horizons pour les développeurs et aux commerçants du web.
Dans cet article, je vais vous présenter le service qu'offre le site ShapeShift.io qui permet d'échanger instantanément vos Bitcoin ou vos Altcoin en d'autre monnaie cryptographique. C'est à dire, par exemple, si vous voulez échanger quelques Bitcoin (ou fraction de Bitcoin) en Litecoin, ShapeShift facilitera la tâche et rend l'opération instantanée.
La méthode traditionnelle consiste à passer par un site d'échange comme Kraken et y déposer de l'argent par virement bancaire (Il y a certains site d'échange qui acceptent les cartes bancaires internationales comme cex.io) puis transformer votre argent en crypto-monnaie en faisant une offre d'achat d'une monnaie cryptographique ou bien accepter l'offre de vente d'un autre commerçant de crypto-monnaie désirée. Cependant, cette méthode d'échange n'est valide que pour les citoyens occidentaux (dans la majorité des sites d'échanges l'utilisateur doit vérifier son identité et indiquer son compte bancaire qui doit impérativement porter son vrai nom et son adresse postale) et elle est quasi impossible pour les résidents tunisiens et ceux du tiers monde vu que ces derniers ne peuvent ni faire des virements bancaires en devise internationale (Euro ou Dollar) vers un autre pays ou une organisation résidente dans un autre pays et ni prouver leur identité (la majorité de ces sites d'échange n'acceptent pas les résidents tunisiens lors du processus de vérification).

C'est pourquoi, Shapeshift offre une alternative très intéressante aux jeunes et investisseurs du  tiers monde qui veulent s'aventurer dans l'échange et le commerce de la crypto-monnaie.
Il suffi juste d'avoir accès à une seule forme de crypto-monnaie et de suivre la démarche que je vais vous présenter.

Voilà, supposons que je veux échanger quelques fractions de Bitcoin en Dodgecoin. Il suffi d'avoir un portefeuille Bitcoin alimenté avec un fond en Bitcoin et un autre portefeuille Dodgecoin.
Personnellement, j'utilise le portefeuille en ligne proposé par Blockchain.info sur mon ordinateur et le même portefeuille sur mon smartphone (portefeuille Blockchain sur Android) et j'utilise le portefeuille en ligne proposé par Dodgechain.info et j'utilise MultiCoin Bitcoin wallet sur mon smartphone pour les Altcoin.
Bien sûr, vous pouvez utilisez vos portefeuille préférés. L'essentiel c'est d'avoir accès à une seule forme de crypto-monnaie.

Échanger une fraction de Bitcoin en Dodgecoin: 

Tout d'abord, il faut ouvrir le site ShapeShift.io et choisir Bitcoin comme crypto-monnaie à déposer pour l'échange puis sélectionner Dodgecoin comme monnaie de réception après l'échange.
Il faut insérer l'adresse sur laquelle on va recevoir nos Dodgecoin après l'échange et sélectionner une adresse de Bitcoin sur laquelle on va recevoir nos Bitcoin en cas d'échec de l'échange (Cette adresse est facultative, mais qui sait parfois l'échange aboutira à une erreur. On la joue "safe" et on met une adresse de réception en cas d'échec ;-) ).
Si tout va bien, on clic sur : I agree et sur Start. Une nouvelle fenêtre s'ouvrira avec une adresse Bitcoin sur laquelle on va envoyer nos fonds en Bitcoin pour compléter l'échange.
Une fois le payement effectué et après avoir une seule confirmation de la validité de la transaction. ShapeShift.io vous envoie directement vos Dodgecoin à l'adresse de votre portefeuille insérée au début de l'échange.
Voilà des captures d'écran d'un échange que j'ai déjà fait:


Comme vous pouvez le voir, le prix d'échange est de : 1BTC = 1718534,4828 DODGE. Et que le dépôt de mes fonds en Bitcoin a été validé, l'échange a été validé et mes Dodgecoin ont été envoyé avec succès.
À noter aussi, que 1717,53448272 DODGE ont été envoyé sur mon adresse Dodgecoin.
C'est à dire: 1718534,4828/1717,53448272 = 0,001BTC = 1mBTC a été échangé. C'est exactement ce que j'ai envoyé à ShapeShift.io (J'ai envoyé 0,001BTC + 0,0001BTC frais des mineurs).

Je consulte mon portefeuille Dodgecoin:


Voilà, j'ai bien reçu mes Dodgecoin. Et si je consulte le BlockExplorer de Dodgecoin pour voir si la transaction a été confirmé par le réseau de Dodgecoin:



Voilà, tout est en ordre et j'ai 16 confirmation du réseau de Dodgecoin.
Maintenant, je veux faire une autre transaction et envoyer mes fonds sur mon portefeuille en ligne à mon portefeuille sur mon smartphone (les deux portefeuilles sont différents):

Comme vous pouvez le voir, j'ai inséré mon adresse Dodgecoin sur laquelle je vais recevoir mes Dodgecoin sur mon smartphone et j'ai inséré le montant que je vais envoyer.

Maintenant, on voit que la transaction a été bien confirmé et si je consulte mon portefeuille sur mon smartphone:
Voilà, encore une fois, j'ai bien reçu mes Dodgecoin!

Échanger une fraction de Bitcoin en Dashcoin:

Comme ce que j'ai fait lors de l'échange de mes fonds Bitcoin en Dodgecoin, je fais refaire la même procédure et échanger une fraction de Bitcoin en Dashcoin:


Comme vous pouvez le voir, j'ai envoyé mes fonds en Bitcoin et j'attends l'échange en Dashcoin.


Voilà, l'échange a été bien déroulé et normalement je dois recevoir mes Dashcoin.

Voilà, encore une fois, j'ai bien reçu mes Dashcoin et toute l'opération a bien déroulée.

Pour plus d'informations, veuillez laisser vos commentaires ou bien me contacter par e-mail. 

Pouvons-nous utiliser la technologie de “Blockchain” dans une autre application?



La courte réponse est: Oui !

Mais comment ?

Pour répondre, nous devrons comprendre le concept de la technologie de “Blockchain”.
La technologie de “Blockchain” repose sur un concept fondamental qui est la “Décentralisation”. Ceci dit,  aucun organisme (fédération, ou état etc...) et aucune tierce personne n'a le droit et la capacité de supervision de ce qui se passe au cours des transactions (envoi et réception des blocs qui constituent la “Blockchain”).

Pour arriver à ce stade de confiance entre les utilisateurs et le réseau de “Blockchain”, nous devons poser une question: Comment pouvons-nous arriver à un consensus entre des individus qui ne se connaissent pas en prenant compte que plusieurs d'entre eux ne sont pas sujet de confiance ?
Philosopher sur cette question pourra nous amener à donner plusieurs réponses et à visualiser plusieurs divergences. Dans la théorie de “Blockchain” et dans son application directe qui est la “Bitcoin” la réponse est donnée sous forme d'une seule question: Qui possède quoi au juste ?

Je m'explique.
La réponse/solution traditionnelle, dans notre monde actuel et avant l'arrivée de la technologie de “Blockchain”, est la nécessité de faire confiance à un organisme (état, banque centrale, tierces personnes, etc ...), et de ceci, on n'aura plus besoin d’avoir une confiance entre les individus. Tout se passe par cet organisme. Et nous devons faire confiance à cet organisme ... Un problème se pose ici: Cet organisme est t-il vraiment sujet de confiance ?
La révolution que la technologie de “Blockchain” a apportée, est de résoudre cette problématique sans avoir recours à faire confiance à aucun organisme. La complexité et la densité du réseau “Blockchain” est notre seule preuve de véracité et de confiance. Et la réalisation de ceci nous amène à fonder les bases d'une politique décentralisée.

Dans d'autres mots, La “Bitcoin” (comme l'une des applications directes de la technologie de “Blockchain”), permet de transférer de l'argent d'un individu/organisation/communauté à un(e) autre sans avoir besoin d'un contrat de validité de la transaction et sans avoir besoin de connaître l'identité ou le solde etc ... de ceux qui vont établir la transaction. Ceci est réalisable par la grande masse des ordinateurs dans le réseau de “Blockchain” qui vérifient la validité et le bon déroulement de chaque transaction (Le bloc des transactions est appelé “Blockchain”). Ces transactions seront sauvegardée à jamais, visibles et vérifiables par tout le monde dans le réseau et ailleurs du réseau.

Imaginons maintenant l'utilisation de cette technologie dans d'autres applications que la monnaie. Imaginons l'utilisation de cette technologie dans chaque domaine où la confiance est un pilier fondamental ? Je cite les exemples des contrats, preuves d'identités, propriétés, etc ...
Et si on essaie de résumer ce que je viens de dire: Nous sommes devant l'aube d'une technologie qui nous poussera à se passer des services des banques, organismes de confiance, etc ... Et surtout de passer d'un monde "centralisé" à un autre "décentralisé".

Une autre question qui se pose: Pourquoi devrons-nous passer à la "décentralisation"?
La réponse est simple: Ceci réduit les coûts, réduit les fraudes, accélère les transactions et réduit la bureaucratie.

Un nouveau ère décentralisé est à porté de mains !  

Bitcoin comme solution aux transferts d'argent en Afrique?


Le nombre de prestataires de paiements et de plateformes d'échange a explosé ces dernières années en Afrique. Traditionnellement la faible bancarisation, a privilégié des plateformes telles que Money Gram ou Western Union pour les transferts d'argent domestiques et internationaux. Le haut niveau de marge qu'elles réalisent en Afrique (8 à 12%) leur a permis de se positionner dans tous les pays du continent.

La donne a changé grâce à l'intégration progressive des solutions mobiles innovantes, le paiement mobile, les plates-formes de dons contre dons, les cartes prépayées sont les nouvelles solutions pour l'échange de valeur ou d'argent.

Dans ce contexte, les Bitcoins, qui permettent d'éliminer largement les coûts de transferts présentent un avantage certain. Les principales sociétés technologiques et de moyens de paiement convergent vers l'Afrique: Google, IBM, Microsoft, Nokia, MasterCard, Visa, etc; pour s'assurer une place dans l'un des "écosystèmes de paiement" les plus dynamiques et innovants qui soit.

Le potentiel a été démontré par le succès de la solution de paiement mobile M-Pesa lancée au Kenya il y a six ans. M-Pesa est à présent adopté par 70% des Kenyan et transfert l'équivalent de 30% du PIB chaque année. Ce leader du paiement mobile s'est exporté dans d'autres pays d'Afrique et a même été lancé plus tôt cette année en Inde.

Les entreprises internationales telles que MasterCard ne ne sont pas en reste. La société de paiement vient tout juste de réaliser son plus gros coup sur le continent. MasterCard s'est en effet associée avec l'état du Nigéria pour émettre de nouvelles cartes d'identité, intégrant les fonctionnalités de cartes de débit internationales.

Source: huffingtonpost

[Bitcoin] Les prix crachent au milieu d'un désaccord sur le Block Size



Le prix de Bitcoin a chuté de ~ 250$ à ~ 163$ sur l'interface d'échange Bitfinex autour de 17h00, heure du pacifique 18h08. La baisse de l'USD/BTC a été rapidement mis en miroir sur d'autres échanges de Bitcoin. Le prix de Bitcoin a, depuis cette baisse brusque, récupéré la gamme de 210-225$, mais il est toujours soumis à une grande forte de volatilité sur tous les échanges. Il est utile de rappeler que, dans les précédents échanges de Bitcoin dans le marché, le prix a baissé à une valeur proche de celui de BitFinex.

Le prix de Bitcoin baisse au milieu de la "dispute" sur la Blocksize

Pour simplifier la situation, la communauté Bitcoin a récemment été dans la tourmente perçue sur un fork potentiel en 2016. Les mots clés ici sont "perçu" et "2016". Je me réfère, actuellement, au réseau quand je dis que la communauté Bitcoin finira par décider entre BitcoinXT, BIP100, faire une autre chose, ou de rien faire. Malheureusement, la plupart des commentateurs dans les discussion publiques autour de Bitcoin affirment que la communauté Bitcoin elle-même est entrain de se déplacer vers des endroits tels-que v/Bitcoin ou Zapchain pour contourner la censure. Pendant ce temps, l'appel à des solutions décentralisées à la communication centralisée reste forte, en soulignant le fait que la technologie de Bitcoin et le Blockchain Bitcoin valent plus beaucoup que le prix de Bitcoin lui-même. Le réseau Bitcoin est censé être das le consensus et de parvenir à un consensus de manière décentralisée. Si BitcoinXT réussit, une continuation "légitime" de la Blockchain Bitcoin verra le jour.

Quelqu'un pourrait être la cause de ce crash du prix de Bitcoin

Il semble que la mauvaise couverture des grands médias sur le Bitcoin, le Blockchain Bitcoin en général et sur le futur potentiel d'un fork, ont eu un effet sur certaines grandes poches dans le marché Bitcoin. Parmi les bavardages de la communauté, cette hypothèse revient sans cesse. En effet, dans le passé, quand il y a eu un désaccord public sur l'avenir de Bitcoin, ces prix volatiles et accélérées ont écoulé une bonne quantité d'ancre et ce qui a causé encore plus d'instabilité et une forte volatilité du prix. Quant à la question de savoir quand le prix va augmenter, je la laisse aux experts de l'analyse techniques, dont je ne fais pas partie.

[Bitcoin] L'attaque aux cinquante et un pourcents




Si quelqu'un dispose de plus de la moitié de la puissance de calcul dédiée au minage sur le réseau Bitcoin, il obtient en théorie le pouvoir de refuser de valider certaines transactions, ou de faire des double dépenses.

Comment un tel attaquant s'y prendrait-il pour réaliser une attaque aux 51%?

Souvenez-vous que lorsqu'ils sont confrontés à deux blockchains différentes [1],les noeuds du réseau Bitcoin choisissent la plus longue comme étant légitime. L'idée était que la probabilité pour un noeud mal intentionné de fournir une suite de blocs plus longues que le reste du réseau est infime (cela revient à gagner plusieurs fois de suite à la loterie du minage).

Il en va tout autrement si ce noeud possède une grosse puissance de calcul, et s'il dépasse celle de tous les autres, il est même toujours capable de produire une chaîne plus longue que la chaîne courante, quitte à attendre suffisamment longtemps (parce qu'il mine plus souvent de blocs que les autres).

Pour refuser de valider une transaction, il lui suffirait de ne jamais l'inclure dans les blocs qu'il mine, et d'attendre d'avoir une chaîne plus longue que la chaîne courante (ce qui encore une fois arrivera fatalement vu sa puissance de calcul) pour la remplacer: quand bien même la transaction aurait été validée dans la chaîne courante, elle disparaître de l'historique puisque tous les clients vont basculer sur la nouvelle chaîne.

Pour dépenser deux fois les mêmes bitcoins [2], l'attaquant fait un premier paiement. Il attend que celui qui l'a reçu aie l'impression d'avoir été payé, mais pendant ce temps, il mine une chaîne qui démarre juste avant ce premier paiement et qui ne l'inclut pas, mais inclut un autre paiement avec les mêmes bitcoins vers un autre destinataire qui, quand la nouvelle chaîne aura pris le dessus, aura la certitude d'avoir été payé.

Il est à noter que lorsque l'attaquant mine en secret une chaîne plus longue de son côté, il peut faire en sorte que personne ne s'en rende compte avant qu'il n'ait réussi: il ne compte sur personne pour l'aider à la construire, il mine bloc par-dessus bloc.

Il faut nuancer

Cependant, tout ceci n'est pas si catastrophique que ça:


  • L'attaquant ne peut pas voler de bitcoins à qui que ce soit (tout au plus annuler un paiement)
  • Après la première ou la seconde entourloupe, il est probable que le réseau se rende compte de ce qui se passe. Les conséquences d'un tel événement sont incertaines, mais on peut imaginer que Bitcoin perde tout ou une partie de sa valeur. Pourquoi prendre ce risque alors qu'on a une puissance de calcul capable de capter plus de la moitié de la production quotidienne de bitcoins, qui représente à l'heure où j'écris ces lignes plus d'un million d'euros?
  • La puissance dont nous parlons ne consiste pas à mettre quelques ordinateurs en réseau pour miner ensemble: comme je l'ai mentionné dans un article précédent, il s'agit de plusieurs ordres de grandeurs au-dessus de plusieurs centaines des super-ordinateurs les plus puissants du monde cumulés: ceci est complètement irréalisable pour la plupart des humains ou groupes d'humains, et extrêmement difficile et coûteux, même pour un état.

[1] qui en pratique ne diffèrent que de quelques blocs [2] c'est-à-dire les "sorties" ou "outputs" de transactions reçues

Source: Blogchain

[Bitcoin] Clé publique, clé privée: Comment vos bitcoins sont protégés




J'ai mentionné à plusieurs reprises les notions de clé privée, clé publique et de signature. Tout ceci va devenir clair dans cet article, qui explique une des clefs de voûte du protocole Bitcoin.
Je ne rentrerai pas dans les détails mathématiques parce que ce blog est destiné à un public plus large que ce que cela impliquerait, mais de nombreuses explications détaillées par exemple de RSA existent sur le net.

Un coffre-fort avec deux clés

Une manière souvent convaincante d'expliquer de quoi il s'agit est d'imaginer que vous avez un coffre-fort avec deux clés. L'une d'elle, la clé publique, permet de l'ouvrir mais seulement pour y déposer quelque chose: vous ne pouvez rien prendre (un peu comme une boîte aux lettres, même si c'est beaucoup plus robuste, heureusement), mais vous pouvez y déposer des objets auxquels seule la propriétaire du coffre-fort aura accès. Cette dernière dispose seule de la seconde clé, la clé privée, qui permet de prendre n'importe quoi qui se trouve dans le coffre-fort.

Et concrètement?

Dans le monde de l'informatique, l'idée du coffre-fort n'est pas celle d'un objet lourd qui est difficile à transporter même si on avait réussi à y accéder:

  1. C'est un fichier au lieu d'un objet, c'est-à-dire que c'est une suite de 1 et de 0. 
  2. Ce fichier est public, au sens où tout le monde y a potentiellement accès et le propriétaire en est conscient.


L'idée est donc de chiffrer ce fichier, c'est-à-dire de le rendre incompréhensible à qui ne dispose pas de la clé privée, qui va permettre de le déchiffrer.
Comme vous l'avez peut-être déjà compris, ces deux opérations correspondent aux deux actions du coffre-fort:

  1. Chiffrer (puis envoyer) correspond à déposer un fichier 
  2. Déchiffrer correspond à récupérer un fichier.


Ce système s'appelle la cryptographie asymétrique, parce que la clé privée et la clé publique ne jouent pas le même rôle (dans le sens où une est publique et l'autre est privée). Pour autant, il est aussi possible de chiffrer un message avec la clé privée et de le déchiffrer avec la clé publique. L'intérêt de faire cela ne réside pas dans le caractère privé du message (n'importe qui peut le lire, puisque la clé publique est.. publique), mais dans la garantie que cela apporte que le message a bien été écrit par Alice. C'est exactement le concept de signature électronique que j'ai mentionné plusieurs fois.

Tout ceci ne s'applique pas qu'à Bitcoin, loin s'en faut, voici quelques exemples:

  1. Le protocole PGP (Pretty Good Privacy) pour chiffrer, déchiffrer et authentifier les courriels; 
  2. Le protocole SSL, qui permet d'avoir le fameux https auquel on vous a sûrement dit de faire attention lorsque vous faites par exemple des paiements en ligne; 
  3. Le protocole SSH, qui permet de se connecter à distance à un ordinateur en chiffrant les données échangées et en évitant d'avoir à rentrer un mot de passe (qui circulerait en clair sur le réseau, et serait donc facile à intercepter).


Le chiffrement

Le chiffrement se fait à l'aide de la clé publique, qui ressemble à ceci:

AAAAB3NzaC1yc2EAAAADAQABAAABAQCiKsw1qHVGSJTi6ntw1HO+FLyaP1Q/ZyZU+nt9IZco93vZTawdftxNCw87krYz+dC78GSLLrj3PFjyxkERZA9ftkUt0VNUUJrsUjp1658ey8kHG1YJfD9Gr3OUYQHCaHwsSZEcwPYcZ5ArtooDetnXdek71GYLFwAfJiSl62i0/BGaxOCvOP8djiFQ6P64pr2i/CyRAdtmJ2lkYKduHyjqmSr37q/s2rARxe+wOYSFU5yTyUodOA3qOxanrb4mYANs6N1xI4SV+EIwBkyRKX9z/T98z+rS4UgFzEkdXsfVGA+Ix7LuhOlBfI2V8Pw0PWHbdf36TZRGZXTVdpcrsotr
Alice peut donner se clé publique à n'importe qui sans aucun risque, tout ce que quelqu'un peut en faire, c'est chiffrer un message avec et lui envoyer.

Le déchiffrement

Le déchiffrement ne peut se faire que par le détenteur de la clé privée, qui ressemble par exemple à ceci:

+Pl+pASjyLG0DDGYSWjzogF0kBRCOroG78SYOPLAwnx4ILkXlpbI6eapBCliQJjw

SMwkaWQXdohJj7Rwr8nBbE1sHGw8Wq2palzEwwPTo1hQEPrDPM4yPl9104NBpn+X

I8iiLKJQPvkQG/sfHjemPAmrA+cVniQKQW8R7ga6EKaLamLqT1TCu+QShe5W+gSl

ulhCOEJZ5n4PE2Q1TjW+FKI4+j4OD445CYdGxP1c68vyDGBW12DiEk26sQ/z7tLa

pO71PfKIxA1P2cFMnQgWIB/ujDc4jWq7bHKV1v9S94GfIF5v8WIScjojIlZUvZm+

eFWq66EfV3t/JSrJT6GznK6xFS4KJ/r0QIS9PQOzBiXgWwSvcDr8/baElxTdhQDN

+adrjxV8vFjo+O0Gj3Xmgna4kpyqjPa1SSIDeRZjUlFduT0EknnkZvLrSZg8htD2 bZjUdUSZRjr/mM/9mqUDRnEgF918ras5f2eSOw1yV7FtipDcpBlFXe6sTPanqpZ6

nSqhBY6/RpZyyeopUyFpGSBYYW++5J04u2YRs2rQlQ3SnPFOjhih33q35mIZQFux

JuOSuvgwo2iX3Bbi7h2J3RlzC1VLJWf860LDkvEFU2KQtEPZf6sAjFPVbXd/ZEWb

nCOql2LTw/eGurnLJwxIWBTNCFAqm7GTvtgusdBAZho1klV4/mFqiWjHRM5gAHZg

7WL2Hhcb27Sj8MzeHDXwYEFdFkd7XMz8j9kPpRpazBAmpq1DrnRDpLJfeKhwZ+QN

Z1drlraTLRP6ldesQBFyD8i8qdYb6V/pOizKF65gwpWQ9fqMA5rhBNJpCC0gh9sZ

k9pcxNoBgrjYdCQuVkAe4yXxkSvOnAI7L2U0zOJ1jIx4gBQUkGj2sht5KMU4+Gem

4b57kWL2GrOBUiH0boJIsxRZjjAdGhy8UUpxXenRCEPOkAeUEhPjIZi1I3gcwrVH

hi8Weyooa354kmPlboXxZnkN0nLzAALBuoRjmfWRfiyEqOQmZwSkA9kK7AHxGDft

Xj1BCOHHR4kRkWWJ1wBijT1pNvD1UKlSg85/+4s3oSnJYqpKRqTZkS/vqcV1SnG/

xBdr7g6kkQLdOMadhv1oAiNJzGQIqvhGZiGOBN9qOjFYhNyip/dwW2bqd7GXSgGu

nqPZIlx437TJUZcyhT58oVLyyJm/wpZF2fHGCPgcFG62R4fwduhBQkLbdDJbBSTz

KirMNaIpeiTknOV7sjUBT1NaLgfoFpRMWUE6d4YpP3sE0gHtc2OQOlrMnbpQz04Q

Eql+Q2gCsjdXgEeFyLds3BvQIcHZnh0y8YT4KwX+ub9Ff1R4V0MgUQP9QpGMO+vY

RNk8TCDY6G0DCq13OpiGry3DJxro51S0DTrSdd39xmK+xymW6cPLd0Cu1vrWguoL

J3Ycbf18wL39wwyl5CcX8uVqvpnM4ZbpOtTv9nvIJx9OzW+0PbuLf5QlWFAP6fDA

IBVPdde04SEgg5Jtr+GpPtJp7f6IPSgCdF0TOg/Zj/asZM3mIQoU+AlOSEsHkt44

o5uF5O6JxNKr1o4qlRZXA7PpKQxIV4uTEaJ50+JWjo7GzyTDO8oGuhT/pYXHyAc4


Comment tout ceci est-il utilisé dans Bitcoin?

Lorsque vous créez un compte Bitcoin, par exemple lorsque vous utilisez pour la première fois un des nombreux logiciels de porte-monnaie Bitcoin (comme le client Bitcoin, Electrum, Mycelium, Blockchain.info), le logiciel commence par créer une paire clé privée/clé publique.

Votre clé privée a le contrôle de vos fonds, c'est donc à peu près aussi confidentiel que votre carte bleue et son code, et même pire: il faudrait quelques millisecondes à quelqu'un de bien organisé pour subtiliser l'intégralité de vos fonds une fois cette clé entre ses mains (alors que les cartes bleues ont habituellement un plafond). Il ne faut donc jamais, jamais, jamais donner votre clé privée à un site, ou vous l'envoyer par mail, ou même la laisser non chiffrée sur un ordinateur connecté à Internet.

Votre clé publique est obtenue comme un hash de votre clé privée. Elle constitue votre adresse Bitcoin, ou plus exactement une adresse Bitcoin (vous pouvez en avoir autant que vous voulez), celle que les gens vont utiliser pour vous envoyer des bitcoins.

Lorsque vous effectuez une transaction, vous devez signer les fonds que vous utilisez, qui ne sont en fait rien d'autres que les "sorties" de transactions précédentes qui vous ont été adressées. Ceci garantit que personne d'autre que vous ne peut dépenser votre argent.

J'ai de bonnes raisons de penser que ma clé privée risque d'être compromise dans un futur proche, que faire?

Créez immédiatement un nouveau compte Bitcoin et reversez tout votre solde dedans. Pas une seconde à perdre.

Comment sécuriser mon compte Bitcoin?

Une des meilleurs manières connues à ce jour de stocker ses Bitcoins à l'abri du vol est le "cold storage", ou "stockage à froid". L'idée est de placer une unique copie de votre clé privée en lieu sûr, par exemple sur un papier que vous mettez dans un coffre-fort (physique, cette fois), ou encore sur un ordinateur qui ne se connecte jamais à Internet. Comme ceci nécessite de dédier un ordinateur complet et n'est pas à l'abri d'une panne de disque dur, les gens choisissent en général le papier.

[1] Pour les petits malins qui pensent que je viens de révéler ma clé privée (ssh en l'occurrence), ne perdez pas votre temps: cette paire a été générée pour les besoins du blog et ne sera jamais utilisée pour autre chose :-)

Source: Blogchain

[Bitcoin] Le hash : Quelques utilisations avec les crypto-monnaies






Je sais ce que vous pensez en voyant le titre, mais même s'il m'arrivera de parler de drogues dans le futur (à l'occasion de l'histoire de Silk Road), il s'agit contrairement aux apparences d'un concept cryptographique: les fonctions de hachage.

Une fonction de hachage est typiquement une fonction mathématique qui transforme un objet potentiellement très gros et compliqué en une suite de caractères de taille fixe. Par exemple, la fonction sha256 (dont nous reparlerons ici) transforme ce pdf de la constitution française, qui fait 368 533 octets (sachant qu'il faut un octet pour coder un caractère de l'alphabet) en la chaîne de 64 caractères[1] suivante:

21b18f3d68e39167da331fd3dbbf22fc49bc9be221f32cfff1634ebc8999499b
Vous allez me dire, c'est génial, on a réduit la constitution française à 64 caractères. Par contre, on a perdu pas mal de choses en route.. on ne demandera pas aux juristes de travailler avec cette version réduite.

Effectivement, l'intérêt d'une fonction de hachage ne réside pas dans la préservation de l'information. En général, on utilise une fonction de hachage pour l'un des deux buts suivants:
- créer un index de peu d'objets mais chacun étant très complexe et sans numérotation évidente: ce n'est pas l'objet de cet article; - cacher une information tout en pouvant prouver qu'on la possède. Toutes les fonctions de hachage utilisées dans ce but ont la propriété essentielle qu'il est impossible de retrouver le texte qui a été haché à partir de son hash.

Ce deuxième but se retrouve par exemple lorsque vous enregistrez un mot de passe sur un site auquel vous vous inscrivez: si le site est un minimum sérieux, il ne va pas stocker votre mot de passe directement, mais son hash. Quand vous vous reconnectez au site, le site vous demande votre mot de passe, mais au lieu de le comparer avec ce qu'il a enregistré, il en calcule le hash et compare ce hash avec le hash qu'il avait enregistré. Quel intérêt?
Supposons que le site se fasse attaquer et que quelqu'un arrive à voler la base de données du site. Si elle contient tous les mots de passe, l'attaquant peut ensuite se faire passer pour vous sur ce site ou un autre sur lequel vous utiliseriez le même mot de passe. Si elle contient seulement les hashs, l'attaquant ne peut même pas se faire passer pour vous sur ce site: il est incapable de retrouver votre mot de passe à partir de son hash[2].

Preuve sans révélation d'information

Supposons que vous êtes un journaliste d'investigation (profession qui se fait rare, diront les mauvaises langues) qui dispose d'un document numérique confidentiel appartenant à une entité X, que vous voulez marchander contre une certaine information. Ne voulant pas risquer un guet-apens, vous convenez de vous retrouver sur un site de chat, couvrant votre adresse IP par Tor, et vous vous retrouvez face à un interlocuteur dont vous n'avez aucun moyen d'établir l'identité et donc l'affiliation à X. Il pourrait s'agir d'un service secret, ou de n'importe qui d'autre qui est intéressé par l'information. Vous ne voulez donc pas risquer de perdre votre atout en le donnant à n'importe qui, mais votre interlocuteur n'acceptera de parler que si vous lui prouvez que vous la détenez. La solution? Calculez le hash du document, et donnez le hash à votre interlocuteur.
  • S'il s'agit d'un imposteur: il lui est aussi facile de remonter au contenu que pour vous de retrouver la constitution à partir de 21b18f3d68e39167da331fd3dbbf22fc49bc9be221f32cfff1634ebc8999499b.
  • S'il s'agit de X: il saura immédiatemment, en calculant le hash de son côté, que vous ne bluffez pas.


Preuve de travail accompli

J'ai déjà parlé dans mon billet précédent des preuves de travail accompli, traduction libre du proof-of-work de Satoshi. Une des propriétés intéressantes qu'on attend d'une fonction de hash est que ses caractères soient équiprobables, c'est-à-dire qu'étant donné une suite de caractères aléatoire, la probabilité que disons la i-ème lettre du hash de cette suite de caractères soit un 0, un 1, ..., un e, un f soit la même en hexadécimal (1 / 16). Dans ce cas, supposons que je cherche un hash qui commence par un zéro en prenant le hash d'un texte généré au hasard (par exemple un nombre). Il me faudra en moyenne 16 essais avant de réussir.
Supposons à présent que je veuille un hash qui commence par 10 zéros. Il me faudra alors en moyenne 16^10 essais avant de réussir. Et ainsi de suite.
L'idée de Satoshi pour implémenter la preuve de travail est de demander aux mineurs de produire un hash d'un nombre aléatoire concaténé avec des informations spécifiques au mineur et au bloc et d'ajuster la difficulté du minage pour maintenir une production régulière de blocs (et donc de la récompense associée) toutes les dix minutes, en faisant augmenter le nombre de zéros à obtenir au fur et à mesure que la puissance totale fournie augmente.

Établir une chronologie

J'ai un peu mis sous le tapis la question de comment savoir si un nouveau bloc proposé sur le réseau a bien été miné après le dernier bloc de la blockchain actuelle. Pourquoi est-ce important? Supposons que l'on ne vérifie pour accepter un bloc que le fait que toutes les transactions qui figurent dedans sont valides étant donné l'historique; autrement dit que personne ne redépense deux fois de l'argent, ou ne dépense de l'argent qu'il ne possède pas.
Cela ne suffit pas.
Un mineur peut très bien créer un bloc contenant une seule transaction sûre, par exemple entre des comptes qu'il possède lui-même et qui ne pourront pas changer de solde sans son intervention. Il mine ce bloc longtemps à l'avance, sans être en compétition avec qui que ce soit, et puis dès qu'il l'a trouvé, il le propose au réseau. Le réseau l'accepte et le mineur touche la récompense. Ce comportement est nuisible au réseau puisque le mineur ne joue pas son rôle de validation des transactions, mais se comporte en "parasite" en touchant simplement la récompense. En gros, au lieu que tous les mineurs travaillent au prochain bloc, et que l'un d'eux gagne à la lotterie, tous les mineurs jouent à une lotterie différente en parallèle.
Pour éviter cela, le protocole Bitcoin demande au mineur d'inclure un hash du bloc précédent dans la chaîne de caractères sur laquelle il fait la preuve de travail. Ainsi, il n'est pas possible de commencer à travailler au minage du bloc actuel avant que le bloc précédent n'ait été miné: cela impose une chronologie (le mineur n'ayant pas plus de moyen de deviner le hash du prochain bloc que de retrouver la constitution à partir de la chaîne précédente...).

[1] Il s'agit de la représentation en hexadécimal, soit en base 16, pour laquelle chaque symbole code un nombre entre 0 et 2^4-1=15, il en faut donc 256/4 = 64 pour obtenir 256 bits [2] Sauf bien sûr si vous utilisez un mot de passe courant, par exemple "123456" ou "password" ou encore un mot du dictionnaire avec un numéro à la fin: la première chose que l'attaquant fera sera de calculer le hash de tout un tas de mots de passe connus, pour voir si votre hash correspond à l'un d'eux. Vous comprenez maintenant pourquoi on vous demande toujours de choisir un mot de passe compliqué..

Source: Blogchain

[Bitcoin] Le minage





Si vous avez suivi la dernière fois, j'expliquais que toutes les transactions entre les utilisateurs de Bitcoin sont répertoriées dans un registre commun, la blockchain.

Après avoir écarté la possibilité de créer de fausses transactions des comptes d'autres personnes vers le sien, il n'est pas encore clair de savoir comment les transactions, même valides, sont ajoutées à la blockchain.

Ce problème est difficile à résoudre dans la mesure où il faut que des milliers d'individus (ou plus exactement, leurs ordinateurs) se mettent d'accord sur une séquence de transactions. L'ordre précis est important, par exemple pour éviter la situation où Alice et Bob ont chacun les blockchains suivantes:

Alice:


Charlie envoie 1 BTC à Alice

Alice envoie 1 BTC à Bob
et Bob:

Alice envoie 1 BTC à Bob

Charlie envoie 1 BTC à Alice

Dans le premier cas il est clair qu'Alice possède assez pour donner 1 bitcoin à Bob (en supposant que Charlie possédait ce bitcoin), dans le second cela l'est moins.
En réalité, une transaction n'est valide que dans un contexte donné: pour savoir si elle l'est réellement, la liste de toutes les transactions dans l'ordre dans lequel elles se sont produites est nécessaire.
En d'autres termes, s'il est nécessaire que tous aient le même ensemble de transactions, ce n'est pas suffisant: Il faut en plus qu'elles soient dans le bon ordre.

Il faut donc un consensus global sur ce qui constitue la vraie blockchain, avec une liste de transactions valides dans un ordre immuable.

La Preuve de Travail Accompli

L'inventeur de Bitcoin, Satoshi Nakamoto, a choisi d'utiliser le concept de preuve de travail accompli (PTA [1]), pour réaliser ce consensus.

L'idée est que les transactions vont être regroupées par blocs (d'où le nom de blockchain).
Pour construire un bloc, il faut trouver une solution à un problème mathématique très compliqué, conçu de telle sorte qu'en moyenne, lorsque tous les membres du réseau essaient de le résoudre, une personne y arrive toutes les dix minutes environ. L'avantage de ce problème est qu'il très facile de vérifier une solution une fois qu'elle a été trouvée. Ainsi, lorsque Alice prétend l'avoir résolu, elle envoie sa solution à tout le monde. Lorsque disons Bob la reçoit, il vérifie qu'elle est correcte et alors seulement il l'ajoute à sa blockchain.
Par consensus, Alice reçoit en contribuant un bloc à la blockchain


  • un montant fixe en bitcoin qui ne dépend que du moment où elle a trouvé le bloc (en ce moment, 25 bitcoins par bloc);
  • des commissions versées par ceux qui effectuent les transactions.

L'opération consistant à chercher des blocs (et donc des solutions de problèmes mathématiques associés) s'appelle le minage, par analogie avec l'or: comme pour le métal précieux, il contribue à l'augmentation de la masse de Bitcoins en circulation et demande beaucoup d'efforts.

Qu'est-ce qui empêche Bob de voler la solution d'Alice pour lui voler sa récompense?

En réalité, le problème mathématique à résoudre n'est pas le même pour chacun, même s'il est du même niveau de difficulté. Je rentrerai dans les détails dans un autre article pour ne pas perdre trop de monde, mais il suffit de comprendre qu'en voyant la solution, on sait immédiatement que le problème résolu est celui d'Alice et que la récompense lui revient.

Et si Bob reçoit en même temps deux blocs B1 et B2 contenant des solutions valides?

Bob ne peut pas les recevoir exactement en même temps, mais il est possible qu'il les reçoive à un très petit intervalle de temps. Dans ce cas, il choisit le premier qu'il a reçu, disons B1, et continue à miner par-dessus la blockchain ainsi augmentée.
Il est tout à fait possible qu'au même moment, Charlie ait reçu les deux mêmes blocs, mais avec B2 en premier.
On se retrouve alors dans la situation d'un fork: deux blockchains coexistent.

Bien sûr, si cette situation venait à durer, ce serait catastrophique: il n'y aurait plus de consensus sur qui a quoi, et il serait possible de dépenser deux fois le même argent, par exemple:

Blockchain 1 (ce qui est entre parenthèses est pour information, mais pas dans la blockchain comme expliqué dans l'article Premiers pas):

---

Bloc de X

(Jeanine a 0 BTC)

Jean-Paul envoie 1 BTC à Jeanine

---

Bloc de Alice

Jeanine envoie 1 BTC à Joséphine

---
Blockchain 2:
---

Bloc de X

(Jeanine a 0 BTC)

Jean-Paul envoie 1 BTC à Jeanine

---

Bloc de Alice

Jeanine envoie 1 BTC à Jean-Claude

---
Dans cette situation, le même bitcoin a été envoyé à Joséphine et Jean-Claude! Cela est possible parce qu'ils utilisent des blockchains différentes.

Heureusement, cette situation ne va pas durer: quelqu'un va finir par miner un nouveau bloc par-dessus une des deux blockchains, qui deviendra donc plus longue, et les mineurs vont abandonner la blockchain plus courte. Bien sûr, il pourrait de nouveau y avoir deux blocs minés quasiment en même temps, mais la probabilité que cela se produise deux fois de suite est très faible, et devient astronomiquement petite très rapidement [2].

Dès lors, le meilleur moyen pour être sûr qu'on n'a pas été payé en monnaie de singe est d'attendre que quelques blocs supplémentaires aient été minés (on entend souvent parler de confirmations). Si on est paranoïaque, attendre 6 confirmations (soit une heure) garantit avec une certitude quasi-absolue que l'on est sur la blockchain principale.

Ah bon? Et pourquoi les mineurs abandonneraient-ils la blockchain la plus courte?

Parce qu'ils y ont intérêt: les seuls bitcoins qui ont de la valeur sont ceux qui sont sur la chaîne principale, les autres sont comme un chèque raturé: personne n'en veut.

Or, l'hypothèse que fait Satoshi, et qui s'est révélée tout à fait raisonnable, est que la majorité des ordinateurs du réseau joue le jeu de garder la chaîne la plus longue: la blockchain principale s'établit par consensus majoritaire. Les mathématiques empêchent alors quelqu'un qui est en minorité d'avoir suffisament de puissance de calcul pour miner des blocs plus vite que le reste des utilisateurs.

Mais si je possède plus de la moitié des ordinateurs du réseau, je peux choisir la blockchain principale?

Si vous possédez la majorité des ordinateurs du réseau, vous pouvez effectivement tricher, mais pas tant que ça: vous pouvez redépenser plusieurs fois des bitcoins, mais vous ne pouvez ni en créer ni en voler à qui que ce soit.

De plus, quelqu'un va très rapidement se rendre compte que vous faites cela, et le bitcoin risque de perdre toute sa valeur. Vous avez bien plus intérêt à miner en suivant les règles avec toute cette puissance de calcul, vous deviendrez riche rapidement!

Oui, mais je suis juste méchant et je veux juste détruire le réseau Bitcoin

Ok, pas de souci, mais préparez-vous à de solides investissements. D'après Forbes [3], en Novembre 2013, la puissance totale des ordinateurs du réseau Bitcoin dépassait par un facteur 256 les 500 plus puissants superordinateurs du monde! Même si vous avez la carte adhérent à la Fnac, ça risque d'être ric-rac, comme on dit.
En plus d'être méchant, vous avez donc intérêt à être vraiment très très très riche.

La suite au prochain épisode!


  1.  Proof of Work en anglais
  2. J'essaierai de couvrir ce point un de ces jours. Mais comme toujours, j'essaie de ne pas parler de tout en même temps :-)
  3. http://www.forbes.com/sites/reuvencohen/2013/11/28/global-bitcoin-computing-power-now-256-times-faster-than-top-500-supercomputers-combined/
Source: Blogchain

[Bitcoin] Découverte de Bitcoin par la blockchain



Tout comme Internet en son temps, Bitcoin est avant tout une invention technique et donc pas toujours facile d'abord pour qui ne passe pas sa vie le nez dans l'informatique; et même pour ceux-là, il n'a rien d'évident.

La vocation des premiers articles de ce site sera d'expliquer différents aspects du protocole Bitcoin de manière la plus simple et la plus claire possible.
N'hésitez pas à m'écrire pour me demander des précisions.

Pour commencer, je m'efforcerai d'expliquer ce qu'est la "blockchain" éponyme. Afin de ne pas tout expliquer en même temps, je vous demande pour cette partie d'accepter temporairement que "Bitcoin" est une monnaie virtuelle, avec des comptes qui contiennent un certain nombre de "bitcoins", et qu'on peut envoyer des bitcoins d'un compte à l'autre en utilisant (un peu comme pour les mails) des "adresses".

Bitcoin est décentralisé

La notion clé à comprendre pour aborder Bitcoin est qu'il s'agit de quelque chose de décentralisé.

Est décentralisé ce qui n'est pas centralisé. Par exemple, lorsque vous téléphonez à quelqu'un, votre téléphone communique à votre opérateur le numéro de votre correspondant, qui se charge de vous mettre en relation (pensez aux opérateurs que l'on voit dans les vieux films, qui branchent et débranchent des fils pour connecter deux interlocuteurs).
L'opérateur est un intermédiaire obligatoire, commun à tous les utilisateurs.
C'est aussi un point de faiblesse: si l'opérateur a des problèmes techniques (ce qui vous est sûrement arrivé, j'en fais le pari), un grand nombre d'usagers peuvent perdre la possibilité de communiquer.
On dit que le réseau téléphonique est centralisé.

Une autre analogie qui parlera certainement aux plus jeunes de mes lecteurs est le téléchargement: lorsque vous achetez un morceau de musique sur iTunes, c'est un processus centralisé: ce sont les serveurs d'Apple qui valident votre achat et vous envoient le morceau.
Par contre, lorsque vous téléchargez un film sur le réseau BitTorrent, il n'y a pas d'interlocuteur privilégié: vous récupérez des morceaux de votre film depuis des ordinateurs de particuliers comme vous. Aucun de ces particuliers n'a le pouvoir de valider le fait que vous puissiez télécharger ce film, parce que personne en particulier n'est indispensable: tout au plus un particulier peut-il refuser de vous envoyer un bout de film, mais qu'importe, puisque quelqu'un d'autre vous l'enverra.
BitTorrent est appelé un réseau pair-à-pair.

De même, dans le cas du réseau Bitcoin, il n'y a pas d'autorité suprême; il est la somme de ses utilisateurs, rien de plus, rien de moins. Si tout le monde s'en déconnecte, il cesse d'exister; tant qu'il y a une personne qui le fait fonctionner, il reste là.

Il est dès lors naturel de se demander qui tient le registre de qui possède quoi, et qui valide les transactions.

La blockchain

L'idée est que tous les utilisateurs possèdent le registre de toutes les transactions entre les utilisateurs de Bitcoin. Ce registre est exactement le même, à la virgule près, pour tout le monde, du moins en première approximation (je reviendrai sur ce point très vite). On l'appelle la blockchain.

Remarquons tout de suite que cela suffit pour savoir ce que chacun possède. Par exemple, imaginons qu'au temps t=0, A possède 3 bitcoin (BTC), et B et C en possèdent 0, et que la blockchain ressemble à ceci:

    A envoie 3 BTC à B

    B envoie 2 BTC à C

    C envoie 1 BTC à A
Il est alors immédiat de déduire que A possède 3 - 3 + 1 = 1 BTC, B possède 0 + 3 - 2 = 1 BTC et C possède 0 + 2 - 1 = 1 BTC. Par conséquent, la blockchain ne contient pas le solde actuel des comptes, mais seulement la liste des transactions. Une propriété inviolable de la blockchain est que toutes les transactions qui y sont inscrites sont possibles, c'est-à-dire que personne ne dépense une quantité de bitcoins qu'il n'a pas reçue auparavant. Je délègue à un article ultérieur une explication de comment cela est garanti. Vous avez sans doute sur le bout des lèvres la question suivante: Mais qui a le droit d'écrire sur la blockchain? Qu'est-ce qui m'empêche d'inventer une transaction du compte de Crésus vers le mien et de l'ajouter à la fin de la blockchain? Je vous ai dit tout à l'heure que tout le monde dispose d'une copie de la blockchain, il faut donc bien que quand elle est mise à jour, les changements se répercutent sur les copies de chacun des utilisateurs. La réponse à la seconde question va donc être: vous pouvez inventer une telle transaction, mais personne ne va accepter de l'ajouter à la blockchain parce qu'il vous manque l'autorisation de transférer les fonds de Crésus. En effet, chaque compte dispose d'une clé privée seule habilitée à débloquer des fonds. Je consacrerai un article ultérieur à expliquer cela avec un peu plus de détails, mais pour l'instant, disons qu'en fait la blockchain ressemble plutôt à ça:

    A envoie 3 BTC à B <signature de A>
    B envoie 2 BTC à C <signature de B>
    C envoie 1 BTC à A <signature de C>

où les signatures ont la propriété que:

  1.  on ne peut fabriquer une signature de X que si l'on possède la clé privée de X; 
  2. en connaissant l'adresse de X, on peut vérifier que c'est bien X qui a signé;
  3.  on ne peut pas déduire d'une signature de X sa clé privée. 
Il apparaît à ce stade que seul le propriétaire d'un compte peut en dépenser des fonds. Il reste plein de problèmes:

  1.  Une fois que A a créé une transaction pour payer B, comment la propage-t-il à tous les membres du réseau Bitcoin? 
  2. Comment se mettre d'accord pour que tout le monde continue à avoir le même registre?
  3.  Comment empêcher que le réseau ne soit noyé dans des fausses demandes de transaction, par exemple en cas d'attaque? 
  4. Ou pour qu'il n'y ait pas quelqu'un qui fasse des millions de transactions de milliardièmes de bitcoins, toutes légitimes, mais ayant le même effet de noyer le réseau?



Source: Blogchain

Streaming: Bitcoin: The end of money as we know it [english] - 2015



Bitcoin: The End Of Money As We Know It traces the history of money from the bartering societies of the ancient world to the trading floors of Wall St. The documentary exposes the practices of central banks and the dubious financial actors who brought the world to its knees in the last crisis. It highlights the Government influence on the money creation process and how it causes inflation. Moreover, this film explains how most money we use today is created out of thin air by banks when they create debt. Epic in scope, this film examines the patterns of technological innovation and questions everything you thought you knew about money. Is Bitcoin an alternative to national currencies backed by debt? Will Bitcoin and cryptocurrency spark a revolution in how we use money peer to peer? Is it a gift to criminals? Or is it the next bubble waiting to burst? If you trust in your money just as it is - this film has news for you.
- Written by Torsten Hoffmann