portaldacalheta.pt
  • Principal
  • Science Des Données Et Bases De Données
  • Conception Mobile
  • Design De Marque
  • Personnes Et Équipes Produit
Science Des Données Et Bases De Données

Crypto-monnaie pour les débutants: Bitcoin et au-delà



Bitcoin a créé beaucoup de buzz sur Internet. Il a été ridiculisé, attaqué et finalement accepté et fait partie de nos vies. Cependant, Bitcoin tu n'es pas seul. En ce moment, il y a plus de 700 AltCoin implémentations, qui utilisent des principes similaires Crypto-monnaie .



Alors, de quoi avez-vous besoin pour créer quelque chose comme Bitcoin?



Sans essayer de comprendre votre motivation personnelle à créer un système décentralisé et anonyme d'échange d'argent / d'informations (mais en espérant toujours que ce sera dans le domaine des activités morales et juridiques), analysons d'abord les exigences de base de notre nouveau système de paiement:



  1. Toutes les transactions doivent être effectuées sur Internet
  2. Nous ne voulons pas d'une autorité centrale qui traite les transactions
  3. Les utilisateurs doivent être anonymes et identifiés uniquement par leur identité virtuelle
  4. Un seul utilisateur peut avoir autant d'identités virtuelles qu'il le souhaite
  5. L'offre de valeur (nouveaux comptes virtuels) doit être ajoutée de manière contrôlée

Échange d'informations décentralisé sur Internet

Le respect des deux premières exigences de notre liste, la suppression d'une autorité centrale pour l'échange d'informations sur Internet est déjà possible. Il vous faut un réseau peer-to-peer (P2P) .

L'échange d'informations sur les réseaux P2P est similaire à l'échange d'informations entre amis et famille. Si vous partagez des informations avec au moins un membre du réseau, ces informations finiront par atteindre tous les autres membres du réseau. La seule différence est que dans les réseaux numériques, ces informations ne seront en aucun cas modifiées.



Crypto-monnaie et ApeeScape

Vous avez probablement entendu parler de BitTorrent, l'un des systèmes de partage de fichiers P2P (livraison de contenu) les plus populaires. Une autre application populaire pour le partage P2P est Skype, ainsi que d'autres systèmes de chat.



En termes simples, il est possible d'implémenter ou d'utiliser l'un des protocoles P2P open source existants pour prendre en charge votre nouvelle conversion cryptographique, que nous appellerons Topcoin .

Hashing

Pour comprendre les identités numériques, nous devons comprendre comment 'Crypto hachage' . Le hachage est le processus de mappage de données numériques de toute taille arbitraire avec des données de taille fixe. En termes plus simples, le hachage est un processus consistant à prendre certaines informations lisibles et à faire quelque chose qui n'a aucun sens.



Vous pouvez comparer le hachage pour obtenir des réponses des politiciens. Les informations que vous leur fournissez sont claires et compréhensibles, tandis que la sortie qu'ils fournissent ressemble à un flux aléatoire de mots.

Protocoles P2P



Un bon algorithme de hachage a besoin de certaines exigences:

  1. La longueur de sortie de l'algorithme de hachage doit être fixe (une bonne valeur est de 256 octets)
  2. Même le plus petit changement dans les données d'entrée devrait produire une différence significative dans la production
  3. La même entrée produira toujours la même sortie
  4. Il ne devrait y avoir aucun moyen d'inverser la valeur de sortie pour calculer l'entrée
  5. Le calcul de la valeur HASH ne doit pas être gourmand en calculs et doit être rapide

Si vous regardez les statistiques simples, nous aurons un nombre limité (mais énorme) de valeurs de HASH possibles, simplement parce que notre longueur de HASH est limitée. Cependant, notre algorithme de hachage (appelé Politician256) doit être suffisamment fiable pour ne produire que des valeurs de hachage en double pour différentes entrées aussi souvent qu'un singe dans un zoo parvient à taper correctement Hamlet sur une machine à écrire!



Si vous pensez que Hamlet n'est qu'un nom ou un mot, veuillez arrêter de lire maintenant ou lire à ce sujet. Théorème du singe infini (ou théorème du singe infini) .

Signature numérique

Lors de la signature d'un document, il vous suffit de joindre votre signature au texte d'un document. Une signature numérique est similaire: il vous suffit de joindre vos données personnelles au document que vous signez.

Si vous comprenez que l'algorithme de hachage adhère à la règle où même le plus petit changement dans les données d'entrée devrait produire une différence significative dans la sortie de celles-ci , il est alors évident que la valeur HASH créée pour le document d'origine sera différente de la valeur HASH créée pour le document avec la signature jointe.

Une combinaison du document original et de la valeur HASH produite pour le document avec vos données personnelles jointes est un document signé numériquement .

Et c'est comme ça qu'on l'atteint identité virtuelle , qui est définie comme les données que vous avez ajoutées au document avant de créer cette valeur HASH.

Ensuite, vous devez vous assurer que votre signature ne peut pas être copiée et que personne ne peut exécuter de transactions en votre nom. La meilleure façon de garantir que votre signature est sécurisée est de la conserver vous-même et de fournir une méthode différente à quelqu'un d'autre pour valider le document signé. Une fois de plus, nous pouvons nous tourner vers des technologies et des algorithmes facilement disponibles. Ce que nous devons utiliser est cryptographie à clé publique aussi connu sous le nom cryptographie asymétrique .

optimisation des requêtes dans le serveur SQL

Pour que cela fonctionne, vous devez créer un Clé privée et une Clé publique . Ces deux clés seront dans une sorte de corrélation mathématique et dépendront l'une de l'autre. L'algorithme que vous utiliserez pour créer ces clés garantira que chaque clé privée aura une clé publique différente. Comme leur nom l'indique, une clé privée est l'information qu'elle gardera juste pour vous, tandis qu'une clé publique est l'information que vous partagerez.

Si vous utilisez votre clé privée (votre identité) et le document d'origine comme valeurs d'entrée pour le algorithme de signature Pour créer une valeur HASH, en supposant que vous ayez gardé votre clé secrète, vous pouvez être sûr que personne d'autre ne peut produire la même valeur HASH pour ce document.

Comment fonctionnent Bitcoin et Crypto-monnaie

Si quelqu'un a besoin de valider votre signature, il utilisera le document original, la valeur HASH qu'il a produite et votre clé publique comme entrées pour le algorithme de vérification de signature pour vérifier que ces valeurs correspondent.

Comment envoyer Bitcoin / Money

En supposant que vous ayez mis en œuvre une communication P2P, des mécanismes pour créer des identités numériques (clés privées et publiques) et fourni des moyens aux utilisateurs de signer des documents à l'aide de leurs clés privées, vous êtes prêt à commencer à envoyer des informations à vos pairs.

Comme nous n'avons pas d'autorité centrale qui valide le montant d'argent dont vous disposez, le système devra vous poser des questions à chaque fois, puis vérifier si vous avez menti ou non. Par conséquent, votre journal des transactions peut contenir les informations suivantes:

  1. J'ai 100 Topcoins
  2. Je veux envoyer 10 pièces à mon pharmacien pour des médicaments ( incluriez-vous la clé publique des pharmaciens ici )
  3. Je veux donner une devise comme frais de transaction au système ( Nous reviendrons à cela plus tard )
  4. Je veux garder les 89 pièces restantes

La seule chose à faire est de signer numériquement le journal des transactions avec votre clé privée et de transmettre le journal des transactions à vos pairs sur le réseau. À ce stade, tout le monde recevra l'information que quelqu'un (votre identité virtuelle) envoie de l'argent à quelqu'un d'autre (l'identité virtuelle de votre pharmacien).

Votre travail est terminé. Cependant, vos médicaments ne seront pas payés tant que l'ensemble du réseau n'aura pas accepté que vous disposiez réellement de 100 pièces et que vous pourrez donc exécuter cette transaction. Ce n'est qu'après la validation de votre transaction que votre pharmacien obtiendra les fonds et vous enverra le médicament.

Mineurs - La nouvelle race d'agents

Les mineurs sont connus pour être des travailleurs acharnés qui, à mon avis, sont très mal payés. Dans le monde numérique de la crypto-monnaie, les mineurs jouent un rôle très similaire, sauf dans ce cas, ils font un travail intensif en calcul au lieu de déterrer des tas de saleté. Contrairement aux vrais mineurs, certains mineurs de crypto-monnaie ont fait une petite fortune au cours des cinq dernières années, mais beaucoup d'autres ont perdu une fortune dans cette entreprise risquée.

Les mineurs sont la composante centrale du système et leur objectif principal est de confirmer la validité de chaque transaction demandée par les utilisateurs.

Pour confirmer la validité de votre transaction (ou une combinaison de plusieurs transactions demandées par certains autres utilisateurs), les mineurs feront deux choses.

Tout d'abord, ils seront basés sur le fait que «tout le monde sait tout», ce qui signifie que chaque transaction exécutée sur le système est copiée et mise à la disposition de n'importe quel pair sur le réseau. Ils examineront l'historique de vos transactions pour vérifier que vous aviez réellement 100 pièces au départ. Une fois le solde de votre compte confirmé, ils généreront une valeur HASH spécifique. Cette valeur de hachage doit être dans un format spécifique; doit commencer par un certain nombre de zéros .

Il existe deux entrées pour calculer cette valeur HASH:

  1. Données du journal des transactions
  2. Preuve de travail du mineur

Tenant compte du fait que même le plus petit changement dans les données d'entrée devrait produire une différence significative dans la valeur de sortie HASH , les mineurs ont une tâche très difficile. Ils ont besoin de trouver une valeur spécifique pour une variable test de travail qui produit un HASH qui commence par des zéros. Si votre système nécessite un minimum de 40 zéros dans chaque transaction validée, le mineur devra calculer environ 2 ^ 40 valeurs différentes de HASH pour trouver le test de travail correct.

Une fois qu'un mineur trouve la valeur appropriée pour la preuve de travail, il ou elle a droit à des frais de transaction (la monnaie unique qu'ils étaient prêts à payer), qui peuvent être ajoutés dans le cadre de la transaction validée. Chaque transaction validée est diffusée à des pairs sur le réseau et stockée dans un format de base de données spécifique appelé Blockchain .

Mais que faire si le nombre de mineurs augmente et que votre matériel devient beaucoup plus efficace? Le Bitcoin était autrefois exploité dans des processeurs, des GPU et des FPGA, mais les mineurs ont finalement commencé à concevoir leurs propres puces ASIC, qui étaient beaucoup plus puissantes que ces premières solutions. À mesure que le taux de hachage augmente, la difficulté de minage augmente également, assurant ainsi l'équilibre. Lorsque plus de puissance de hachage est introduite dans le réseau, la difficulté augmente et vice versa; Si de nombreux mineurs décident de débrancher la prise c'est parce que leur fonctionnement n'est plus rentable, la difficulté est réajustée pour correspondre au nouveau taux de hachage.

Blockchain - Le livre mondial de la crypto-monnaie

La blockchain contient l'historique de toutes les transactions effectuées dans le système. Chaque transaction validée, ou lot de transactions, devient un autre anneau de la chaîne.

Par conséquent, la blockchain Bitcoin est essentiellement un registre public où les transactions sont répertoriées par ordre chronologique.

Le premier anneau de la blockchain Bitcoin s'appelle le bloc Genesis

Pour en savoir plus sur le fonctionnement de la blockchain, je suggère de lire La technologie blockchain expliquée: alimenter Bitcoin par Nermin Hajdarbegovic.

Il n'y a pas de limite au nombre de mineurs pouvant être actifs sur votre système. Cela signifie qu'il est possible pour deux mineurs ou plus de valider la même transaction. Si cela se produit, le système vérifiera l'effort total que chaque mineur a investi pour valider la transaction en comptant simplement des zéros. Le mineur qui a fait le plus d'efforts (a trouvé les zéros les plus importants) l'emportera et son blocage sera accepté.

Contrôle de la masse monétaire

La première règle du système Bitcoin est qu'il peut y avoir un maximum de 21 000 000 Bitcoins générés. Ce nombre n'a pas encore été atteint et, d'après les tendances actuelles, ce nombre devrait être atteint en 2140.

Cela peut vous amener à douter de l'utilité d'un tel système, car 21 millions d'unités ne semblent pas beaucoup. Cependant, le système Bitcoin prend en charge les valeurs fractionnaires jusqu'à huit décimales (0,00000001). Cette plus petite unité d'un bitcoin s'appelle Satoshi , en l'honneur de Satoshi Nakamoto, le développeur anonyme derrière le protocole Bitcoin.

De nouvelles pièces sont créées en guise de récompense aux mineurs pour la validation des transactions. Cette récompense pas les frais de transaction que vous avez spécifié lorsque vous avez créé un enregistrement de transaction, mais il est défini par le système. Le montant de la récompense diminue au fil du temps et sera finalement remis à zéro une fois que le nombre total de pièces émises (21 m) aura été atteint. Lorsque cela se produit, les frais de transaction joueront un rôle beaucoup plus important car les mineurs pourraient choisir de donner la priorité aux transactions plus précieuses pour la validation.

En plus de fixer la limite supérieure du nombre maximum de pièces, le système Bitcoin utilise également un moyen intéressant de limiter la production quotidienne de nouvelles pièces. En calibrant le nombre minimum de zéros non significatifs requis pour un calcul de preuve de travail, le temps nécessaire pour valider la transaction et gagner une nouvelle récompense en pièces est toujours fixé à environ 10 minutes. Si le temps entre l'ajout de nouveaux blocs à la blockchain diminue, le système peut exiger la preuve de travail pour générer 45 ou 50 zéros non significatifs.

Par conséquent, en limitant la vitesse et le nombre de nouvelles pièces pouvant être générées, le système Bitcoin contrôle efficacement la masse monétaire.

Commencez à «imprimer» votre propre devise

Comme vous pouvez le voir, créer votre propre version de Bitcoin n'est pas si difficile. En utilisant la technologie existante, mise en œuvre de manière innovante, vous avez tout ce dont vous avez besoin pour une crypto-monnaie.

  1. Toutes les transactions sont effectuées sur Internet en utilisant la communication P2P, éliminant ainsi le besoin d'une autorité centrale
  2. Les utilisateurs peuvent effectuer des transactions anonymes à l'aide de la cryptographie asynchrone et ne sont identifiés que par leur combinaison clé privée / clé publique
  3. Vous avez mis en place un journal global validé de toutes les transactions qui a été copié de manière sécurisée vers tous les pairs du réseau
  4. Vous disposez d'une source d'argent sécurisée, automatisée et contrôlée qui assure la stabilité de votre monnaie sans avoir besoin d'une autorité centrale

Une dernière chose à mentionner est que, fondamentalement, la cryptographie est un moyen de transférer des informations / valeurs anonymes d'un utilisateur à un autre dans un réseau peer-to-peer distribué .

Envisagez de remplacer les pièces de votre journal de transactions par des données aléatoires qui pourraient même être cryptées à l'aide de la cryptographie asynchrone afin que seuls l'expéditeur et le destinataire puissent le déchiffrer. Maintenant, pensez à appliquer cela à quelque chose comme le Internet des objets !

Le système de crypto-monnaie pourrait être un moyen intéressant de permettre la communication entre notre poêle et notre grille-pain. Tweet

Un certain nombre de poids lourds de la technologie explorent déjà l'utilisation de la technologie blockchain sur les plates-formes IoT, mais ce n'est pas la seule application potentielle de cette technologie relativement nouvelle.

Si vous ne voyez aucune raison de créer votre propre monnaie alternative (autre qu'une blague), vous pouvez essayer d'utiliser la même approche ou une approche similaire pour autre chose, comme l'authentification distribuée, la création de devises virtuelles utilisées dans les jeux, les réseaux sociaux , et d'autres applications, ou Vous pouvez créer un nouveau programme de fidélité pour votre entreprise de commerce électronique, qui récompenserait les clients réguliers avec des jetons virtuels qui pourraient être utilisés plus tard.

comment concevoir un tableau de bord

Risque lié au portefeuille de l'industrie des robots-conseillers: efficacité ou prise de décision?

Processus Financiers

Risque lié au portefeuille de l'industrie des robots-conseillers: efficacité ou prise de décision?
Matériel agile avec développement logiciel intégré

Matériel agile avec développement logiciel intégré

Processus Et Outils

Articles Populaires
Explorer la fonctionnalité Get & Transform d'Excel
Explorer la fonctionnalité Get & Transform d'Excel
Comment aborder les wrappers pour les propriétés Swift
Comment aborder les wrappers pour les propriétés Swift
ApeeScape s'associe à Guidant Global pour offrir un accès à la demande au réseau Elite de pigistes
ApeeScape s'associe à Guidant Global pour offrir un accès à la demande au réseau Elite de pigistes
Tutoriel Apache Spark Streaming: Identifier les hashtags Twitter tendances
Tutoriel Apache Spark Streaming: Identifier les hashtags Twitter tendances
Conception accessible vs conception inclusive (avec infographie)
Conception accessible vs conception inclusive (avec infographie)
 
L'intégration continue d'iOS avec le serveur Xcode expliquée
L'intégration continue d'iOS avec le serveur Xcode expliquée
Meilleurs éditeurs de programmation? Une bataille sans fin sans vainqueur clair
Meilleurs éditeurs de programmation? Une bataille sans fin sans vainqueur clair
Comment GWT déverrouille la réalité augmentée dans votre navigateur
Comment GWT déverrouille la réalité augmentée dans votre navigateur
Webpack ou Browserify & Gulp: quel est le meilleur?
Webpack ou Browserify & Gulp: quel est le meilleur?
Business Analyst - Stratégie & Analytics
Business Analyst - Stratégie & Analytics
Articles Populaires
  • développeurs flash et animateurs flash
  • comment utiliser la simulation monte carlo
  • tests unitaires meilleures pratiques java
  • utilisations pour rubis sur rails
  • requêtes multimédias pour tous les appareils
  • comment écrire un langage de script
Catégories
  • Science Des Données Et Bases De Données
  • Conception Mobile
  • Design De Marque
  • Personnes Et Équipes Produit
  • © 2022 | Tous Les Droits Sont Réservés

    portaldacalheta.pt