Selasa, 12 Mei 2020

Blokchain - Learn the Basics of Blockchain with Python - Diving Deeper into Blockchain - Ulasan Transaksi Blockchain

Ulasan Transaksi Blockchain

Selamat! Anda belajar tentang bagaimana transaksi bekerja di blockchain dan beberapa mekanisme yang menjaga blockchain valid dan aman.

Mari kita tinjau persyaratan utama:

    Transaksi: Pertukaran nilai di antara peserta di jaringan blockchain.
    Peserta: Individu yang mengakses jaringan blockchain melalui komputer untuk bertukar nilai.
    * Belum dikonfirmasi: * Blok dan transaksi yang belum diverifikasi.
    Konsensus: Proses menyetujui transaksi di jaringan blockchain.
    Hashing: Menghasilkan string acak karakter dari input yang diberikan.
    Immutable: Sesuatu yang catatannya tidak bisa diubah.
    Hitung Ulang Hash: Mengganti hash yang salah dengan yang "benar" untuk memvalidasi rantai.
    Proof-of-Work: Fitur keamanan di blockchain untuk mencegah penyerang mengambil alih blockchain dengan mudah.
    Trustless: Fitur blockchain yang menyatakan bagaimana sistem tidak bergantung pada peserta mana pun untuk memverifikasi transaksi.
    Rantai Terpanjang: Rantai paling tepercaya dengan jumlah terbesar pekerjaan komputasi yang dilakukan dalam menghitung Bukti Kerja.

Label:

Senin, 11 Mei 2020

Blokchain - Learn the Basics of Blockchain with Python - Diving Deeper into Blockchain -Menyelam Lebih Dalam Menjadi Bukti Kerja

Menyelam Lebih Dalam Menjadi Bukti Kerja

Peserta blockchain selalu menganggap rantai terpanjang sebagai yang benar. Jika seseorang mampu membuat rantai blok terpanjang (bahkan jika blok itu palsu), jaringan dipaksa untuk menerima rantai baru.

Alasannya sederhana - jaringan blockchain mengasumsikan bahwa rantai terpanjang memiliki jumlah pekerjaan komputasi yang paling banyak dilakukan dalam menemukan Bukti Kerja untuk setiap blok. Oleh karena itu, masuk akal bagi jaringan untuk berpikir bahwa rantai terpanjang berisi catatan transaksi yang paling terbukti.

Jika peserta yang tidak jujur ​​memutuskan untuk mengutak-atik blok, mereka harus menyelesaikan Bukti Kerja untuk setiap blok berikutnya untuk memasukkan blok yang dirusak ke dalam jaringan. Ini tidak layak secara komputasi dan hampir mustahil!

Selain itu, sementara peserta sibuk menemukan Bukti Kerja untuk setiap blok, blok yang lebih baru ditambahkan ke blockchain dengan kecepatan yang lebih cepat. Peserta segera menemukan bahwa mereka memainkan pertempuran yang kalah melawan seluruh jaringan.

Apa manfaat utama dari semua ini? Blok semakin tahan-bukti karena blok-blok baru ditambahkan di sebelahnya. Bukti Kerja membuat sulit untuk melewati seluruh blockchain dan memungkinkan seseorang untuk memperkenalkan transaksi palsu.

Ketentuan Utama:

    Rantai Terpanjang: Rantai paling tepercaya dengan jumlah terbesar pekerjaan komputasi yang dilakukan dalam menghitung Bukti Kerja.

Label:

Minggu, 10 Mei 2020

Blokchain - Learn the Basics of Blockchain with Python - Diving Deeper into Blockchain - Bukti Kerja

Bukti Kerja

Karena peserta di jaringan blockchain adalah pengguna anonim di komputer mereka, kami tidak dapat mempercayai mereka untuk memverifikasi transaksi secara jujur. Bukti Kerja tidak lebih dari memperkenalkan batasan keamanan tambahan untuk memverifikasi transaksi. Kendala ini mengambil bentuk masalah matematika yang sulit secara komputasi, yang berarti untuk mengatakan bahwa dibutuhkan banyak waktu bahkan bagi komputer untuk menyelesaikan masalah.

Alih-alih dipilih secara acak untuk menyiarkan blok mereka yang belum dikonfirmasi, sekelompok peserta khusus, juga dikenal sebagai penambang, sekarang perlu menyelesaikan masalah agar memenuhi syarat untuk menyiarkan blok mereka. Masalahnya, juga dikenal sebagai Proof-of-Work, berbentuk permainan tebak-tebakan yang melibatkan penggunaan hashing.

Fungsi hash yang paling umum digunakan untuk membuat hash untuk blok adalah SHA-256. Penambang pertama-tama menebak nilai nonce, yang kemudian digabungkan dengan konten blok (yaitu transaksi, cap waktu, hash, dan hash sebelumnya). Mereka mengulangi proses ini sampai hash yang diinginkan dihasilkan.

Penambang pertama yang menghasilkan bukti menyiarkan blok mereka yang belum dikonfirmasi bersama dengan nilai nonce yang benar. Sisa jaringan kemudian memverifikasi perhitungan. Jika mayoritas peserta setuju, Bukti Kerja untuk blok tersebut sekarang telah selesai dan blok tersebut sekarang telah dikonfirmasi! Jaringan kemudian bergerak untuk bekerja di blok berikutnya.

Berikut adalah contoh masalah sederhana - temukan nomor yang, ketika dikombinasikan dengan konten blok yang belum dikonfirmasi, menghasilkan hash yang empat digit pertamanya sama dengan 0000. Setiap peserta menggunakan komputer mereka dan fungsi hash (biasanya SHA-256) untuk menemukan nomor yang menghasilkan hash yang benar. Karena ini permainan tebak acak, semua orang biasanya memulai dengan 0 dan meningkatkan tebakan mereka hingga menghasilkan hash yang dapat diterima.

Ketentuan Utama:

    Penambang: Peserta khusus yang menghitung Bukti Kerja untuk menambang blok baru.
    Nonce: Angka yang harus ditebak oleh penambang yang bila digabungkan dengan blok menghasilkan hash yang dapat diterima.

Label:

Sabtu, 09 Mei 2020

Blokchain - Learn the Basics of Blockchain with Python - Diving Deeper into Blockchain - Mengamankan Blockchain Lebih Lanjut

Mengamankan Blockchain Lebih Lanjut

Percaya atau tidak, langkah-langkah keamanan yang diperkenalkan dalam latihan sebelumnya tidak cukup untuk mengamankan keseluruhan blockchain. Perlu ada lapisan keamanan lain untuk melindungi blockchain dari gangguan luar. Mengizinkan siapa pun merusak salinan blockchain mereka dan menipu semua orang di jaringan untuk memperbarui salinan mereka adalah masalah besar.

Persyaratan tambahan perlu diperkenalkan yang membuatnya tidak mungkin bagi seseorang untuk mengutak-atik blok berikutnya dan mengambil alih blockchain.

Seperti halnya bank memiliki akuntan untuk memverifikasi transaksi secara manual, blockchain memiliki teknik pintar yang disebut Bukti Kerja yang mencapai dua tujuan penting:

    Sehingga menyulitkan peserta untuk memodifikasi blok dengan menghitung ulang hash.
    Itu bergantung pada kriptografi antipeluru, bukan peserta anonim untuk memverifikasi transaksi.

Ini pada dasarnya menciptakan sistem tanpa kepercayaan dan merupakan alasan utama mengapa blockchain begitu aman dan kuat. Mari kita lihat bagaimana Proof-of-Work sebenarnya bekerja di latihan selanjutnya.

Ketentuan Utama:

    Proof-of-Work: Fitur keamanan di blockchain untuk mencegah penyerang mengambil alih blockchain dengan mudah.
    Trustless: Fitur blockchain yang menyatakan bagaimana sistem tidak bergantung pada peserta mana pun untuk memverifikasi transaksi.

Label:

Jumat, 08 Mei 2020

Blokchain - Learn the Basics of Blockchain with Python - Diving Deeper into Blockchain - Apakah Hashing Cukup untuk Mengamankan Blockchain?

Apakah Hashing Cukup untuk Mengamankan Blockchain?

Kami mengakhiri latihan terakhir dengan catatan samar - bagaimana jika seorang penyerang merusak blok dan kemudian entah bagaimana menutupi jejak mereka dengan menghitung ulang hash dari setiap blok berikutnya untuk membuat blockchain valid sekali lagi? Mari kita jelajahi konsep ini melalui contoh.

Katakanlah kita memiliki tiga blok: A, B, dan C dengan hashes X123, Y456, dan Z789 yang mewakili keadaan setiap blok. Jika penyerang merusak Blok A, isinya dapat diubah, sehingga hashnya berubah - katakanlah hash diubah dari X123 ke 123X. Blok B tidak lagi menunjuk ke Blok A karena hash X123 sebelumnya tidak lagi cocok dengan hash 123X baru. Satu-satunya cara bagi penyerang untuk membuat rantai valid adalah dengan memperbaiki ketidakcocokan ini. Untuk Blok B untuk menunjuk ke Blok A, hash sebelumnya perlu diubah dari X123 ke 123X.

Namun, ini juga dianggap merusak data Blok B. Jadi, hashnya juga akan berubah. Jika penyerang mengulangi proses ini untuk semua blok berikutnya, mereka akan berhasil membuat salinan yang valid dari blockchain!

Ketentuan Utama:

    Hitung Ulang Hash: Mengganti hash yang salah dengan yang "benar" untuk memvalidasi rantai.

Label:

Kamis, 07 Mei 2020

Blokchain - Learn the Basics of Blockchain with Python - Diving Deeper into Blockchain - Bagaimana Hashing Memelihara Integritas Blockchain

Bagaimana Hashing Memelihara Integritas Blockchain

Dalam pelajaran sebelumnya, kami secara singkat menyinggung gagasan hashing - menghasilkan string karakter acak dari input yang diberikan. Mari melangkah lebih jauh dan mencari tahu mengapa hashing sangat mendasar untuk desain Blockchain.

Di blockchain, setiap blok memiliki hash unik dan tautan ke hash blok sebelumnya. Jika peserta memutuskan untuk mengutak-atik blok dengan memodifikasi transaksi, hash unik blok akan berubah. Namun, blok berikut ini tidak diperbarui untuk mencerminkan perubahan ini - itu masih menunjuk ke hash blok sebelumnya. Dengan demikian, ada ketidakcocokan antara hash dan hubungan antara blok terputus. Ini menghasilkan salinan blockchain yang tidak valid.

Dengan cara ini, catatan di blockchain tidak dapat diubah. Dengan kata lain, catatan tersebut dikatakan tidak dapat diubah.

Tetapi bagaimana jika seseorang merusak blok dan menghitung ulang hash untuk setiap blok tunggal? Apakah hashing masih menjamin bahwa blockchain sepenuhnya aman? Ayo cari tahu di latihan selanjutnya.

Ketentuan Utama:

    Hashing: Menghasilkan string acak karakter dari input yang diberikan.
    Immutable: Sesuatu yang catatannya tidak bisa diubah.

Label:

Rabu, 06 Mei 2020

Blokchain - Learn the Basics of Blockchain with Python - Diving Deeper into Blockchain - Menambahkan Lebih Banyak Blok

Menambahkan Lebih Banyak Blok

Dalam latihan ini, kami akan mengeksplorasi bagaimana blok dikonfirmasi dan ditambahkan ke blockchain.

Langkah pertama dalam menambahkan blok adalah memverifikasi transaksi. Ini berarti memastikan bahwa transaksi belum ditukar atau digandakan. Untuk mempermudah, kami akan menganggap bahwa semua peserta tahu cara memverifikasi transaksi dan bahwa mereka akan memverifikasi dengan jujur. Saat Anda melanjutkan pelajaran ini, Anda akan mengeksplorasi bagaimana verifikasi benar-benar bekerja di latihan selanjutnya.

Langkah selanjutnya adalah membangun konsensus dalam jaringan. Dengan kata lain, seluruh jaringan perlu menyetujui transaksi.

Dengan asumsi semua orang jujur ​​memverifikasi transaksi, peserta acak menyiarkan blok mereka ke seluruh jaringan. Jika lebih dari 51% peserta setuju dengan blok, konsensus telah tercapai, dan blok sekarang dikatakan telah dikonfirmasi!

Namun, jaringan mungkin tidak setuju pada percobaan pertama. Ini akan terjadi jika seseorang mencoba berbagi blok yang tidak valid. Jaringan akan menolak upaya memperkenalkan transaksi palsu!

Kunci utama dari latihan ini adalah bahwa - selama mayoritas peserta memverifikasi transaksi dengan jujur, blockchain tetap aman.

Ketentuan Utama:

    Konsensus: Proses menyetujui transaksi di jaringan blockchain.

Label:

Selasa, 05 Mei 2020

Blokchain - Learn the Basics of Blockchain with Python - Diving Deeper into Blockchain - Mengumpulkan Transaksi Blockchain

Menyelam Lebih Dalam ke Blockchain
Mengumpulkan Transaksi Blockchain

Keajaiban blockchain adalah bahwa itu adalah buku besar digital aman yang mencatat transaksi dalam urutan kronologis. Dalam latihan ini, kami akan mengeksplorasi bagaimana transaksi blockchain ditangani.

Ketika transaksi dilakukan, mereka ditempatkan di lokasi khusus yang disebut mempool yang mengumpulkan semua transaksi yang tidak divalidasi. Transaksi terbaru dalam mempool disiarkan ke semua peserta blockchain.

Setiap peserta mengumpulkan transaksi ini ke dalam blok baru. Namun, setiap blok hanya dapat menampung sejumlah transaksi. Karena itu, tidak semua transaksi dapat ditambahkan ke blok sekaligus.

Setelah satu blok penuh, set transaksi berikutnya harus menunggu di kumpulan memori. Pada titik ini, blok dikatakan tidak dikonfirmasi, dan transaksi di dalam blok dikatakan tidak valid.

Selanjutnya, kita akan mengeksplorasi bagaimana blok ditambahkan ke blockchain!

Catatan: Kursus kami menjelaskan pendekatan yang sangat umum untuk menerapkan teknologi blockchain. Cara blockchain menangani dan memverifikasi transaksi dapat disesuaikan agar sesuai dengan berbagai aplikasi, seperti Cryptokitties oh begitu lucu.

Ketentuan Utama:

    Transaksi: Pertukaran nilai di antara peserta di jaringan blockchain.
    Peserta: Individu yang mengakses jaringan blockchain melalui komputer untuk bertukar nilai.
    * Belum dikonfirmasi: * Blok dan transaksi yang belum diverifikasi.

Label:

Rabu, 01 April 2020

Blokchain - Learn the Basics of Blockchain with Python - Introductory Blockchain Concepts

Memvisualisasikan Blockchain

Selamat! Anda baru saja mempelajari dasar-dasar teknologi blockchain. Di bawah ini adalah ulasan tentang istilah-istilah penting yang mungkin ingin Anda pelajari untuk semakin memperkuat pengetahuan Anda tentang blockchain.

Mari kita ingat kosa kata yang kita pelajari

    Blockchain: Blockchain adalah catatan transaksi yang akurat dan permanen yang telah diverifikasi dan disimpan dalam urutan kronologis.
    Blok: Blok adalah transaksi individual atau sepotong data yang disimpan dalam blockchain.
    Blockchain Network: Jaringan blockchain dan blockchain adalah istilah yang digunakan secara bergantian. Mereka mewakili seluruh blockchain dari struktur itu sendiri ke jaringan yang menjadi bagiannya.
    Desentralisasi: Konsep di mana pengguna bekerja sama untuk memvalidasi transaksi tanpa bergantung pada otoritas pusat.
    Peserta: Klien yang memiliki salinan blockchain dan memverifikasi transaksi di seluruh jaringan.
    Deterministik: Input yang sama akan selalu menghasilkan output yang sama, tetapi output itu tidak akan pernah menghasilkan input asli.
    Hash: String dengan panjang tetap dari kombinasi beragam huruf dan angka yang dihasilkan dari input spesifik ukuran sewenang-wenang.
    Fungsi Hash: Fungsi yang mengambil input ukuran acak, melakukan hashing pada input ini, dan menghasilkan output acak ukuran tetap, juga dikenal sebagai hash.
    Genesis Block: Block genesis adalah blok pertama pada blockchain dan biasanya hard-coded ke dalam struktur blockchain. Menjadi blok pertama di blockchain, ia tidak memiliki tautan ke hash sebelumnya.

Memblokir Properti

    Stempel waktu: Waktu blok dibuat menentukan lokasi di blockchain.
    Data: Informasi yang akan disimpan secara aman di blok.
    Hash: Kode unik yang dihasilkan dengan menggabungkan semua konten di dalam blok itu sendiri - juga dikenal sebagai sidik jari digital.
    Hash Sebelumnya: Setiap blok memiliki referensi ke blok sebelum hash-nya. Inilah yang membuat blockchain unik karena tautan ini akan rusak jika blok dirusak.

Instruksi

Visualisasi mewakili sifat dasar dan struktur blockchain. Silakan dan tekan Kirim Data untuk masing-masing blok.

Setelah itu, coba dan rusak blok di tengah. Apa yang terjadi ketika blok diperbarui?

Label: