Blockchain, kontrak pintar ... Apakah itu mudah atau sulit?

Dalam kasus penyimpanan informasi dalam database, penyerang dapat memperoleh akses dengan satu atau lain cara dan membuat perubahan untuk mendapatkan uang.

Ia tidak perlu mengubah seluruh database, tetapi hanya mengganti sebagian dari data yang disimpan dalam database. Dalam kasus blockchain, perlu untuk mengubah seluruh rantai blok dengan data, yang akan sangat sulit dilakukan.

Karena satu dan lain alasan, setiap perubahan pada data dapat terjadi tanpa niat jahat - mati listrik, kegagalan peralatan, dll.

Bagaimana itu bekerja?

Jadi, ada data dan perlu dilindungi dari perubahan yang tidak diinginkan. Informasi bisa apa saja - transaksi dana, perpindahan parsel, tiket pesawat, dll.

Kami akan membagi informasi (data) menjadi beberapa bagian (blok) dan membangun rantai blok tersebut.

Dalam contoh kami, data tentang transaksi uang akan disimpan.

Mari buat blok pertama.

Karena blok adalah yang pertama, hanya data dan nomor blok yang akan disimpan di dalamnya.

Data di blok akan berisi ukuran seluruh masalah mata uang kripto dan jumlah dompet pertama tempat semuanya berada pada tahap awal.

Untuk kejelasan, Anda dapat membentuk array data yang terdiri dari hash dan nomor dompet.

Fungsi hash tidak akan digunakan oleh SHA 256, tetapi dengan MD5 yang lebih sederhana, hanya hash yang diperoleh dengan fungsi ini lebih baik untuk dibaca manusia (lebih pendek) daripada SHA 256.

c4ca4238a0b923820dcc509a6f75849b ( 1).

1 .

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

, : 45d04629fc2f54182ba55aad029152ae.

, № 1 «2».

, , , .

.

.

.

, ( ), , .

— , , .

-

- ?

( -) .

, 1 ( ) , ( 2), .

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

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

, , .

, .

( ), , , .

( ) , , .., .

Dalam kasus kontrak pintar, pemenuhan persyaratan dikontrol menurut algoritme yang dibuat untuk ini tanpa partisipasi manusia dalam mode otomatis (oleh komputer) dan ini membutuhkan waktu yang jauh lebih sedikit daripada saat membuat kesepakatan berdasarkan kontrak reguler.

Kode PHP untuk menjalankan operasi penjualan cryptocurrency (ETH) dan membeli rubel di bursa 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>';

?>




All Articles