Flipstarter est une plateforme dĂ©centralisĂ©e de financement participatif dĂ©diĂ©e Ă lâĂ©cosystĂšme de la cryptomonnaie Bitcoin Cash (BCH). CrĂ©Ă©e en rĂ©ponse Ă la trĂšs controversĂ©e proposition de redirection dâune partie du revenu du minage ayant pour but de payer les dĂ©veloppeurs, la plateforme se veut ĂȘtre une alternative transparente et volontaire permettant aux dĂ©tenteurs de BCH les plus fortunĂ©s de coopĂ©rer pour soutenir Ă©conomiquement lâĂ©volution de la cryptomonnaie. Lâobjectif actuel de Flipstarter est dâapporter des fonds aux Ă©quipes en charge du dĂ©veloppement du protocole pour lâannĂ©e qui vient.
Â
Pourquoi Flipstarter ?
Le 22 janvier dernier, Jiang Zhuoer, le PDG de la coopĂ©rative miniĂšre chinoise BTC.TOP, a annoncĂ© la mise en place dâun « plan de financement de lâinfrastructure pour Bitcoin Cash » prĂ©voyant une redirection de 12,5 % de la rĂ©compense de bloc de Bitcoin Cash vers les Ă©quipes de dĂ©veloppement des implĂ©mentations logicielles. Cet Infrastructure Funding Plan (IFP) Ă©tait soutenu par certaines des plus grandes coopĂ©ratives de minage de bitcoins, Ă savoir Antpool, BTC.com, ViaBTC et, semblait-il, Bitcoin.com. Il devait ĂȘtre mis en place par le biais dâun soft fork appliquĂ© par les mineurs qui invaliderait tout bloc refusant cette mesure, Ă la maniĂšre dâune attaque des 51 %. Ce caractĂšre obligatoire aurait permis dâaller Ă lâencontre du problĂšme du passager clandestin, câest-Ă -dire de la situation oĂč seules quelques coopĂ©ratives miniĂšres se chargent de financer lâĂ©cosystĂšme tandis que les autres sont des « passagers clandestins » qui profitent des bĂ©nĂ©fices apportĂ©s sans y contribuer.
Lors de sa publication, lâidĂ©e a en apparence recueilli lâapprobation de beaucoup de dĂ©veloppeurs, dont Amaury SĂ©chet, le dĂ©veloppeur en chef de Bitcoin ABC. Celle-ci constituait aprĂšs tout un modĂšle de trĂ©sorerie comme on peut le retrouver dans dâautres protocoles comme Dash et Zcash, et rĂ©solvait le problĂšme de financement du dĂ©veloppement des implĂ©mentations qui sont des logiciels libres que chacun peut utiliser Ă sa guise et dont on ne peut pas en faire une exploitation commerciale classique.
Cependant, une vive opposition sâest rapidement dĂ©veloppĂ©e au sein de la communautĂ© de Bitcoin Cash et beaucoup de personnes qui soutenaient initialement lâIFP ont changĂ© dâavis. Le plan constituait en effet un profond changement des incitations Ă©conomiques de Bitcoin Cash et ouvrait une boĂźte de Pandore en inscrivant un arbitraire dangereux dans le protocole, ce qui remettait en cause une partie des bases culturelles de la communautĂ©. Lâopposition a donc Ă©tĂ© extrĂȘmement virulente et lâIFP, parfois qualifiĂ©e de « taxe sur le minage », a fait lâobjet de dĂ©bats enflammĂ©s Ă propos de ce quâest Bitcoin Cash et de ce quâon peut modifier ou non. Lâorganisation Bitcoin Unlimited sâest opposĂ©e en bloc, en sâengageant Ă procĂ©der Ă un hard fork si lâIFP Ă©tait activĂ©. De son cĂŽtĂ©, Bitcoin.com est revenu sur son soutien et Roger Ver a dĂ©clarĂ© quâil nâavait jamais explicitement donnĂ© son accord en premier lieu.
En dĂ©pit de la nature controversĂ©e de ce plan, Bitcoin ABC a persistĂ© dans son choix le 15 fĂ©vrier et lâa implĂ©mentĂ© dans son code de sorte Ă ce quâil soit activĂ© par le signalement des mineurs, Ă la maniĂšre du BIP9. Ce refus dâĂ©couter une partie de la communautĂ© a conduit Ă la crĂ©ation dâune implĂ©mentation concurrente, Bitcoin Cash Node (BCHN), ayant repris le code source de Bitcoin ABC et en ayant ĂŽtĂ© les changements relatifs Ă lâIFP. BCHN est une implĂ©mentation de nĆud adaptĂ©e pour les mineurs et gĂ©rĂ©e par un groupe de dĂ©veloppeurs ayant fait leurs preuves. Son dĂ©veloppeur en chef est freetrader, la personne qui avait participĂ© Ă la crĂ©ation de Bitcoin Cash avec Amaury SĂ©chet en 2017.
Â
Â
DĂšs le dĂ©but de ce mouvement dâopposition, une proposition de financement alternatif a Ă©mergĂ©. Le 26 janvier, le dĂ©veloppeur anonyme imaginary_username publiait un article dans lequel il expliquait quâentre le modĂšle de lâinvestissement par le capital-risque (tel quâil est rĂ©alisĂ© pour Bitcoin-BTC par exemple) et celui de la trĂ©sorerie interne (comme pour Dash ou Zcash), il en existait un troisiĂšme : le financement participatif. Il mettait notamment en avant le fait que les dĂ©tenteurs de BCH les plus fortunĂ©s avaient tout intĂ©rĂȘt Ă investir dans lâinfrastructure, puisque celle-ci participait au succĂšs Ă©conomique de Bitcoin Cash. Cet article a eu un certain succĂšs dans la communautĂ© et a rĂ©ussi Ă recueillir plus de 1000 $ de pourboires en bitcoins cash. Mais surtout, il a inspirĂ© ce qui allait devenir Flipstarter.
Flipstarter tire donc son origine de la protestation contre la proposition de financement par redirection du revenu du minage. La plateforme a Ă©tĂ© dĂ©veloppĂ©e par John Nieri et son Ă©quipe1 en seulement deux mois. AprĂšs une campagne fructueuse pour EatBCH, elle hĂ©berge aujourdâhui diffĂ©rentes campagnes de financement visant Ă rĂ©colter un total de 700 000 dollars pour les diffĂ©rentes implĂ©mentations logicielles de Bitcoin Cash.
Â
Une résurrection de Lighthouse, le projet de Mike Hearn
Flipstarter est donc une plateforme de financement participatif dĂ©diĂ©e Ă lâĂ©cosystĂšme de Bitcoin Cash. Plus que cela : il sâagit dâune plateforme qui fonctionne sur la blockchain de Bitcoin Cash, et qui utilise lâaspect programmable des transactions pour faire en sorte que le financement participatif ne repose pas sur un tiers de confiance. Flipstarter est donc une application dĂ©centralisĂ©e (ou du moins partiellement dĂ©centralisĂ©e) et se distingue de cette maniĂšre des plateformes de crowdfunding centralisĂ©es comme Kickstarter, Indiegogo ou Ulule.
Cependant, lâidĂ©e du financement participatif dĂ©centralisĂ© nâest pas une idĂ©e nouvelle et existe en rĂ©alitĂ© depuis les dĂ©buts de Bitcoin. Et Flipstarter nâest quâune rĂ©surrection de Lighthouse, un logiciel gĂ©rĂ© par le dĂ©veloppeur Mike Hearn en 2015.
Â
Â
Mike Hearn Ă©tait un dĂ©veloppeur pour Bitcoin entre 2010 et 2016. Il est connu pour avoir implĂ©mentĂ© le protocole Bitcoin en Java sous la forme de la bibliothĂšque bitcoinj, participĂ© Ă la crĂ©ation et Ă lâĂ©volution des portefeuilles lĂ©gers et aidĂ© Ă la conception du protocole de paiement BIP70.
Ayant dĂ©couvert Bitcoin au printemps 2009 et ayant interagi par courriel avec Satoshi Nakamoto, il sâest trĂšs rapidement intĂ©ressĂ© aux capacitĂ©s de dĂ©veloppement de contrats autonomes (smart contracts) sur Bitcoin. Câest donc tout naturellement que la possibilitĂ© de Bitcoin de gĂ©rer le financement participatif par des contrats de garantie (assurance contract) lui est apparu comme une chose essentielle Ă dĂ©velopper. DĂšs 2011, Mike Hearn Ă©crivait ainsi sur la page des contrats de Bitcoin Wiki :
Un contrat de garantie est une maniĂšre de financer la crĂ©ation dâun bien public, câest-Ă -dire dâun bien qui, une fois crĂ©Ă©, bĂ©nĂ©ficie Ă tous gratuitement. Lâexemple typique est celui dâun phare : bien que tout le monde puisse ĂȘtre dâaccord sur le fait quâil doit ĂȘtre construit, câest bien trop cher pour justifier quâun marin individuel en construise un, Ă©tant donnĂ© quâil bĂ©nĂ©ficiera Ă tous ses concurrents. Une solution est que tout le monde promette de payer pour la crĂ©ation du bien public, de sorte Ă ce que les promesses soient appliquĂ©es seulement si la valeur totale des promesses dĂ©passe le coĂ»t de crĂ©ation. Si le nombre de personnes qui contribuent nâest pas assez Ă©levĂ©, personne ne doit payer quoi que ce soit.
Â
Â
Son idĂ©e a marinĂ© pendant quelques annĂ©es, puis, en 2014, Mike Hearn a tentĂ© de la mettre en application. Lighthouse (nommĂ© en rĂ©fĂ©rence Ă lâexemple typique du phare) a Ă©tĂ© ainsi annoncĂ© le 17 mai 2014 lors de la confĂ©rence Bitcoin 2014 Ă Amsterdam. Son but affichĂ© Ă©tait de remplacer la Fondation Bitcoin, qui finançait Ă lâĂ©poque lâessentiel du dĂ©veloppement de lâĂ©cosystĂšme, mais qui Ă©tait critiquĂ©e en raison de son organisation hierarchique et de son opacitĂ©. Lighthouse reprĂ©sentait donc un moyen plus dĂ©centralisĂ© et transparent de soutenir les diffĂ©rents projets relatifs Ă Bitcoin.
Mike Hearn a formĂ© une entreprise, appelĂ©e Vinumeris, avec laquelle il a organisĂ© le dĂ©veloppement du logiciel Lighthouse. Une version alpha a Ă©tĂ© dĂ©voilĂ©e au public en septembre 2014, mais il a fallu attendre le 20 janvier 2015 pour la sortie dâune version bĂȘta complĂštement fonctionnelle.
Â
Â
La plateforme Lighthouse a suscitĂ© lâenthousiasme au sein de la communautĂ© mais nâa jamais Ă©tĂ© pleinement utilisĂ©e. Sur les campagnes qui ont eu lieu sur la plateforme, seules quelques unes sont arrivĂ©es Ă terme, et pour cause : il fallait tĂ©lĂ©charger un logiciel pour faire une promesse et chaque campagne Ă©tait limitĂ©e Ă 674 promesses.
Â
Â
Mais ce qui a sans doute enterrĂ© le projet, câest le dĂ©bat sur la scalabilitĂ© qui faisait rage Ă lâĂ©poque. Mike Hearn favorisait alors lâaugmentation de la taille des blocs et sâest dĂ©tournĂ© de Lighthouse pour se focaliser sur la rĂ©alisation de cette vision. Câest ainsi quâen aoĂ»t 2015, avec Gavin Andressen, il a crĂ©Ă© Bitcoin XT, une implĂ©mentation de Bitcoin concurrente de Bitcoin Core. NĂ©anmoins, malgrĂ© un soutien fort dans la communautĂ©, Bitcoin XT nâa pas rĂ©ussi Ă sâimposer comme lâimplĂ©mentation de rĂ©fĂ©rence, et Mike Hearn a finalement tirĂ© sa rĂ©vĂ©rence le 14 janvier 2016, interrompant par lĂ tout rapport avec Bitcoin. Lighthouse a alors dĂ©finitivement disparu de la scĂšne2.
Ă la suite de cet Ă©chec, le dĂ©veloppement de Bitcoin sâest tournĂ© vers le modĂšle de financement par le capital-risque, ce qui lâa rendu plus sensible Ă la logique du retour sur investissement, modĂšle qui nâest pas mauvais en soi, mais qui peut conduire Ă des conflits dâintĂ©rĂȘt Ă©vidents. Lâentreprise Blockstream, co-fondĂ©e fin 2014 par des dĂ©veloppeurs majeurs de Bitcoin Core, a ainsi levĂ© 55 millions de dollars en fĂ©vrier 2016 auprĂšs de sociĂ©tĂ©s dâinvestissement comme AXA Strategic Ventures, Digital Garage et Horizons Ventures. Elle a assumĂ© pendant longtemps la charge du financement des dĂ©veloppeurs, charge qui semble avoir aujourdâhui Ă©tĂ© reprise par Chaincode Labs.
Â
Comment fonctionne Flipstarter ?
Voyons à présent comment cela fonctionne techniquement.
LâidĂ©e de base de Flipstarter est de permettre Ă un ensemble dâinvestisseurs de financer un projet commun en se prĂ©munissant contre le problĂšme du passager clandestin. Chacun promet dâinvestir une certaine somme dans le projet Ă condition que les autres paient aussi : si toutes les parties concernĂ©es font cette promesse, le projet est financĂ© ; sinon, le projet nâest pas financĂ© et personne ne paie. Pour faire ceci il existe une fonction native de Bitcoin quâon appelle couramment anyone-can-pay.
Comme on le sait, dans Bitcoin Cash, les transaction sont toutes constituĂ©es dâentrĂ©es et de sorties. Sauf dans le cas de la transaction de rĂ©compense qui crĂ©e des nouveaux bitcoins cash, chaque entrĂ©e dĂ©pense la sortie dâune transaction prĂ©cĂ©dente. LâentrĂ©e est pour cela signĂ©e par le propriĂ©taire des fonds dĂ©pensĂ©s, et la signature rĂ©sultante est ensuite vĂ©rifiĂ©e par les nĆuds du rĂ©seau. Pour que la transaction soit valide, il faut que les signatures des entrĂ©es soient toutes valides.
Bien que la signature ne permette de dĂ©penser quâune seule entrĂ©e, lâutilisateur signe gĂ©nĂ©ralement toutes les donnĂ©es de la transaction, ce qui a pour consĂ©quence dâinvalider la signature produite si une partie de la transaction est modifiĂ©e. Cependant une transaction peut aussi ĂȘtre partiellement signĂ©e, et la signature ne concerne alors que des entrĂ©es et des sorties spĂ©cifiques.
Cela est fait rĂ©alisĂ© par lâintermĂ©diaire dâun champ prĂ©sent dans lâentrĂ©e de la transaction appelĂ© « type de signature » ou « type de hachage de la signature » (signature hash type), qui indique quelle partie de la transaction est hachĂ©e pour ĂȘtre ensuite soumise Ă lâalgorithme de signature3. Ce type de signature est ajoutĂ© Ă la fois Ă la transaction non signĂ©e (la prĂ©image) et Ă la signature elle-mĂȘme sous la forme dâun octet. Notez que tout ceci Ă©tait prĂ©sent dĂšs la crĂ©ation de Bitcoin et que Satoshi Nakamoto avait intĂ©grĂ© ce type de signature dans le code dâorigine.
Le type de signature est construit Ă partir de plusieurs signaux de signature quâon peut combiner (en les additionnant). Les 4 signaux de signature prĂ©sents dans Bitcoin Cash sont :
SIGHASH_ALL
(0x01
) qui indique que toutes les sorties sont signĂ©es. Il sâagit du signal de signature le plus utilisĂ© car, utilisĂ© seul, il englobe toutes les entrĂ©es et toutes les sorties de la transaction.SIGHASH_SINGLE
(0x03
) qui permet de ne signer quâune seule sortie.SIGHASH_NONE
(0x02
) qui indique quâaucune sortie nâest signĂ©e.SIGHASH_ANYONECANPAY
(0x80
) qui permet de ne signer quâune seule entrĂ©e.
Les trois signaux concernant les sorties peuvent ĂȘtre combinĂ©s avec SIGHASH_ANYONECANPAY
, ce qui permet de former finalement 6 types de signatures différents. Sur Bitcoin Cash, le type de signature est toujours combiné avec le modificateur SIGHASH_FORKID
de valeur 0x40
.
Â
Â
Ă lâaide de ces types de signatures, il est possible de rĂ©aliser un certain nombre de choses intĂ©ressantes, dont les transactions de financement participatif de Flipstarter.
Les transactions de Flipstarter sont des transactions anyone-can-pay dont les entrées sont signées avec SIGHASH_ALL | SIGHASH_ANYONECANPAY
. Chaque signature ne prend donc en compte que lâentrĂ©e concernĂ©e et les sorties de la transaction. Cela fait que la transaction nâest pas valide tant que la somme des montants en entrĂ©e nâest pas Ă©gale au montant en sortie (plus les frais de transaction). Ainsi, les contributeurs peuvent promettre de ne donner des fonds que si le montant cible est atteint.
Â
Â
Tant que la campagne nâest pas terminĂ©e, lâinvestisseur peut Ă tout moment annuler sa promesse en dĂ©pensant les fonds signĂ©s. Une campagne arrive Ă son terme lorsque les montants des contributions atteignent le but : la transaction est alors diffusĂ©e sur rĂ©seau et les coins sont dĂ©finitivement dĂ©pensĂ©s.
La levĂ©e de fonds a donc lieu grĂące Ă une seule transaction. Cela constitue un moyen simple et lĂ©ger, mais qui a ses propres limitations tant au niveau de la mise en relation des utilisateurs que du nombre de personnes pouvant participer (la taille dâune transaction standarde Ă©tant limitĂ©e Ă 100 ko).
Une premiĂšre campagne pour lâassociation caritative EatBCH a Ă©tĂ© rĂ©alisĂ©e en guise de premier essai. Elle a levĂ© 20 BCH (soit 3350 $) en moins dâune journĂ©e, grĂące Ă la participation de 17 personnes. Les destinataires des fonds Ă©taient les deux branches de lâassociation : 7 BCH ont Ă©tĂ© envoyĂ©s Ă EatBCH Venezuela et 13 BCH ont Ă©tĂ© reversĂ©s Ă EatBCH South Sudan. La transaction, visible sur la chaĂźne de blocs grĂące Ă son identifiant c0dcdd6fdf6068bb4bdf77de93217a1ba315da58234702526522bd324e61bc89, est reprĂ©sentĂ©e ci-dessous.
Â
Â
Â
Quelle destinée pour Flipstarter ?
Flipstarter a Ă©tĂ© annoncĂ© le 15 fĂ©vrier 2020, pour ĂȘtre lancĂ© le 17 avril dernier. Le systĂšme a donc Ă©tĂ© dĂ©veloppĂ© trĂšs rapidement, mais il est cependant fonctionnel : cinq campagnes ont lieu en ce moment mĂȘme pour rĂ©aliser le financement annuel des diffĂ©rentes implĂ©mentations de Bitcoin Cash. Les montants rĂ©coltĂ©s sont de 1000 BCH pour Bitcoin ABC, 978 BCH pour Bitcoin Cash Node, 360 BCH pour bchd, 241 BCH pour Bitcoin Verde et 460 BCH pour Knuth (Bitprim). Cela reprĂ©sente un total de 3039 BCH, soit 700 000 $ lors de son lancement le 17 avril.
Â
Â
La plateforme est pour le moment trĂšs minimaliste et lâexpĂ©rience utilisateur est loin dâĂȘtre optimale. Le mĂ©cĂšne doit ainsi interagir avec le site web Ă lâaide dâun plugin sur le portefeuille Electron Cash en copiant collant du texte de lâun Ă lâautre et vice versa. De plus, les portefeuilles matĂ©riels comme le Ledger Nano X ne peuvent pas ĂȘtre utilisĂ©s, puisque ceux-ci ne peuvent pas signer une transaction en anyone-can-pay. Enfin, comme on lâa dit, les limites internes du protocole font quâune campagne ne peut pas rĂ©unir plus de 670 contributeurs : il existe par consĂ©quent un montant minimal Ă promettre, ce qui empĂȘche les petits donateurs de participer. Pour remĂ©dier Ă tout ceci, les dĂ©veloppeurs de Flipstarter travaillent sur des contrats autonomes plus complexes utilisant le systĂšme de script de Bitcoin Cash.
Flipstarter est donc un moyen fonctionnel mais imparfait pour lever des fonds et il est lĂ©gitime de se demander si ce modĂšle rĂ©ussira Ă sâimposer ou si, comme pour Lighthouse, il tombera dans lâoubli et lâindiffĂ©rence. Heureusement, la communautĂ© de Bitcoin Cash nâest pas la derniĂšre Ă sâinvestir, comme le prouve la derniĂšre levĂ©e de fonds pour lâaudit et le dĂ©veloppement de CashFusion qui a rĂ©coltĂ© 100 000 dollars dĂ©but avril. De cette maniĂšre, il nâest pas impossible que ce type de financement devienne la nouvelle norme pour le financement du dĂ©veloppement de Bitcoin Cash. De plus, ce modĂšle fonctionne pour dâautres systĂšmes de cryptomonnaie, Ă lâinstar de Monero dont le dĂ©veloppement est financĂ© par des donations volontaires sans contrepartie.
De plus, si cela rĂ©ussit, le modĂšle de Flipstarter pourrait se populariser et devenir une maniĂšre commode de lever des fonds pour un projet spĂ©cifique nâayant aucun lien avec le dĂ©veloppement logiciel. Dans le milieu des protocoles crypto-Ă©conomiques, il existe en effet une multitude de projets dâutilitĂ© commune qui ne demandent quâĂ ĂȘtre financĂ©s mais qui ne peuvent pas faire ceci par le biais dâun financement par capital-risque ou dâune ICO : je pense notamment Ă lâadoption commerciale de la cryptomonnaies en gĂ©nĂ©ral. Au-delĂ de notre microcosme, ce type de financement pourrait, dans un futur plus lointain, sâĂ©tendre Ă des projets dâinfrastructures communes comme les logiciels libres, les routes publiques ou les fĂȘtes communales, et rĂ©soudre ainsi un certain nombre de problĂšmes qui sont actuellement rĂ©solus par la force lĂ©gale.
Toutefois, pour que ceci rĂ©ussisse il faut mener Ă bien les premiĂšres Ă©tapes. Si vous apprĂ©ciez Bitcoin Cash et que vous pouvez vous le permettre financiĂšrement, envisagez donc dâutiliser Flipstarter pour donner Ă Bitcoin ABC, Ă BCHN ou Ă une autre implĂ©mentation. Pour savoir comment procĂ©der, il existe ce tutoriel (en anglais) qui explique tout pas Ă pas. Il y a Ă©galement la vidĂ©o suivante, rĂ©alisĂ©e par John Moriarty.
Â
Â
La destinĂ©e de Flipstarter repose donc sur le comportement des dĂ©tenteurs de bitcoins cash : feront-ils lâeffort de participer, de se joindre Ă lâeffort commun, ou ignoreront-ils la possibilitĂ©, pourtant tout Ă fait rationnelle, de financer lâinfrastracture logicielle de la cryptomonnaie ? Lâavenir nous le dira.
Â
Notes
1. â Les principaux contributeurs au projet Flipstarter sont John Nieri (emergent_reasons), Jonathan Silverblood, Dagur, Sploit et Leandro Di Marco. LâidĂ©e originale provient de imaginary_username, qui a Ă©galement contribuĂ© en rĂ©alisant des traductions.
2. â Une tentative de reprise de Lighthouse sur Bitcoin Cash avait dĂ©jĂ eu lieu bien avant Flipstarter Ă travers Lighthouse.cash. Cependant, le projet a migrĂ© vers Bitcoin SV en novembre 2018 et semble avoir Ă©tĂ© abandonnĂ© depuis longtemps.
3. â Pour connaĂźtre tous les dĂ©tails sur ce sujet, vous pouvez lire mon article Comment envoyer une transaction Bitcoin Ă la main ?
Sources
Andreas M. Antonopoulos, Mastering Bitcoin: Programming the Open Blockchain, chapitre 6.
Mike Hearn, Contract page on Bitcoin Wiki.
Arianna Simpson, Game Theory, Assurance Contracts, and Crowdfunding with Bitcoin, 28 avril 2014.
Lighthouse FAQ
Mike Hearn, The resolution of the Bitcoin experiment, 14 janvier 2016.
imaginary_username, Assessment and proposal re: the Bitcoin Cash infrastructure funding situation (traduction : Ăvaluation et proposition en rĂ©ponse Ă la situation financiĂšre de Bitcoin Cash), 26 janvier 2020.
Introducing Flipstarter, 15 février 2020.