L'intégration directe de Bitcoin sur ICP permet aux conteneurs (contrats intelligents de haut niveau) d'interagir avec le réseau Bitcoin au niveau du protocole. Cela permet aux conteneurs de recevoir, de conserver et d'envoyer du BTC directement sur le réseau principal Bitcoin sans utiliser une multitude d'intermédiaires de sécurité. et des ponts blockchain tiers.
Le rapport mondial sur la sécurité du Web3 montre que seulement 12 incidents impliquant ces ponts en chaîne ont causé près de 1,89 milliard de dollars de pertes en 2022.
Grâce à l'intégration Bitcoin, les conteneurs sur ICP peuvent lire et écrire en toute sécurité dans le registre Bitcoin.
1. Les conteneurs peuvent lire l'état de la blockchain Bitcoin via des nœuds légers Bitcoin fonctionnant sur le protocole informatique Internet. Pour ce faire, les nœuds du réseau ICP obtiennent des blocs directement du réseau Bitcoin et extraient et traitent les transactions qui y sont contenues. leur donner une vue opportune de l'ensemble actuel des sorties de transactions non dépensées (UTXO) du réseau Bitcoin.
Ces informations UTXO sont fournies au conteneur via l'API, permettant au conteneur d'accéder à des informations telles que le solde et l'UTXO de l'adresse Bitcoin. En d'autres termes, le conteneur peut interroger le solde et l'UTXO de n'importe quelle adresse Bitcoin, y compris les adresses qu'il contrôle. , ce qui leur permet de déterminer le solde disponible (et l'UTXO) d'une adresse Bitcoin en examinant l'état de la blockchain.
2. Afin d'écrire sur le réseau Bitcoin, le conteneur peut signer en toute sécurité les transactions Bitcoin et les soumettre au réseau Bitcoin. La signature sécurisée est réalisée via un nouveau protocole ECDSA à seuil (appelé clé de chaîne ECDSA). Les engagements de signature des transactions sont intégrés via le. niveau de protocole, ce qui amène les répliques ICP à soumettre des transactions à de nombreux nœuds Bitcoin connectés.
Où sont stockées les clés privées sur ICP ?
Maintenant que les conteneurs peuvent également écrire (signer et valider) des transactions, cela signifie-t-il également qu'ils stockent des clés privées ?
L'enregistrement de la clé privée dans l'état du conteneur peut l'exposer à des nœuds malveillants du réseau ICP, accordant ainsi l'accès aux actifs numériques de l'utilisateur. Pour éviter cela, ICP utilise une technologie de cryptage par seuil afin que la clé privée ne soit jamais entièrement stockée sur un seul nœud. ou un conteneur.
Le chiffrement à seuil permet de diviser un secret (comme une clé privée) en plusieurs parties, appelées partages secrets ou parts, nécessitant un certain nombre (au moins un seuil) de ces partages pour reconstruire le secret ou l'utiliser pour signer un message.
Ainsi, au lieu de stocker l'intégralité de la clé privée au même endroit, elle est divisée en plusieurs parties, c'est-à-dire des partages secrets, partagés par tous les utilisateurs au sein d'un sous-réseau à haute réplication (c'est-à-dire un sous-réseau avec plus de nœuds qu'un sous-réseau d'application classique) que contient le nœud.
De plus, ces partages secrets sont périodiquement repartagés entre les nœuds pour éviter d'éventuelles fuites de partage. Le repartage signifie créer de nouveaux partages à partir du partage actuel à l'aide d'un protocole de cryptage. Une fois repartagés, les partages précédemment valides deviennent obsolètes, les rendant inutiles. Inutiles à tout acteur malveillant qui pourrait les obtenir.
Lorsqu'elles sont écrites sur le réseau Bitcoin, les transactions Bitcoin sont signées à l'aide de signatures de seuil, ce qui signifie que si un nombre suffisant de nœuds du sous-réseau acceptent une signature, chaque nœud utilisera son partage de clé respectif pour aider à co-signer la transaction, en calculant le signature. Au moins autant de partages de clés que le seuil sont requis.
Cela garantit que les clés ne sont pas disponibles pour toute entité monolithique ainsi que pour les attaquants qui contrôlent moins d'un nombre seuil de nœuds. Dans le cas d'ICP, lors des demandes de transaction de conteneur, les nœuds utilisent leurs partages pour cosigner des transactions Bitcoin plutôt que de les re-signer. - En créant la clé privée d'origine, le protocole de signature suppose que plus des deux tiers des nœuds sont honnêtes et que moins d'un tiers des nœuds sont compromis.
L'approche non dépositaire d'ICP pour l'intégration de ckBTC et Bitcoin
La plupart des protocoles conçus pour calculer de manière collaborative les signatures ECDSA en utilisant le partage de clés distribuées entre les participants supposent une robustesse ou une vivacité nulle, un réseau synchronisé, ou les deux, sans robustesse lorsqu'un seul nœud tombe en panne ou ne participe pas, le protocole peut perdre la capacité de générer des signatures numériques.
Par conséquent, supposer un réseau synchrone signifie qu'un simple retard de message peut entraîner l'échec du protocole de signature et l'incapacité de générer une signature, rendant le protocole vulnérable aux attaques de disponibilité.
ICP est conçu pour être tolérant aux pannes, garantissant que le protocole fonctionne dans des réseaux de communication asynchrones, c'est-à-dire qu'il peut tolérer des retards de message sans défaillance, et que l'ensemble du système reste valide tant que moins d'un tiers des nœuds sont compromis, fonctionnent mal ou tombent en panne. Exécuter, c'est-à-dire continuer à fonctionner à un débit réduit.
Si un nœud du sous-réseau tombe en panne, ICP sélectionne un nœud de sauvegarde pour remplacer le nœud défaillant.
Lectures complémentaires :
Intégration Bitcoin : aperçu technique
ckBTC est Bitcoin sur Web3
Prendre la sécurité au sérieux : deux principales fonctionnalités ICP évaluées par Trail of Bits
Contenu IC qui vous intéresse
Progrès technologique | Informations sur le projet |
Collectez et suivez IC Binance Channel
Restez à jour avec les dernières informations