Comment exploiter bitcoin gratuitement avec google bigquery – bitcoin newswire local bitcoin

Les mineurs de crypto-monnaie sont toujours à la recherche d’un moyen d’économiser sur les coûts d’électricité. Parfois, cela implique le financement d’énormes opérations minières se déplaçant dans les petites villes pour tirer profit de l’hydroélectricité bon marché, ou le développement d’installations obscures de forage minier qui utilisent Teslas ou la chaleur du corps humain comme source d’énergie.

BigQuery est un outil d’analyse de données développé par Google qui permet à quiconque d’analyser jusqu’à 1 téraoctet de données gratuitement chaque mois. Selon le blog de Shaked, après avoir assisté à une réunion de développeurs de Bitcoin en Israël le mois dernier, il s’est demandé s’il pouvait trouver un moyen d’utiliser ses compétences BigQuery. Bitcoin minière.

Avant de plonger dans la façon dont Shaked a rendu cela possible, un petit historique sur Bitcoin.


Un nouveau bloc est ajouté à la chaîne de blocs Bitcoin toutes les 10 minutes en moyenne, et contient deux types principaux de données: un en-tête et une liste de toutes les transactions Bitcoin qui se sont produites depuis le dernier bloc. L’en-tête consiste en 80 octets de données et extrait un Bloc Bitcoin implique essentiellement de deviner le bon nombre qui aboutit au hachage cryptographique correct de l’en-tête du bloc. Ce nombre de quatre octets est appelé un nonce.

Ce processus de recherche d’un nonce est accompli en utilisant une puce informatique personnalisée appelée ASIC qui est optimisée pour exécuter l’algorithme de hachage Bitcoin aussi vite que possible. Bien que ces puces sont extrêmement efficaces à Bitcoin minière, l’électricité nécessaire pour alimenter l’ASIC est incroyablement élevée. En fait, à ce stade, une seule transaction Bitcoin nécessite la même quantité d’énergie que celle utilisée par une maison moyenne en une semaine. En conséquence, les mineurs sont toujours à la recherche de sources d’énergie moins chères.

Entrez BigQuery, l’outil basé sur le cloud de Google pour analyser le contenu de jeux de données massifs. La façon dont BigQuery fonctionne est un jeu de données est téléchargé sur les serveurs de Google, puis un utilisateur peut exécuter des commandes SQL (SQL est un langage de programmation conçu pour manipuler et rechercher des ensembles de données) pour comprendre ce qu’il y a dans les données. Pour donner un exemple simple, disons qu’une entreprise avait un énorme ensemble de données sur les achats et les retours de ses clients et voulait connaître le délai moyen entre un achat et un retour pour un article particulier. Il pourrait charger ces données dans BigQuery, écrire ces paramètres de recherche en utilisant SQL et obtenir un résultat rapide.

Pour comprendre comment exploiter Bitcoin avec BigQuery, Shaked a d’abord sélectionné un bloc aléatoire de la chaîne de blocs Bitcoin et utilisé BigQuery pour transformer l’en-tête codé en hexadécimal du bloc en binaire à l’aide de la fonction de hachage SHA-256. Cela prouvait qu’il pouvait vérifier les hachages de blocs Bitcoin en utilisant BigQuery, mais s’il voulait exploiter Bitcoin, Shaked devait trouver comment deviner le nonce de nouveaux blocs, pas seulement vérifier le nonce pour les blocs précédemment minés.

Pour ce faire, Shaked a d’abord fait un test où il a essayé de reproduire le nonce d’un bloc précédemment miné. Un nonce est composé de quatre octets et chaque octet peut être représenté par une valeur comprise entre 0 et 255. Shaked a donc développé une requête qui chercherait essentiellement les valeurs 0 à 255 pour chacun des quatre octets jusqu’à ce qu’il trouve la bonne combinaison de quatre octets pour ce bloc.

Pourtant, comme l’a découvert Shaked, ce processus était lent. Il a fallu environ 30 secondes pour trouver un seul octet, mais s’il essayait de trouver les quatre valeurs d’octets correctes, cela prendrait environ deux heures. C’est beaucoup trop lent compte tenu d’une nouvelle Bloc Bitcoin est extrait toutes les dix minutes.

Comme l’a souligné Shaked, la lenteur était le résultat de la réunion de quatre tableaux séparés de valeurs d’octets. Une option beaucoup plus rapide serait de mettre tous les quatre octets possibles valeur de nonce dans une seule table et interroger cette table pour essayer de trouver la bonne valeur. Selon Shaked, pour ce bloc, il y avait 4 294 967 296 valeurs de nonce possibles.

Évidemment, il n’était pas sur le point de saisir plus de 4 milliards de valeurs à la main, il a donc trouvé un ensemble de données publiques préexistant qui contenait 5,3 milliards de lignes et a écrit un script qui essayait systématiquement chaque possible valeur de nonce comme il a cherché à travers la table. Vous pouvez visualiser cela comme l’algorithme de recherche rampant son chemin à travers la table. À chaque rangée, il essaie un nouveau valeur de nonce, vérifie si c’est correct, et sinon, passe à la ligne suivante et essaie la suivante valeur de nonce, et ainsi de suite jusqu’à ce que la valeur correcte soit trouvée.

Bien sûr, la difficulté d’extraction Bitcoin actuelle est plus élevée maintenant que pour le bloc aléatoire que Shaked avait choisi pour tester son processus de requête. Puisque le réseau Bitcoin est conçu pour ajouter un nouveau bloc toutes les 10 minutes, plus la puissance de calcul est ajoutée au réseau, plus la difficulté de trouver un nonce doit augmenter proportionnellement. Cela signifie que la difficulté de trouver un nonce dans le passé était plus facile qu’aujourd’hui et qu’elle le sera dans le futur. Actuellement, le nombre de combinaisons de hachage possibles est d’environ 2 ^ 182, ce qui prendrait trop de temps à interroger en utilisant la seule méthode mentionnée ci-dessus. Shaked a donc légèrement modifié son approche et a utilisé une table de 106 milliards de lignes pour son espace de recherche.

Ses meilleurs résultats avec cette approche était d’environ 500 mégahausses par seconde. Pourtant, il a dit qu’il pourrait être possible d’améliorer cela en exécutant 50 requêtes simultanées (le maximum autorisé sur BigQuery) pour un taux de hachage de pointe théorique de 25 gigahashs par seconde. Ce n’est pas mauvais, mais encore beaucoup plus lent que le matériel dédié ASIC, qui calcule en termes de terahashes par seconde. Pour mettre cela en perspective, les plus puissants mineurs Bitcoin sur le marché font environ 13 térahash par seconde, soit 26 000 fois plus vite que les performances réelles du mineur BigQuery, et 520 fois plus vite que son taux de hachage théorique de 25 gigahashs par seconde.

BigQuery permet jusqu’à 1 téraoctet d’analyse de données par mois, puis charge par octet analysé au-dessus de ce montant. Pourtant, comme l’a souligné Shaked, son approche est techniquement juste de générer une grande quantité de données aléatoires en utilisant des tables préexistantes, donc en ce qui concerne BigQuery, il analyse zéro octets par hachage. En d’autres termes, cette méthode d’extraction est complètement gratuite.

C’était juste une preuve de concept de sorte que chaque requête devait être exécutée manuellement, alors qu’une opération d’extraction dédiée serait automatisée. C’est probablement dans le domaine des possibilités, écrit Shaked, mais ne vous attendez pas à devenir riche. Si ce processus était entièrement automatisé, il ne gagnerait probablement que 5 millions de dollars de Bitcoin par an.

“Cette expérience m’a donné une toute nouvelle perspective sur l’énorme puissance de calcul qui est dépensée Bitcoin minière,”Shaked a dit. “Nous parlons de 26 milliards de giga-hachages par seconde – soit 2,6 * 10¹⁹, ce qui est plus que le nombre de grains de sable sur terre. Chaque seconde. Vous devez vous demander ce que nous obtiendrions si nous utilisions une fraction de cette puissance de calcul pour la recherche médicale … “