ブロックチェーン、スマートコントラクト...それは簡単ですか、それとも難しいですか?

データベースに情報を保存する場合、攻撃者は何らかの方法でアクセスを取得し、お金をつかむために変更を加えることができます。

彼はデータベース全体を変更する必要はありませんが、データベースに保存されているデータの一部のみを置き換えます。ブロックチェーンの場合、ブロックチェーン全体をデータで変更する必要があり、非常に困難です。

何らかの理由で、データの変更は、電源障害、機器障害などの悪意のない意図で発生する可能性があります。

使い方?

したがって、データがあり、不要な変更から保護する必要があります。情報は何でもかまいません-資金の取引、小包の移動、飛行機のチケットなど。

情報(データ)をパーツ(ブロック)に分割し、これらのブロックのチェーンを構築します。

この例では、金銭取引に関するデータが保存されます。

最初のブロックを作成しましょう。

ブロックが最初なので、データとブロック番号のみが格納されます。

ブロック内のデータには、暗号通貨の問題全体のサイズと、それらがすべて初期段階にある最初のウォレットの数が含まれます。

わかりやすくするために、ハッシュとウォレット番号で構成されるデータ配列を生成できます。

ハッシュ関数はSHA256では使用されませんが、より単純なMD5では、この関数で取得されたハッシュだけがSHA 256よりも人間が読みやすくなります(短くなります)。

c4ca4238a0b923820dcc509a6f75849b ( 1).

1 .

( 1) (1, 2, 3, …).

, : 45d04629fc2f54182ba55aad029152ae.

, № 1 «2».

, , , .

.

.

.

, ( ), , .

— , , .

-

- ?

( -) .

, 1 ( ) , ( 2), .

( ) , , , 1 , (2) ( , ).

( 1 2) 1 , , , 2 , , .

, , .

, .

( ), , , .

( ) , , .., .

スマート契約の場合、条件の履行は、自動モードでの人間の介入なしに(コンピューターによって)このために作成されたアルゴリズムに従って制御され、これは通常の契約の下で取引を行う場合よりもはるかに短い時間で済みます。

exmo.meエクスチェンジで暗号通貨(ETH)を販売し、ルーブルを購入する操作を実行するためのPHPコード。

<?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>';

?>




All Articles