La Petite Chaîne : Blockchain et PHP

in #blockchain6 years ago

tl;dr : Quelle idée saugrenue mais qu'est-ce qu'on l'aime cette idée !

Cette histoire a commencé lors de la phase de création du projet, l’époque où l’on ne s’appelait pas encore “le petit bloc” et où on ne pensait même pas créer quelque chose. Je crois même que nous n’étions pas loin de l’idée de génie de faire une ICO sur notre propre personne (c’est notre petit côté Elon Musk, on croit fort en nous).

  • Donc au départ l’idée de créer une Blockchain en PHP “for the PHun”(et aussi dans un but pédagogique) ;
  • Puis l’idée saugrenue de créer une Blockchain en PHP fait son bout de chemin ;
  • Alors on trouve cette idée de Blockchain en PHP de moins en moins saugrenue ;
  • Finalement on commence à créer une Blockchain en PHP.

Alors question : pourquoi ce projet ? Pour plusieurs raisons et la principale est assez logique pour nous en tant que développeurs : réellement comprendre le fonctionnement du Bitcoin et de ses dérivés. Le fait est que comme beaucoup de fans, nous comprenons la chose de manière globale voir un peu plus, mais comme énormément de personnes, nous n'en comprenons pas les rouages à 100%. Ce n’est pas forcément une honte de dire ça, le bitcoin est très complexe sur bien des aspects et à moins d'avoir clairement lu/suivi/pris le temps de comprendre le code, finalement peu de personnes savent comment tout ça fonctionne.

La seconde raison d'entamer ce projet, c’est celle de se concentrer sur la Blockchain du point de vue “protocole” et d’y apporter notre logique web du point de vue technique.

Bref, tout ça pour dire que ce projet avance et que par extension, les premières vraies questions commencent à arriver ; alors autant répondre à tout le monde de la même manière.

À qui s'adresse cette chaîne ?

Cette chaîne s'adresse aux personnes et sociétés souhaitant utiliser la technologie Blockchain pour d'autres aspects que la transaction financière. On pourrait même pousser le vice et dire dans un premier temps que cette chaîne sera destinée à être privée ou sous contrôle d'un consortium.

Rien n'empêchera de l'utiliser de manière publique à partir du moment où la totalité des éléments seront intégrés mais de manière très simple ; il faut savoir choisir ses priorités.
De plus la communauté PHP est très active et pourrait rapidement s'emparer d’un tel projet, ne serait-ce que pour la gouvernance interne de PHP.

Est-ce qu'il y aura des smart-contracts ?

Oui. Techniquement, un smart-contract est un langage de programmation (donc un Lexer associé à un Parser) et cela nous donne enfin une bonne excuse de nous essayer à la création d’un langage sur un projet concret. Donc réponse affirmative, nous aimerions y intégrer des smart contracts et essaierons de le faire.

Quels sont les éléments différenciateurs ?

En dehors de l'hérésie d'utiliser un langage interprété pour faire tourner la chaîne, voici les éléments les plus importants :

  • La possibilité de choisir un data storage "à la demande" : une forte couche d'abstraction permettra d'adapter la façon de stocker les transactions de la chaîne de manière différente. On pourra donc imaginer le plus simple (= des fichiers) comme le plus complexe (= une base de données décentralisée et/ou IPFS). Ce ne sera qu'un problème de "driver" au niveau persistence. On pourrait donc imaginer utiliser un système de bloc traditionnel, quelque chose orienté graph ou d'autres concepts comme une chaîne tressée (exemple : Nano).

  • Des approches "web" : tout ce que l'on fait dans le web en matière de qualité/échange sur les API et patterns. Je pense par exemple que l'Event Sourcing est quelque chose qui pourrait être très intéressant dans le cadre d'une Blockchain et j'aimerais donc intégrer ces patterns au projet.

Est-ce que les normes BIP/EIP/... seront intégrées ?

Les principales normes et standards BIP/EIP seront intégrés à partir du moment où ils peuvent techniquement être intégrés. C'est la spécialisation de la chaîne qui affecte le respect de ces standards. Nous suivons également d'autres projets d'interopérabilité et essaierons d’intégrer ces standards en devenir.

Concernant les smart-contracts, l'API sera à priori ISO avec celle d'Ethereum.

Est-ce que la chaîne sera open source ?

Oui, elle l'est d'ailleurs déjà (il faut que l'on se penche sur les README) mais nous ne souhaitons pas avoir de contribution pour le moment. Le projet suit son cours pour le moment est n'est même pas à considérer comme au stade alpha. Dès la première release en beta, vous pourrez contribuer dans la continuité de la roadmap ou tout simplement pour améliorer la qualité du code et cela nous fera énormément plaisir.

Et une fois qu'elle sera faite la chaîne ?

Pour faire simple, une fois que tout sera terminé pour la partie privée, il faudra passer à la partie consortium puis à la partie publique pour enfin créer des applications utiles.

De notre côté, le sujet qui nous intéresse le plus est le sujet du vote électronique et nous avons une vision très précise de ce que nous voyons pour cela, d'où nous comptons partir et où nous souhaitons arriver. Il existe déjà des projets autour de cette problématique mais nous y voyons toujours un problème parce qu'il manque toujours une composante ou une autre pour que la chaîne soit valable. Pour faire simple : tout ne peut pas être publique et tout ne peut pas être anonyme.

Nous aimerions également faire un essai "cryptomonnaie" mais plus "pour voir". Étant donné notre relation avec l'open source, si cet essai est fonctionnel, l'actif sera résolument tourné vers l'open source et l'aspect communautaire. Dans les faits, il sera même plus proche d’une love money que d’un réel actif.

En pratique la transaction est conçue pour porter des métadonnées, chaque usage ne consiste donc qu'à spécialiser les métadonnées. Sur cette base, tout est envisageable.

Pourquoi pas une ICO/Token Sale ?

On pourrait effectivement préparer un gros dossier de présentation de la chaîne et espérer ramasser beaucoup d'argent pour travailler dessus. Le fait est qu'à notre niveau, cela nous paraît un peu présomptueux car nous ne pouvons pas encore nous engager et dire "Le Petit Bloc va réussir à développer une Blockchain en PHP". Nous nous donnons les moyens d'y arriver mais du point de vue pratico-pratique, nous ne pouvons pas nous y engager.

C'est aussi une histoire de respect des investisseurs.

Comment nous aider ?

Le point qui vient contredit le précédent. Certaines sociétés ont déjà manifesté leur intérêt pour ce projet, la plupart du temps pour une raison simple : la chaîne est écrite avec des standards correspondant à ceux du web et la rend donc accessible aux développeurs web. Comme tout ça a plutôt le vent en poupe, vous imaginez donc bien qu’il est commercialement intéressant de pouvoir dire à son client : "nous avons développé notre chaîne et pouvons vous mettre ça en place".

On arrive donc sur le paradoxe du projet/de l'open source, des gens sont intéressés "quand cela sera terminé" mais personne ne nous donnera d'argent pour nous aider à dégager du temps pour ce projet. Le meilleur moyen de nous aider consiste donc tout simplement à parler du projet, à participer lors des lives (qui ont traditionnellement lieu le vendredi après-midi) et à nous assister de toutes les manières pour faire en sorte que ce projet ne soit plus uniquement le nôtre.

D'autres billets arrivent et nous travaillons sur "ce problème" (si on peut appeler le fait de recevoir de l'argent un problème) au travers d’un autre projet dont nous vous parlerons dans un billet dédié.

Conclusion

N'hésitez pas à nous laisser des commentaires si vous avez de questions, nous y répondrons avec la plus grande joie, la bouche en coeur et sourire banane.

Le Petit Bloc est une agence web dédiée aux technologies Blockchain. Pour en apprendre plus sur nous, vous pouvez consulter notre premier article et nous retrouver sur les médias suivants :

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.027
BTC 59139.97
ETH 2676.50
USDT 1.00
SBD 2.44