Dans le cas du stockage d'informations dans une base de données, un attaquant peut y accéder d'une manière ou d'une autre et apporter des modifications afin de s'emparer de l'argent.
Il n'a pas besoin de modifier toute la base de données, mais de ne remplacer qu'une partie des données stockées dans la base de données. Dans le cas d'une blockchain, il sera nécessaire de changer toute la blockchain avec des données, ce qui sera extrêmement difficile à faire.
Pour une raison ou une autre, toute modification des données peut se produire sans intention malveillante - panne de courant, panne d'équipement, etc.
Comment ça fonctionne?
Donc, il y a des données et il faut les protéger des changements indésirables. L'information peut être n'importe quoi - transactions de fonds, mouvement de colis, billets d'avion, etc.
Nous allons diviser les informations (données) en parties (blocs) et construire une chaîne de ces blocs.
Dans notre exemple, les données sur les transactions monétaires seront stockées.
Créons le premier bloc.
Le bloc étant le premier, seuls les données et le numéro de bloc y seront stockés.
Les données du bloc contiendront la taille de l'ensemble du problème de crypto-monnaie et le numéro du premier portefeuille sur lequel ils se trouvent tous au stade initial.
Pour plus de clarté, vous pouvez créer un tableau de données composé d'un hachage et d'un numéro de portefeuille.
– SHA 256, « » MD5, ( ), SHA 256.
c4ca4238a0b923820dcc509a6f75849b ( 1).
1 .
( 1) (1, 2, 3, …).
, : 45d04629fc2f54182ba55aad029152ae.
, № 1 «2».
, , , .
.
.
.
, ( ), , .
— , , .
-
- ?
( -) .
, 1 ( ) , ( 2), .
( ) , , , 1 , (2) ( , ).
( 1 2) 1 , , , 2 , , .
, , .
, .
( ), , , .
( ) , , .., .
– ( ) , .
Code PHP pour exécuter l'opération de vente de crypto-monnaie (ETH) et d'achat de roubles sur l'échange exmo.me.
<?php
//exmo.me
$key = 'K-9………';
$secret = 'S-6…………';
$mt = explode(' ', microtime());
$NONCE = $mt[1] . substr($mt[0], 2, 6);
$url = "https://api.exmo.com/v1.1/order_create";
$req = array(
"nonce"=>$NONCE,
"pair"=>"ETC_RUB",
"quantity"=>0.01, //
"price"=>449.0754, //
"type"=>"buy",
);
$post_data = http_build_query($req, '', '&');
$sign = hash_hmac('sha512', $post_data, $secret);
$headers = array(
'Sign: ' . $sign,
'Key: ' . $key,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$output = curl_exec($ch);
$output = json_decode($output, true);
echo '<pre>';
var_dump($output);
echo '</pre>';
?>