Cet article est un bref aperçu des résultats de la recherche et de l'étude du protocole Bitshares. La plateforme décentralisée du même nom implémente la crypto-monnaie, les contrats intelligents, une plateforme de trading et de nombreuses fonctionnalités intéressantes. Le matériel peut être utile dans la mesure où il connaît déjà les fonctionnalités du protocole Bitcoin, mais n'a pas entendu parler de Bitshares, qui à son tour est un système comptable avec un bon compromis entre décentralisation et bande passante. De plus, le protocole Bitshares a été pris comme base dans d'autres systèmes décentralisés: Steemit, EOS.
L'idée du protocole Bitshares est de créer un outil avec lequel il serait possible de négocier divers actifs et devises dans un environnement décentralisé, sans les déposer réellement sur le parquet. L'idée elle-même appartient à un programmeur nommé Daniel Larimer. Il l'a proposé en 2013 et a activement discuté dans les forums pendant cinq semaines. Daniel Larimer a donc rencontré un autre militant actif de la crypto-monnaie nommé Charles Hoskinson, qui a aidé à développer un plan d'affaires et à attirer des investissements.
Daniel Larimer à la cafétéria de l'écoleObjectif de la plateforme Bitshares
Daniel Larimer, également connu sous le nom de Bytemaster, est le principal idéologue et développeur du protocole. La plate-forme Bitshares permet à quiconque de créer des actifs émis par l'utilisateur (UIA) ou des jetons numériques. Ainsi, la plateforme prend en compte la devise de base, c'est-à-dire la crypto-monnaie avec le ticker BTS et de nombreux jetons utilisateur.
Le protocole met en œuvre un échange décentralisé où ces actifs numériques peuvent être échangés. Lors de la conception du système comptable et du mécanisme permettant de parvenir à un consensus, les développeurs ont mis l'accent sur la bande passante. En conséquence, Bitshares se positionne comme une alternative décentralisée au système comptable Visa. Alors que Visa dit qu'elle peut traiter quelques dizaines de milliers de transactions par seconde, Bitshares parle de la capacité de traiter cent mille transactions par seconde, de manière décentralisée, avec une base de données ouverte et des capacités d'audit.
De plus, Bitshares se positionne comme une plateforme de contrat intelligente. Certes, les contrats intelligents sont prédéfinis ici et leur nombre est limité - les contrats les plus populaires sont mis en œuvre. Mais ils sont plus économes en énergie et, par conséquent, moins chers par rapport aux commissions.
Une autre caractéristique de la plate-forme est la prise en charge des paiements avec un niveau élevé de confidentialité des utilisateurs, qui peut être utilisé en option. Chez Bitshares, cette technologie est appelée Stealth Transfers.
Historique de développement et de lancement
Familiarisez-vous brièvement avec l'histoire du lancement de cette plateforme décentralisée.
La quantité de travail pour créer une plate-forme conçue était très importante. Les créateurs ont décidé de commencer à attirer des gens et à distribuer à l'avance les pièces de la future crypto-monnaie afin de comprendre si le projet attirerait suffisamment l'attention et s'il devrait être davantage soutenu. Ainsi, en novembre 2013, l'idée est née Bitshares PTS, ce qui signifie protoshares. Son essence était que la distribution des pièces de monnaie commencera à utiliser l'exploitation minière basée sur un protocole simple, et à ce moment une version complète de Bitshares sera développée.
Pour implémenter Bitshares PTS, ils ont créé Bitcoin (un clone du référentiel avec le code source), y ont apporté des modifications mineures et ont lancé un nouveau réseau. Tous ceux qui étaient intéressés par le projet pouvaient installer un nœud de réseau Bitshares PTS complet sur leur ordinateur, extraire des pièces, les échanger et les échanger. La concurrence pour l'extraction de ces pièces s'est intensifiée, et très vite les participants ont dû s'unir dans des bassins miniers.
Plus tard, les développeurs ont introduit la version 1.0 du protocole Bitshares et la date de sortie du dernier bloc de la chaîne de blocs Bitshares PTS a été annoncée à l'avance. Étant donné que la nouvelle version du protocole est écrite presque à partir de zéro et utilise des formats de données complètement nouveaux, la mise à jour a ses propres caractéristiques. Un instantané de l'état de toutes les pièces non dépensées au moment du dernier bloc de l'ancienne blockchain est pris et transféré au bloc Genesis de la nouvelle blockchain. Il s'avère que toutes les correspondances entre les clés publiques et les soldes sont conservées, c'est-à-dire que vous pouvez continuer à utiliser des pièces en utilisant les mêmes clés privées. Ainsi, le 14 décembre 2014, les utilisateurs sont passés à une nouvelle version du protocole, où un consensus est déjà atteint selon les règles de la preuve de mise déléguée, et l'extraction et l'émission de nouvelles pièces ne sont pas fournies.
En octobre 2015, il y a eu une autre mise à jour majeure du protocole Bitshares vers la version 2.0, qui a fait de même.
Il convient de noter que les développeurs de Bitshares ont créé le cœur même d'une plate-forme décentralisée dans le cadre d'un projet distinct appelé Graphene. Le graphène est le fondement des systèmes comptables décentralisés de nouvelle génération. Outre Bitshares, le graphène a constitué la base de plusieurs autres projets.
Modèle de compte
Voyons maintenant comment les comptes sont organisés dans le protocole Bitshares 2.0. Il utilise la cryptographie sur des courbes elliptiques, et la courbe elle-même est exactement la même que dans le protocole Bitcoin. Il existe un format d'adresse qui utilise la valeur de hachage de la clé publique, le système numérique de base 58, le préfixe BTS et ne contient pas de somme de contrôle. Mais ce format est rarement utilisé, car la base de données générale de la plate-forme est optimisée de telle sorte que chaque objet, y compris le compte d'utilisateur, possède son propre identifiant unique, qui est en fait un entier de 8 octets (ou 64 bits). Dans les opérations habituelles d'envoi d'un paiement, un tel identifiant de compte est indiqué. De plus, le protocole prend en charge l'enregistrement de noms uniques. Des fonctionnalités similaires ont d'abord été implémentées dans le protocole Namecoin. Ainsi, dans Bitshares, vous pouvez enregistrer une chaîne lisible par l'homme qui sera unique dans la blockchain correspondante et se lier à votre compte afin d'utiliser ce nom au lieu de l'ID de compte.
Atteindre le consensus DPoS
Comme indiqué précédemment, les règles du protocole DPoS suggèrent que tous les utilisateurs peuvent participer à la recherche d'un consensus en choisissant des validateurs en votant. Pendant le processus de vote, le poids du vote de l'utilisateur est déterminé par son solde dans la devise de base. La formation de blocs est effectuée par un sous-ensemble de validateurs sélectionnés. Dans le protocole Bitshares, le validateur est appelé témoin.
Modèle de transaction
Examinons plus en détail les modèles de transaction dans Bitshares.

Le diagramme montre que le corps de transaction se compose de cinq champs principaux. Les deux premiers champs de la transaction sont nécessaires pour la lier à un bloc spécifique. Cela est nécessaire pour déterminer la chaîne de blocs dans laquelle cette transaction peut être ajoutée, car selon les règles du protocole, une transaction ne peut pas être confirmée dans la chaîne à laquelle elle n'est pas attachée. Le champ expiration_time définit l'heure jusqu'à laquelle la transaction peut être ajoutée au bloc. S'il n'a pas été confirmé avant cette date, il est alors considéré comme invalide et ne peut plus être inclus dans la blockchain.
Le champ operations_vector est spécial. Cette caractéristique est que de nombreuses opérations différentes peuvent y être placées. L'opération est un autre objet clé du protocole Bitshares. Nous nommerons certains des types d'opérations les plus populaires: transfert (transfert), mise à jour du compte (mise à jour du compte), émission d'actifs (émission de jetons) et ordre (offre de trading). Chaque opération a son propre format et les paramètres nécessaires. Par exemple, l'opération de transfert nécessite le compte de l'expéditeur, le type d'actif, le montant du transfert et le compte du destinataire. Les opérations elles-mêmes sont indépendantes les unes des autres, mais ne peuvent être effectuées ensemble que si la transaction est acceptée.
Le champ des extensions est nécessaire pour que la version actuelle du logiciel puisse gérer les transactions de nouvelle version, où des champs supplémentaires peuvent être ajoutés. Bien sûr, les anciens logiciels ne sauront pas vérifier correctement les champs supplémentaires des nouvelles transactions, mais au moins ils pourront traiter correctement les transactions selon les anciennes règles.
Il s'agit d'un format de transaction non signé. Afin de signer correctement la transaction, vous devez analyser toutes les opérations à partir du champ operations_vector et dresser une liste de comptes qui doivent confirmer la transaction. Ensuite, il devient clair de quelles clés vous avez besoin pour signer la transaction. Toutes les signatures nécessaires sont placées dans un champ distinct - signatures. Si au moins une signature ne suffit pas, alors toute la transaction sera considérée comme incorrecte.
Notez qu'en optimisant la taille des identifiants, la taille finale d'une transaction qui contient une opération sera d'environ 100 octets. Il s'agit en effet d'une transaction très compacte par rapport à une transaction dans d'autres protocoles.
Quant aux commissions, le protocole Bitshares adopte une approche particulière. Chaque opération nécessite un certain paiement, qui est retiré du solde du compte de l'initiateur au moment de la confirmation de la transaction. La commission des opérations peut être constante, mais peut varier. À titre de comparaison grossière, on peut noter que les frais de virements et de transactions ordinaires sont bien inférieurs aux frais d'émission de nouveaux actifs et d'enregistrement d'un nouveau compte.
Échange d'actifs décentralisé
Voyons maintenant comment fonctionne le trading des actifs émis et enregistrés sur la plateforme Bitshares. L'utilisateur peut effectuer une transaction avec une telle opération, où il déclare qu'il est prêt à échanger un actif contre un autre actif dans un certain rapport et pour un certain montant. Cette transaction est distribuée sur le réseau et reçoit une confirmation, après quoi un autre utilisateur peut déclarer de la même manière qu'il souhaite modifier les mêmes actifs dans le même ratio. Au moment de la confirmation de la deuxième transaction, selon le protocole, les soldes de ces deux utilisateurs sont mis à jour, c'est-à-dire qu'un échange d'actifs est effectivement effectué, sur la base que les deux utilisateurs ont signé des déclarations d'échange qui se satisfont.
Étant donné qu'un tel trading est basé sur un système comptable décentralisé, cette plateforme de trading est appelée un échange décentralisé.
Flexibilité de gestion des comptes
Une autre caractéristique importante du protocole Bitshares est la capacité de gérer de manière flexible les comptes. Le système d'autorisations de compte dynamique (autorisations de compte dynamique) vous permet de spécifier la gestion de compte par plusieurs clés, selon le principe multisignature. Ceci est organisé de sorte que chaque compte puisse être contrôlé par une combinaison équilibrée d'autres comptes ou de clés de signature électronique. Cette approche vous permet de créer une structure de gestion hiérarchique, dont l'organisation est similaire à un système de permis dans la vie réelle. Il s'avère que vous pouvez organiser la gestion multi-utilisateurs du compte et de ses soldes, où chaque utilisateur aura un certain poids dans la prise de décision. De plus, pour différentes opérations, vous pouvez définir différents critères. Un tel mécanisme de gestion peut réduire considérablement les risques de vol d'actifs et de perte de contrôle des comptes.

Imaginez cela schématiquement. Au sommet de la hiérarchie se trouve un compte au nom duquel il est impossible d'assurer la transaction avec une seule clé. Cela ne peut être fait qu'avec la confirmation de plusieurs autres comptes et clés. Les membres des niveaux inférieurs de la hiérarchie sont généralement appelés signataires. Chacun d'eux a son propre poids dans la confirmation de l'opération. Par exemple, dans ce schéma, les signataires ont un poids de 25, 40, 35 et 40 unités, et le seuil nécessaire pour confirmer un certain type d'opération peut être de 50, 60 ou 70 unités. Dans le même temps, pour d'autres types d'opérations, une distribution de poids différente et une valeur seuil différente peuvent se produire.
Comment ça marche au niveau des transactions? L'un des signataires crée une transaction avec certaines opérations et certifie au nom de son compte. La transaction est confirmée, mais les opérations qui y sont entrées ne sont pas exécutées, mais sont en mode veille de confirmation. Ensuite, d'autres signataires voient l'offre et peuvent soit la confirmer, soit la rejeter au nom de leur compte à l'aide de transactions contenant des opérations spéciales.
Problème UIA
Examinons plus en détail les fonctionnalités de la sortie des actifs utilisateurs sur la plateforme Bitshares. N'importe qui peut former une transaction avec l'opération de création d'un nouvel actif, payer une certaine commission, définir les paramètres de cet actif et commencer à émettre les jetons correspondants. Cette fonctionnalité de protocole est implémentée comme un contrat intelligent préinstallé et possède certaines fonctionnalités.
À la demande de l'émetteur, il est possible de satisfaire aux exigences de KYC (Know Your Customer - Know Your Client) en utilisant le mécanisme de liste blanche (liste des comptes autorisés) et une confirmation supplémentaire de l'émetteur. La liste blanche contient les comptes auxquels l'émetteur de l'actif autorise la réception et la détention de ses jetons. Et le mécanisme de confirmation supplémentaire permet à l'émetteur de contrôler chaque transaction pour le transfert ou le commerce de jetons (il peut rejeter ou approuver chaque transaction avec son actif).
En outre, l'émetteur peut restreindre le commerce des jetons et autoriser uniquement le stockage et les transferts, ou restreindre les transferts, et autoriser uniquement le commerce. L'émetteur peut également établir des frais supplémentaires pour les transferts et les échanges de jetons.
Une autre caractéristique est que l'émetteur peut activer la fonction de retrait et de redistribution des jetons. Cela fonctionne pour les cas où vous devez prendre en charge des mécanismes externes pour condamner les transactions et annuler les paiements. Il convient également de noter que tous les paramètres des actifs des utilisateurs sont définis sous la forme de paramètres de contrat intelligent et que l'émetteur définit les propriétés qu'il peut modifier et celles qui seront permanentes. Par exemple, il peut se limiter à un problème supplémentaire de jetons et peut laisser la possibilité d'une libération arbitraire. Et ces paramètres de contrat seront visibles pour tous les utilisateurs.
Une propriété intéressante des jetons émis sur la plate-forme Bitshares est que lors des transactions avec eux, l'utilisateur peut payer des frais soit avec la devise de base, soit avec ces mêmes jetons. La conversion est basée sur le taux de change fixé par l'émetteur.
Mécanisme de vote
Lors de l'étude de la plateforme Bitshares, il est nécessaire de mentionner le mécanisme qui aide à prendre des décisions dans un environnement décentralisé - c'est le vote. Les membres du comité (membres du comité), les validateurs (témoins) et les développeurs (travailleurs) sont élus par vote. Les membres du comité doivent voter pour modifier certains paramètres du protocole, tels que les commissions, le nombre de validateurs, etc. Les validateurs, ce sont des délégués, sont nécessaires pour vérifier les transactions et former des blocs. Et les développeurs proposent des améliorations logicielles. S'ils obtiennent un nombre suffisant de votes et respectent les délais de développement, ils reçoivent une récompense.
Lors du vote, le poids du vote de chaque compte est proportionnel à son solde dans la devise de base. Dans le même temps, l'option de vote par procuration est prise en charge, ce qui vous permet de voter pour un autre électeur. Ceci est pratique dans les cas où l'utilisateur lui-même ne sait pas pour quel candidat il est préférable de voter et donne ce droit à un utilisateur plus compétent. En général, le vote est très important pour garantir la haute fiabilité de la plateforme Bitshares.
Mécanisme de commission
Examinons maintenant le mécanisme de collecte des commissions pour les transactions et les récompenses des participants actifs au réseau. Il existe un tel équilibre qui n'appartient à aucun des utilisateurs de la plateforme, et il ne peut être géré que selon les règles du protocole. Ce solde est appelé Pool de réserve. Les règles supposent que les frais de commission pour toutes les transactions de tous les comptes tombent dans le pool de réserve. Une redevance du Pool de réserve est versée aux comptes des validateurs et des développeurs en pourcentage de son solde. De plus, les règles du programme de parrainage, que la plate-forme prend également en charge, peuvent être superposées à la collecte et à la distribution des frais de commission (vous pouvez le lire séparément).

Il convient de mentionner le nombre maximum de pièces dans la devise de base. Au total, 3,6 milliards de pièces ont été émises et aucune émission supplémentaire n'a été fournie. Dans le même temps, au moment de 2018, environ 2,6 milliards de pièces étaient en libre circulation et environ 1 milliard se trouvaient dans le pool de réserve.
Smartcoins
Avant cela, nous avons parlé d'un contrat intelligent qui implémente des jetons ordinaires, et maintenant nous allons parler d'un autre contrat intelligent qui implémente des actifs indexés sur le marché, les jetons qui sont évalués à un actif externe. Ils sont également appelés SmartCoins. Cela fonctionne selon le principe du contrat pour la différence, c'est-à-dire un contrat pour la différence. En conséquence, n'importe qui peut émettre ces jetons en gelant simplement un certain dépôt de garantie, par exemple, dans la devise de base. Le ratio de garantie est nettement supérieur à un, et 2 ou plus est recommandé. Ici, tout fonctionne selon les principes du trading sur marge, où les positions de marge et les appels de marge automatiques sont utilisés. Pour que le prix de l'actif apparaisse sur la plate-forme sur les marchés étrangers, des parties de confiance sont utilisées pour placer le prix de l'actif sur la blockchain Bitshares à l'aide d'un type de transaction spécial. Dans ce cas, ces parties de confiance sont les validateurs eux-mêmes.
Format d'en-tête de bloc
L'en-tête de bloc dans Bitshares a une structure plus simple et une taille plus petite que l'en-tête de bloc dans Bitcoin.
Ici, il existe de tels champs: identifiant du bloc précédent, horodatage, identifiant du créateur, valeur de hachage des transactions entrantes et champ d'extensions pour maintenir la compatibilité avec les nouvelles versions de l'en-tête du bloc.Le bloc complet comprendra le titre du bloc, la signature du validateur qui a créé ce bloc et la liste des transactions incluses dans ce bloc.Au sein du protocole Bitshares, 4 concepts jouent un rôle clé dans le fonctionnement de la plateforme: les blocs, les transactions, les opérations et les objets. Les objets ici sont appelés compte, actif, solde, offre, etc.Nombreuses opérations et fonctionnalités de leur implémentation
Examinons plus en détail le concept de fonctionnement dans le cadre de ce protocole. Il y avait environ 40 types d'opérations différents dans Bitshares au moment de 2018, et de nouveaux types peuvent être ajoutés avec de nouvelles mises à jour de protocole. Les opérations vous permettent d'initier quelques changements simples dans le système comptable et des mécanismes plus complexes, tels que les contrats intelligents prédéfinis. Il a déjà été dit plus haut qu'une transaction peut contenir plusieurs opérations qui, en cas de succès, seront exécutées simultanément.Voici une courte liste des opérations les plus populaires:- transfer_operation transfère un actif spécifique du solde d'un compte à un autre;
- limit_order_create_operation crée un objet de demande d'échange d'actifs; limit_order_cancel_operation annule une telle application;
- fill_order_operation , , , ;
- account_create_operation ;
- blind_transfer_operation ;
- asset_create_operation ;
- asset_update_operation - ;
- asset_issue_operation ;
- witness_create_operation .
Quant aux statistiques, nous pouvons dire que la charge sur le réseau Bitshares en termes de nombre de transactions est comparable à la charge sur le réseau Bitcoin ou Ethereum. De plus, à certains moments en 2018, la plateforme Bitshares a traité plus de transactions que Bitcoin et Ethereum réunis. Et les résultats des tests de charge montrent que la bande passante maximale du réseau Bitshares est des centaines de fois supérieure à la bande passante maximale des réseaux Bitcoin et Ethereum.
Selon la ressource analytique blocktivity.info, au mois de juillet 2018, la plateforme Bitshares traite plus de 60% du nombre total de transactions confirmées par toutes les plateformes décentralisées.Organisation de la base de données
Examinons maintenant une caractéristique architecturale importante du protocole Bitshares qui permet d'atteindre un débit aussi élevé.
Le diagramme de gauche montre un moyen d'organiser une base de données appelée blockchain, à l'aide de laquelle le stockage de l'historique complet des transactions est généralement organisé. Sur la droite se trouve une autre façon d'organiser la base de données - Ledger. Avec son aide, le stockage des correspondances entre identifiants et états est généralement organisé (par exemple, un compte et son solde).Les propriétés de la chaîne de blocs permettent de vérifier facilement l'intégrité de la base de données et l'historique de ses modifications, ainsi que d'organiser facilement la synchronisation et de parvenir à un consensus dans un environnement décentralisé.Ledger est pratique en ce qu'il stocke de manière compacte le dernier état de la base de données et en même temps permet une recherche, une lecture et une mise à jour rapides des enregistrements. C'est pourquoi ils ont essentiellement une bande passante plus élevée. Le grand livre est couramment utilisé dans les systèmes comptables centralisés.L'idée derrière Bitshares est de profiter des deux façons d'organiser votre base de données en même temps. Ainsi, un nœud de réseau complet enregistre simultanément en utilisant deux bases de données organisées selon les types Blockchain et Ledger, respectivement. Dans le même temps, les nœuds synchronisent les données les uns avec les autres à l'aide de blocs et mettent à jour la copie locale de la blockchain, et ils effectuent la vérification et l'acceptation des transactions, en se concentrant sur le dernier état de la base de données que Ledger stocke. De plus, la taille de toutes les données qui composent Ledger est optimisée de telle sorte que les nœuds du réseau les conservent en RAM. Cela vous permet d'accélérer considérablement le processus de vérification et d'adoption de nouvelles transactions.Optimisation de la logique métier
De nombreux systèmes comptables utilisent un langage de script à usage général pour définir toutes les opérations. Ces systèmes comptables utilisent finalement le "processeur logique métier" comme une machine virtuelle, et toutes les transactions sont définies comme des scripts qui seront exécutés par la machine virtuelle. Cette approche utilise les mécanismes de synchronisation des threads d'un vrai processeur et les combine, exécutant toutes les instructions via un processeur virtuel. Un processeur virtuel, même avec une compilation Just-In-Time, sera toujours plus lent qu'un vrai processeur, mais la vitesse finale des calculs n'est pas le seul problème de l'approche quand tout est un script.Lorsque les transactions sont définies à un niveau aussi bas, cela signifie que la plupart des vérifications statiques et des transformations cryptographiques restent dans le traitement de la logique métier et que le débit global baisse. Pour augmenter les performances du système comptable et exécuter rapidement la logique métier, tous les contrôles statiques, y compris toutes les transformations cryptographiques, doivent être retirés de la portée du module de logique métier.Une autre étape d'optimisation consiste à stocker des données de l'état final du système comptable dans la RAM. Cela signifie que le processeur logique métier peut suivre rapidement les pointeurs vers la mémoire et recevoir directement les données dont il a besoin, et n'est pas obligé d'effectuer des requêtes de base de données chronophages. Cela signifie également que les données sont accessibles sans copie et que les données peuvent être modifiées sur place. Cette optimisation fournit une amélioration des performances par rapport à l'utilisation d'une approche basée sur une base de données.Ainsi, pour créer un système comptable à hautes performances ne nécessite pas de technologies complexes et la séparation des processus entre les nœuds du réseau. Tout ce qui est nécessaire pour créer un validateur haute performance est de séparer tous les calculs indépendants de la logique métier principale, de l'exécuter dans un thread sans interruption pour synchroniser et stocker toutes les dépendances de vérification dans la RAM.Options de confidentialité des utilisateurs
Il a été noté ci-dessus que le système de comptabilité Bitshares utilise des comptes et des soldes, contrairement à Bitcoin, où la comptabilité est basée sur les sorties de transactions non dépensées. Augmenter le niveau de confidentialité sur la plate-forme Bitshares n'est pas une tâche triviale, car dans le cas des comptes et des soldes, il est encore plus facile de désanonymiser les utilisateurs que dans Bitcoin.Mais les développeurs de Bitshares ont résolu ce problème de manière intéressante. Ils ont mis en œuvre la possibilité de spécifier plusieurs entrées et sorties en une seule opération. Vous pouvez désormais inclure de nombreuses entrées et sorties dans une même transaction, ce qui complique l'analyse des flux de trésorerie et augmente la confidentialité des utilisateurs.De plus, ces opérations utilisent par défaut des techniques telles que Transaction confidentielle et Adresses furtives. La transaction confidentielle masque les montants aux entrées et sorties de l'opération, mais elle utilise la preuve que la somme des sorties ne dépasse pas la somme des entrées. Et Stealth Addresses masque la connexion entre la clé publique, qui est utilisée comme identifiant du destinataire, et l'adresse qui est réellement indiquée dans la sortie de la transaction.Bitshares utilise des paiements réguliers (non confidentiels) par défaut, mais les utilisateurs peuvent utiliser les transferts furtifs s'ils le souhaitent. Ainsi, la comptabilité des pièces sur la plateforme s'effectue de deux manières différentes.Il existe une chose telle que le transfert de pièces d'une méthode comptable à une autre. Pour cela, des opérations distinctes sont implémentées:- transfer_to_blind_operation est utilisé pour transférer des pièces d'ouvert à caché;
- blind_transfer_operation pour transférer des pièces d'une manière cachée, et transfer_from_blind_operation pour transférer des pièces d'un tour caché à un tour ouvert.
Il est clair que ces opérations sont plus importantes que d'habitude en termes de volume de données et, par conséquent, nécessitent une commission plus importante.Il est à noter que n'importe qui peut calculer le nombre de pièces mises en circulation cachée, il existe donc une offre furtive (le nombre de pièces en circulation cachée). Mais il y a actuellement une faille pratique dans l'option de confidentialité chez Bitshares (juillet 2018). Le fait est qu'il n'y a toujours pas d'interfaces graphiques pratiques pour un travail simple en mode haute confidentialité.Foire aux questions
- Bitshares prend-il en charge la possibilité de définir des conditions arbitraires pour dépenser des pièces, par exemple, en utilisant Bitcoin Script?Non, la version actuelle du protocole ne prend pas en charge cette fonctionnalité. Il est peu probable qu'il soit ajouté, car dans Bitshares, il sera plus pratique de créer de nouveaux types d'opérations et de les introduire dans les mises à jour ultérieures du protocole.- Existe-t-il des implémentations de nœuds légers pour le réseau Bitshares qui sont similaires, par exemple, aux nœuds SPV pour le réseau Bitcoin?Pas pour le moment. De plus, techniquement, ils seront plus compliqués que SPV en Bitcoin, car il utilise DPoS, pas PoW, ce qui est très simple. Au lieu d'un site léger, vous pouvez utiliser des applications qui se connectent à des sites de confiance.- Quelle est la période de formation du bloc sur la plateforme Bitshares?Au moment de 2018, cela fait 3 secondes. Fait intéressant, la période de formation de bloc peut être configurée sans mettre à jour le protocole.- Si vous enregistrez un beau nom de compte sur la plateforme Bitshares, est-il possible de le vendre à un autre utilisateur?Oui, en effet, il existe une telle option et cela fonctionne bien.