在将信息存储在数据库中的情况下,攻击者可以一种或另一种方式获得访问权限,并进行更改以获取金钱。
他不需要更改整个数据库,而仅替换存储在数据库中的部分数据。在区块链的情况下,有必要用数据更改整个区块链,这将非常困难。
由于某种原因,数据中的任何更改都可能在没有恶意的情况下发生-电源故障,设备故障等。
这个怎么运作?
因此,存在数据,需要保护它免受不必要的更改。信息可以是任何东西-资金交易,包裹运输,飞机票等。
我们将信息(数据)分为多个部分(块),并构建这些块的链。
在我们的示例中,将存储有关货币交易的数据。
让我们创建第一个块。
由于块是第一个,因此将仅存储数据和块号。
区块中的数据将包含整个加密货币发行的规模以及它们在初始阶段都位于的第一个钱包的数量。
为了清楚起见,您可以形成一个由哈希和钱包号码组成的数据数组。
– SHA 256, « » MD5, ( ), SHA 256.
c4ca4238a0b923820dcc509a6f75849b ( 1).
1 .
( 1) (1, 2, 3, …).
, : 45d04629fc2f54182ba55aad029152ae.
, № 1 «2».
, , , .
.
.
.
, ( ), , .
— , , .
-
- ?
( -) .
, 1 ( ) , ( 2), .
( ) , , , 1 , (2) ( , ).
( 1 2) 1 , , , 2 , , .
, , .
, .
( ), , , .
( ) , , .., .
– ( ) , .
PHP代码,用于在exmo.me交易所执行出售加密货币(ETH)和购买卢布的操作。
<?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>';
?>