Isi kandungan:

Bagaimana blockchain sebenarnya berfungsi
Bagaimana blockchain sebenarnya berfungsi

Video: Bagaimana blockchain sebenarnya berfungsi

Video: Bagaimana blockchain sebenarnya berfungsi
Video: DETIK-DETIK PERTEMPURAN DI KOTA DILI, 7 DESEMBER 1975, (EPISODE 1) 2024, Mungkin
Anonim

Siaran ini bertujuan untuk memberitahu semua orang mengapa blockchain dicipta, bagaimana mata wang kripto berfungsi dan mengapa ia adalah sistem yang paling indah dalam beberapa tahun kebelakangan ini dari sudut pandangan logik.

Saya akan segera memberi amaran kepada anda bahawa di bawah potongan terdapat helaian teks yang BESAR dan jika anda tidak bersedia untuk "menutup" soalan mengenai topik mata wang kripto sekali dan untuk semua, tambahkan entri pada kegemaran anda sekarang dan tempah masa)

Blockchain adalah teknologi, baru, pelik, tidak dapat difahami, tetapi ia seolah-olah mengubah dunia, berbeza dengan cerita anda ini. Nampaknya, dia sudah lama bersama kami.

Catatan ini ditulis seolah-olah diberitahu kepada orang yang sangat jauh dari komputer dan mengenali mereka secara dangkal, sebagai contoh, bayangkan bahawa dia sedang membuat persediaan untuk ibu bapa anda. Saya juga boleh membuangnya kepada rakan-rakan kemanusiaan saya dan pastikan mereka akan faham.

Dan Oleg akan membantu kita semua dalam perkara yang sukar ini. jumpa!

Kalau awak tak suka Oleg, saya akan halau dia.

Asas: mengapa kita memerlukan blockchain?

Blockchain telah diterangkan dalam artikel Satoshi Nakamoto "Bitcoin: Sistem Tunai Elektronik Peer-to-Peer". Di sana, hanya dalam lapan halaman, penulis menerangkan asas mata wang kripto Bitcoin, yang berdasarkan algoritma Blockchain.

Senarai yang tidak boleh diubah

Rantaian sekat - rantaian blok atau dengan kata lain senarai terpaut. Dalam senarai sedemikian, setiap rekod seterusnya merujuk kepada satu rekod sebelumnya, dan seterusnya ke bawah rantaian ke yang pertama. Seperti gerabak kereta api, masing-masing mengheret yang seterusnya. Mengenai senarai, terdapat artikel yang bagus oleh Nikita Likhachev tentang TJ, di mana perkara yang sama dijelaskan untuk pemula sepenuhnya. Analogi sebahagiannya diambil dari sana.

Mari kita ambil contoh

Rakan-rakan Oleg sentiasa meminjam wang daripadanya. Oleg baik, tetapi sangat pelupa. Seminggu kemudian, dia tidak ingat lagi siapa yang tidak memulangkan hutang kepadanya, tetapi dia malu untuk bertanya kepada semua orang mengenainya. Oleh itu, suatu hari dia memutuskan untuk menamatkan perkara ini dengan membuat senarai rakan di papan hitam di rumahnya yang dia meminjam wang.

Kini Oleg sentiasa boleh pergi ke papan dan memastikan Max mengembalikan segala-galanya, tetapi Vanya tidak memberikan 700 rubel. Suatu hari Oleg menjemput Vanya untuk minum di rumahnya. Semasa Oleg pergi ke tandas, Vanya memadamkan entri "Saya meminjam 200 rubel untuk Vanya" dan menulis sebagai gantinya "Vanya memberi 500 rubel".

Oleg, yang mempercayai senarainya, melupakan hutang itu dan kehilangan 700 rubel. Dia memutuskan untuk entah bagaimana melawannya. Tahun lepas, Oleg menghadiri kursus pengaturcaraan, di mana dia diberitahu tentang pencincangan. Dia ingat bahawa mana-mana rentetan boleh ditukar menjadi set aksara yang tidak jelas - cincangan, dan menukar sebarang aksara dalam rentetan itu akan mengubahnya sepenuhnya.

Menambah titik pada penghujung telah mengubah cincang akhir yang tidak dapat dikenali - anda boleh menggunakannya.

Oleg mengambil cincang SHA-256 yang terkenal dan cincang setiap rekod dengannya, sambil menambah hasilnya pada penghujungnya. Kini Oleg boleh memastikan bahawa tiada siapa yang mengubah rekodnya dengan mencincangnya semula dan membandingkannya dengan rekod hijau.

Tetapi EVIL IVAN juga tahu cara menggunakan SHA-256 dan boleh menukar entri dengan mudah bersama cincangnya. Terutama jika cincangan ditulis betul-betul di sebelahnya di papan tulis.

Oleh itu, untuk keselamatan yang lebih besar, Oleg memutuskan untuk mencincang bukan sahaja rekod itu sendiri, tetapi menambahnya bersama cincang daripada rekod sebelumnya. Sekarang semua entri berikut bergantung pada yang sebelumnya. Jika anda menukar sekurang-kurangnya satu baris, anda perlu mengira semula cincang semua yang lain di bawah dalam senarai.

Tetapi pada suatu hari Ivan menyelinap pada waktu malam, menukar entri yang dia perlukan dan mengemas kini cincang untuk keseluruhan senarai hingga akhir. Ia mengambil masa beberapa jam, tetapi Oleg masih tidur nyenyak dan tidak dapat mendengar. Pada waktu pagi, Oleg menemui senarai yang betul-betul betul - semua cincang sepadan. Tetapi Ivan menipunya pula, walaupun dia menghabiskan malam tanpa tidur di atasnya. Bagaimana lagi anda boleh melindungi diri anda daripada Night Ivan?

Oleg memutuskan untuk entah bagaimana merumitkan hidupnya. Sekarang, untuk menambah entri baharu pada senarai, Oleg akan menyelesaikan masalah kompleks yang berkaitan dengannya, sebagai contoh, persamaan matematik. Dia akan menambah jawapan pada cincang akhir.

Oleg pandai dalam matematik, tetapi ia mengambil masa sepuluh minit untuk menambah entri. Walaupun begitu, masa yang dihabiskan adalah berbaloi, kerana jika Ivan ingin mengubah sesuatu lagi, dia perlu menyelesaikan semula persamaan untuk setiap baris, dan mungkin terdapat berpuluh-puluh daripadanya. Ia akan mengambil banyak masa, kerana persamaan adalah unik setiap kali dan dikaitkan dengan rekod tertentu.

Tetapi menyemak senarai adalah semudah: pertama anda perlu membandingkan cincang seperti sebelumnya, dan kemudian semak penyelesaian persamaan dengan penggantian mudah. Jika semuanya menumpu, senarai itu tidak diubah.

Pada hakikatnya, perkara tidak begitu baik dengan persamaan: komputer menyelesaikannya dengan terlalu baik, dan di mana untuk menyimpan begitu banyak persamaan unik. Oleh itu, pengarang blockchain datang dengan masalah yang lebih indah: anda perlu mencari nombor sedemikian (tidak sekali) supaya cincang akhir keseluruhan rekod bermula dengan 10 sifar. Nonce seperti itu sukar dicari, tetapi hasilnya sentiasa boleh disemak dengan hanya mata.

Kini Oleg mengesahkan semua cincangan dan juga memastikan bahawa setiap satunya bermula dengan bilangan sifar yang ditentukan. Sly Ivan, walaupun bersenjatakan komputer riba yang berkuasa, tidak akan mempunyai masa untuk mengira semula semua cincang dalam satu malam supaya mereka memenuhi syarat - tidak akan ada masa yang mencukupi.

Senarai sedemikian, sebenarnya, adalah blok rumah di lututnya. Keselamatannya dijamin oleh ahli matematik, yang membuktikan bahawa cincang ini tidak boleh dikira dengan lebih pantas, kecuali dengan kekerasan. Penghitungan cincang sedemikian untuk setiap rekod adalah perlombongan, yang hari ini akan ada banyak dan terperinci.

Pemusatan amanah

Rakan-rakan kami menyukai idea untuk menyimpan senarai palsu "siapa yang meminjam". Mereka juga tidak mahu mengingati siapa yang membayar untuk siapa di bar dan berapa banyak mereka masih berhutang - semuanya tertulis di dinding. Anda membincangkan idea itu dan memutuskan bahawa kini anda memerlukan satu senarai untuk semua.

Tetapi siapa yang harus diamanahkan dengan pembukuan yang begitu penting? Lagipun, dalam soal wang, kepercayaan diutamakan. Kami tidak akan mempercayai orang yang tidak dikenali untuk menyimpan wang kami. Untuk ini, nenek moyang kita mencipta bank, yang dari masa ke masa mula dipercayai, kerana ia disokong oleh lesen, undang-undang dan insurans daripada Bank Negara.

Dalam kalangan rakan, semua orang mempercayai antara satu sama lain dan anda boleh memilih yang paling bertanggungjawab untuk peranan ini. Tetapi bagaimana jika soalannya adalah mengenai orang yang tidak dikenali? Seluruh bandar, negara, atau seluruh dunia, seperti yang berlaku dengan Bitcoin? Secara umum, tiada siapa yang boleh mempercayai sesiapa di sana.

Desentralisasi: tiada siapa mempercayai sesiapa

Jadi mereka datang dengan pendekatan alternatif: simpan salinan senarai untuk semua orang. Oleh itu, penyerang bukan sahaja perlu menulis semula satu senarai, tetapi juga menyelinap masuk ke setiap rumah dan menulis semula senarai di sana. Dan kemudian ternyata seseorang menyimpan beberapa senarai di rumah, yang tiada siapa tahu. Ini adalah desentralisasi.

Kelemahan pendekatan ini ialah untuk membuat entri baharu, anda perlu menghubungi semua peserta lain dan memaklumkan setiap daripada mereka tentang perubahan terkini. Tetapi jika peserta ini adalah mesin tanpa jiwa, ia tidak lagi menjadi masalah sama sekali.

Dalam sistem sedemikian, tidak ada satu titik kepercayaan, dan dengan itu kemungkinan rasuah dan penipuan. Semua peserta dalam sistem bertindak mengikut satu peraturan: tiada siapa yang mempercayai sesiapa. Semua orang percaya hanya maklumat yang mereka ada. Ini adalah undang-undang utama mana-mana rangkaian terdesentralisasi.

Transaksi

Apabila membeli periuk di kedai, anda memasukkan kod pin dari kad anda, membenarkan kedai bertanya kepada bank jika anda mempunyai 35 rubel pada akaun anda. Dengan kata lain, anda menandatangani transaksi untuk 35 rubel dengan kod pin anda, yang bank mengesahkan atau menolak.

Rekod kami jenis "Saya meminjam Vanya 500 rubel" juga merupakan transaksi. Tetapi kami tidak mempunyai bank yang membenarkan pengarang transaksi. Bagaimanakah kita boleh menyemak bahawa Ivan tidak secara senyap-senyap menambah entri "Max berhutang Oleg 100,500 rubel"?

Blockchain menggunakan mekanisme kunci awam dan peribadi untuk ini; pakar IT telah lama menggunakannya untuk kebenaran dalam SSH yang sama. Saya menerangkannya pada jari saya dalam siaran "Keselamatan, penyulitan, cyberpunk" dalam bahagian "Pengenalan kepada penyulitan".

Secara ringkas tentang cara matematik yang kompleks tetapi cantik ini berfungsi: anda menjana sepasang nombor perdana yang panjang pada komputer anda - kunci awam dan peribadi. Kunci persendirian dianggap sangat rahsia kerana ia boleh menyahsulit apa yang disulitkan di khalayak ramai.

Tetapi sebaliknya juga berfungsi. Jika anda berkongsi kunci awam dengan semua rakan anda, mereka akan dapat menyulitkan sebarang mesej untuk mereka supaya hanya anda yang boleh membacanya, kerana anda memiliki yang peribadi.

Tetapi selain ini, kunci awam mempunyai kesan yang berguna - dengannya anda boleh menyemak bahawa data telah disulitkan dengan kunci peribadi anda, tanpa menyahsulit data itu sendiri. Semua sifat ini diterangkan dengan baik dalam "Book of Ciphers".

Kami berada di internet terpencar di mana tiada siapa yang boleh dipercayai. Urus niaga ditandatangani dengan kunci persendirian dan, bersama-sama dengan kunci awam, dihantar ke storan khas - kumpulan transaksi yang tidak disahkan. Jadi mana-mana ahli rangkaian boleh mengesahkan bahawa anda yang memulakannya, dan bukan orang lain yang mahu membayar dengan wang anda.

Ini memastikan keterbukaan dan keselamatan rangkaian. Jika bank terdahulu bertanggungjawab untuk ini, maka dalam blockchain, ahli matematik bertanggungjawab untuk ini.

Bagi pengguna biasa yang tidak mahu memikirkan cara mengeluarkan dan menyimpan kunci peribadi, perkhidmatan dompet dalam talian akan membantu. Untuk menyalin kunci awam yang panjang, kod QR yang mudah dibuat di sana. Contohnya Blockchain Wallet, kerana ia mempunyai aplikasi mudah alih yang mudah dan menyokong dua mata wang kripto utama - BTC dan ETH.

Kekurangan konsep "keseimbangan"

Seperti papan kami, blockchain pada asasnya hanya terdiri daripada sejarah transaksi. Ia tidak menyimpan baki setiap dompet, jika tidak, kami perlu mencipta kaedah perlindungan tambahan.

Hanya kunci peribadi mengesahkan pemilikan dompet. Tetapi bagaimanakah ahli rangkaian lain boleh memastikan saya mempunyai wang yang cukup untuk membeli?

Oleh kerana kami tidak mempunyai keseimbangan, anda mesti membuktikannya. Oleh itu, urus niaga blockchain termasuk bukan sahaja tandatangan anda dan amaun yang anda ingin belanjakan, tetapi juga pautan ke transaksi sebelumnya di mana anda menerima jumlah wang yang diperlukan.

Iaitu, jika anda ingin membelanjakan 400 rubel, anda menjalankan keseluruhan sejarah pendapatan dan perbelanjaan anda, dan melampirkan pada transaksi anda pendapatan di mana anda diberi 100 + 250 + 50 rubel, dengan itu membuktikan bahawa anda mempunyai 400 rubel ini.

Setiap ahli rangkaian sekali lagi akan memastikan anda menyemak bahawa anda belum melampirkan pendapatan dua kali. Bahawa 300 rubel yang Max berikan minggu lepas, anda benar-benar belum berbelanja.

Pendapatan sedemikian yang dilampirkan pada urus niaga dipanggil input dalam rantaian blok, dan semua penerima wang dipanggil output. Jumlah semua input jarang sekali sama seperti yang anda mahu pindahkan pada satu masa - oleh itu, salah satu output selalunya adalah diri anda sendiri. Dalam erti kata lain, transaksi pada blockchain kelihatan seperti "Saya diberi 3 dan 2 BTC, saya mahu memindahkan 4 BTC daripada mereka dan mengembalikan baki 1 BTC."

Keindahan blockchain ialah input tidak perlu datang dari satu dompet. Lagipun, hanya kunci yang diperiksa. Jika anda mengetahui kunci peribadi semua input, maka anda boleh melampirkannya dengan mudah pada transaksi anda dan membayar dengan wang ini. Seolah-olah anda membayar di pasar raya dengan beberapa kad yang anda tahu kod pinnya.

Walau bagaimanapun, jika anda kehilangan kunci peribadi anda, cakera anda mati atau komputer riba anda dicuri, bitcoin anda akan hilang selama-lamanya. Tiada siapa boleh menggunakannya sebagai input untuk transaksi baharu.

Jumlah ini tidak akan dapat diakses oleh seluruh dunia selama-lamanya - seolah-olah anda membakar sekumpulan wang kertas. Tidak ada bank tunggal di mana anda boleh menulis permohonan dengan salinan pasport anda, dan dia akan mencetaknya. Ini memerlukan pelepasan tambahan bitcoin baru "daripada udara tipis".

Masalah perbelanjaan berganda

Di atas saya katakan bahawa urus niaga ditambah kepada "kumpulan urus niaga yang belum disahkan" khas. Mengapakah kita memerlukan sejenis entiti perantaraan, jika kita sebenarnya sudah mempunyai urus niaga yang ditandatangani sedia dibuat? Mengapa tidak menulisnya terus ke blockchain?

Kerana isyarat dari titik A ke titik B sentiasa berjalan dengan kelewatan. Dua transaksi boleh pergi dengan cara yang sama sekali berbeza. Dan transaksi yang dimulakan dahulu boleh sampai kepada penerima kemudian, kerana ia mengambil laluan yang lebih panjang.

Ini mengakibatkan perbelanjaan berganda, apabila wang yang sama dihantar kepada dua penerima sekaligus, yang mereka tidak akan meneka. Ini bukan untuk menyerahkan bil dari tangan ke tangan.

Untuk rangkaian terdesentralisasi yang tiada siapa yang boleh dipercayai, masalah ini amat meruncing. Begini cara anda memastikan bahawa satu transaksi pasti sebelum yang lain? Minta penghantar menjahit masa penghantaran ke dalamnya, bukan? Tetapi ingat - anda tidak boleh mempercayai sesiapa, malah pengirimnya.

Masa pada semua komputer semestinya berbeza dan tidak ada cara yang dijamin untuk menyegerakkannya. Salinan blockchain disimpan pada setiap komputer dalam rangkaian dan setiap peserta hanya mempercayainya.

Bagaimanakah anda boleh memastikan bahawa satu transaksi lebih awal daripada yang lain?

Jawapannya mudah: ia adalah mustahil. Tiada cara untuk mengesahkan masa transaksi pada rangkaian terdesentralisasi. Dan penyelesaian kepada masalah ini ialah idea blockchain ketiga penting yang dicipta oleh Satoshi dan yang, anehnya, dinyatakan betul-betul dalam namanya - blok.

Blok adalah tulang belakang blockchain

Setiap komputer yang berfungsi pada rangkaian memilih sebarang transaksi yang disukainya daripada kumpulan umum. Biasanya hanya untuk komisen tertinggi yang dia boleh perolehi. Jadi dia mengumpul transaksi untuk dirinya sendiri sehingga jumlah saiz mereka mencapai had yang dirundingkan. Dalam Bitcoin, had saiz blok ini ialah 1 MB (selepas SegWit2x ia akan menjadi 2 MB), dan dalam Bitcoin Cash - 8 MB.

Keseluruhan blok pada asasnya adalah senarai blok sedemikian, di mana setiap satu merujuk kepada yang sebelumnya. Ia boleh digunakan untuk menjejaki sebarang urus niaga dalam keseluruhan sejarah, membuka rantai blok walaupun ke rekod pertama.

Senarai inilah yang kini mempunyai berat ratusan gigabait dan mesti dimuat turun sepenuhnya ke semua komputer yang ingin mengambil bahagian dalam rangkaian (tetapi ini tidak perlu untuk membuat transaksi dan memindahkan wang sahaja). Ia dimuat turun dengan cara yang sama dari semua komputer terdekat pada rangkaian, seolah-olah anda memuat turun siri dari torrents, hanya episod baharu baharu dikeluarkan di dalamnya setiap 10 minit.

Setelah menaip urus niaga dari kumpulan untuk dirinya sendiri, komputer mula menyusun daripada mereka senarai tidak boleh dipalsukan yang sama seperti yang kami lakukan pada permulaan siaran di papan di rumah.

Hanya dia membuatnya dalam bentuk pokok - mencincang rekod secara berpasangan, kemudian hasilnya sekali lagi berpasangan, dan seterusnya sehingga hanya tinggal satu cincang - akar pokok, yang ditambah pada blok. Kenapa betul-betul dengan pokok - Saya tidak menemui jawapannya, tetapi saya rasa ia lebih pantas seperti itu. Baca lebih lanjut di wiki: Pokok Merkle.

Memandangkan blockchain semasa telah dimuat turun, komputer kami mengetahui dengan tepat apa blok terakhir di dalamnya. Dia hanya perlu menambah pautan padanya dalam pengepala blok, cincang semuanya dan beritahu semua komputer lain di rangkaian "lihat, saya membuat blok baharu, mari tambahkannya ke blok blok kami".

Selebihnya perlu menyemak sama ada blok itu dibina mengikut semua peraturan dan kami tidak menambah transaksi yang tidak perlu di sana, dan kemudian menambahkannya pada rantai kami. Sekarang semua urus niaga di dalamnya disahkan, blokchain meningkat satu blok dan semuanya berjalan lancar, bukan?

Tetapi tidak. Beribu-ribu komputer bekerja pada rangkaian secara serentak, dan sebaik sahaja mereka memasang blok baharu, mereka hampir serentak tergesa-gesa untuk memaklumkan kepada semua orang bahawa blok mereka telah dibuat terlebih dahulu. Dan dari bahagian sebelumnya, kita sudah tahu bahawa dalam rangkaian terdesentralisasi adalah mustahil untuk membuktikan siapa sebenarnya yang pertama.

Seperti di sekolah, apabila semua orang menyelesaikan ujian yang sukar, jarang berlaku walaupun pelajar cemerlang mengambil jawapan pada masa yang sama.

Tetapi jika bagi seseorang itu adalah tugas yang sukar untuk merancang percutian supaya dia mendapat cuti Mei, dan tiket ke laut adalah murah, maka untuk komputer ia adalah untuk menambah nombor sedemikian (bukan sekali) ke penghujung blok supaya hasilnya, cincang SHA-256 untuk keseluruhan blok bermula, katakan 10 sifar. Inilah masalah yang perlu diselesaikan untuk menambah blok pada rangkaian Bitcoin. Untuk rangkaian lain, tugas mungkin berbeza.

Oleh itu, kita datang kepada konsep perlombongan, yang semua orang sangat taksub dalam beberapa tahun kebelakangan ini.

perlombongan

Perlombongan Bitcoin bukanlah sejenis sakramen suci. Perlombongan bukan tentang mencari bitcoin baru di suatu tempat di kedalaman Internet. Perlombongan ialah apabila beribu-ribu komputer di seluruh dunia berdengung di ruang bawah tanah, melalui berjuta-juta nombor sesaat, cuba mencari cincang yang bermula dengan 10 sifar. Mereka tidak perlu berada dalam talian untuk melakukan ini.

Kad video dengan ratusan teras selari menyelesaikan masalah ini lebih cepat daripada mana-mana CPU.

Mengapa tepat 10 sifar? Dan seperti itu, ia tidak masuk akal. Jadi Satoshi datang dengan. Kerana ini adalah salah satu masalah yang sentiasa ada penyelesaiannya, tetapi ia pastinya tidak dapat ditemui lebih cepat daripada penghitungan pilihan yang membosankan yang panjang.

Kerumitan perlombongan secara langsung bergantung pada saiz rangkaian, iaitu jumlah kuasanya. Jika anda mencipta blockchain anda sendiri dan menjalankannya sendiri di rumah pada dua komputer riba, maka tugasnya harus lebih mudah. Contohnya, supaya cincang bermula dengan hanya satu sifar, atau supaya jumlah digit genap adalah sama dengan hasil tambah yang ganjil.

Ia akan mengambil masa beberapa dekad untuk satu komputer untuk mencari cincang bermula dengan 10 sifar. Tetapi jika anda menggabungkan beribu-ribu komputer ke dalam satu rangkaian dan mencari secara selari, maka, mengikut teori kebarangkalian, masalah ini diselesaikan secara purata dalam 10 minit. Ini adalah masa apabila blok baru muncul dalam blockchain bitcoin.

Setiap 8-12 minit, seseorang di bumi menemui hash sedemikian dan mendapat keistimewaan untuk mengumumkan penemuan mereka kepada semua orang, dengan itu mengelakkan masalah siapa yang pertama.

Untuk mencari jawapan, komputer (sehingga 2017) menerima 12.5 BTC - ini adalah jumlah ganjaran yang dijana oleh sistem bitcoin "keluar dari udara nipis" dan berkurangan setiap empat tahun.

Secara teknikal, ini bermakna setiap pelombong sentiasa menambah transaksi lain ke bloknya - "buat 12.5 BTC dan hantar ke dompet saya". Apabila anda mendengar "bilangan bitcoin di dunia terhad kepada 21 juta, kini mereka telah mengupah 16 juta" - ini adalah ganjaran yang dijana oleh rangkaian.

Pergi melihat blok Bitcoin secara langsung di salah satu tapak khusus. Terdapat juga urus niaga dengan input dan output, dan sebanyak 18 sifar pada permulaan dan semua cincang yang diterangkan di atas.

Ia adalah pelombong yang menambah urus niaga yang muncul pada blockchain. Jadi jika seseorang memberitahu anda bahawa dia akan "membuat blockchain untuk ***", soalan pertama yang dia mesti jawab ialah siapa yang akan melombong padanya dan mengapa. Selalunya, jawapan yang betul adalah "semua orang akan, kerana untuk perlombongan kami memberikan syiling kami, yang akan berkembang dan ia menguntungkan bagi pelombong". Tetapi ini tidak terpakai kepada semua projek.

Sebagai contoh, beberapa Kementerian Kesihatan esok mencipta rantaian tertutup sendiri untuk doktor (dan mereka mahukannya), siapa yang akan melombongnya? Ahli terapi hujung minggu?

Tetapi apakah faedahnya kepada pelombong nanti, apabila pahalanya hilang atau berkurangan?

Menurut idea Pencipta, pada masa itu orang akan perlu percaya pada realiti bitcoin dan perlombongan akan mula dibayar dengan jumlah yuran yang disertakan dalam setiap transaksi. Di sinilah segala-galanya berlaku: pada tahun 2012, semua komisen adalah sifar, pelombong dilombong hanya untuk ganjaran daripada blok. Hari ini, transaksi dengan komisen sifar boleh digantung di kolam selama beberapa jam, kerana terdapat persaingan dan orang ramai sanggup membayar untuk kelajuan.

Maksudnya, intipati perlombongan adalah dalam menyelesaikan masalah yang tidak bermakna. Tidakkah semua kuasa ini boleh digunakan untuk sesuatu yang lebih berguna - mencari penawar untuk kanser, contohnya?

Intipati perlombongan adalah untuk menyelesaikan sebarang masalah pengiraan. Tugasan ini sepatutnya cukup mudah untuk peserta rangkaian mempunyai kebarangkalian yang stabil untuk mencari jawapan - jika tidak, urus niaga akan disahkan selama-lamanya. Bayangkan bahawa semasa pembayaran di kedai anda perlu menunggu setengah jam setiap kali untuk bank mengesahkan transaksi anda. Tiada siapa yang akan menggunakan bank sedemikian.

Tetapi tugas itu mesti pada masa yang sama sukar, supaya semua netizen tidak menemui jawapannya sekaligus. Kerana dalam kes ini mereka akan mengumumkan banyak blok dengan transaksi yang sama ke rangkaian dan akan ada kemungkinan "pembaziran berganda", yang saya nyatakan. Atau lebih teruk lagi - membahagikan satu rantaian blok kepada beberapa cawangan, di mana tiada siapa yang dapat mengetahui transaksi mana yang disahkan dan mana yang tidak.

Jika ganjaran 12.5 BTC diedarkan hanya sekali setiap 10 minit dan hanya seorang yang menemui blok itu, ternyata saya terpaksa membazir kad video selama beberapa tahun dengan harapan suatu hari nanti saya akan turun $40,000 (pada kadar pertukaran semasa)?

Ini betul-betul kes untuk bitcoin. Tetapi ia tidak selalu begitu. Sebelum ini, rangkaian lebih kecil, kerumitannya lebih rendah, yang bermaksud bahawa kebarangkalian mencari cincang secara bersendirian untuk blok baharu adalah lebih tinggi. Tetapi kemudian bitcoin tidak begitu mahal.

Kini tiada siapa yang melombong bitcoin sahaja. Kini para peserta bersatu dalam kumpulan khas - kolam perlombongan, di mana semua orang bersama-sama cuba mencari cincang yang betul.

Jika sekurang-kurangnya salah seorang daripada kumpulan itu menemui, maka keseluruhan ganjaran dibahagikan antara peserta, bergantung kepada sumbangan mereka kepada kerja biasa. Ternyata anda sedang melombong dan anda mendapat satu sen daripada jumlah bahagian setiap minggu.

Tetapi perlombongan solo agak mungkin di rangkaian lain. Sehingga baru-baru ini, adalah mudah untuk melombong Ethereum, di mana blok ditemui setiap 10 saat. Ganjaran blok jauh lebih rendah di sana, tetapi kebarangkalian untuk memperoleh satu sen yang cantik adalah lebih tinggi.

Jadi kita akan membakar beribu-ribu kad video dengan sia-sia dan tiada jalan keluar?

Ya, tetapi ada idea. Perlombongan yang saya terangkan adalah klasik dan dipanggil Bukti Kerja (bukti kerja). Iaitu, setiap mesin membuktikan bahawa ia berfungsi untuk faedah rangkaian dengan menyelesaikan masalah yang tidak bermakna dengan kebarangkalian tertentu.

Tetapi sesetengah lelaki mula membuat blockchain dengan jenis perlombongan lain. Kini konsep kedua paling popular ialah Proof-of-Stake (proof of stake). Dalam jenis perlombongan ini, lebih banyak "syiling" peserta rangkaian ada dalam akaunnya, lebih besar kemungkinan dia memasukkan bloknya ke dalam rantaian blok. Macam lelaki paling bising di kampung.

Anda boleh memikirkan jenis perlombongan lain. Seperti yang telah dicadangkan, semua komputer di rangkaian boleh mencari penawar untuk kanser, hanya anda perlu memikirkan bagaimana, dalam kes ini, untuk merekodkan sumbangan mereka kepada sistem. Lagipun, saya boleh mengisytiharkan bahawa saya juga mengambil bahagian, tetapi matikan kad video saya dan tidak mengira apa-apa.

Bagaimanakah anda mengukur sumbangan setiap peserta untuk mencari penawar kanser? Jika anda datang dengannya - berani untuk memotong CancerCoin anda, gembar-gembur dalam media dijamin untuk anda.

Rantaian sekat

Bayangkan situasi di mana, walaupun semua teori kebarangkalian kami, dua pelombong masih berjaya mencari jawapan yang betul pada masa yang sama. Mereka mula menghantar dua blok yang betul-betul betul melalui rangkaian.

Blok ini dijamin berbeza, kerana walaupun mereka secara ajaib memilih transaksi yang sama dari kolam, membuat pokok yang sama sekali dan meneka nombor rawak yang sama (bukan sekali), cincang mereka akan tetap berbeza, kerana masing-masing akan menulis nombor dompetnya dalam blok untuk ganjaran.

Sekarang kita mempunyai dua blok yang sah dan sekali lagi timbul masalah siapa yang harus dipertimbangkan dahulu. Bagaimanakah rangkaian akan berkelakuan dalam kes ini?

Algoritma blockchain menyatakan bahawa peserta rangkaian hanya menerima jawapan betul pertama yang sampai kepada mereka. Kemudian mereka hidup berdasarkan gambaran dunia mereka sendiri.

Kedua-dua pelombong akan menerima ganjaran mereka, dan semua yang lain mula melombong, bergantung pada blok terakhir yang mereka terima secara peribadi, membuang semua yang lain adalah betul semula. Dua versi blockchain yang betul muncul pada rangkaian. Begitulah paradoksnya.

Ini adalah situasi rutin di mana teori kebarangkalian membantu sekali lagi. Rangkaian berfungsi dalam keadaan bercabang dua sehingga salah seorang pelombong menemui blok seterusnya kepada salah satu rantai ini.

Sebaik sahaja blok sedemikian ditemui dan dimasukkan ke dalam rantai, ia menjadi lebih panjang dan salah satu perjanjian rangkaian rantaian blok dimasukkan: dalam apa jua keadaan, rantaian terpanjang diterima sebagai satu-satunya yang benar untuk keseluruhan rangkaian.

Rantaian pendek, walaupun semua ketepatannya, ditolak oleh semua peserta dalam rangkaian. Urus niaga daripadanya dikembalikan ke kumpulan (jika mereka belum disahkan dalam yang lain), dan pemprosesannya bermula semula. Pelombong kehilangan ganjarannya kerana bloknya tidak lagi wujud.

Dengan pertumbuhan rangkaian, kebetulan seperti "sangat tidak mungkin" masuk ke dalam kategori "baik, kadang-kadang ia berlaku." Orang lama mengatakan bahawa terdapat kes apabila rantai empat blok digugurkan sekaligus.

Oleh sebab itu, tiga hujung peraturan ketidakselamatan rantai telah dicipta:

1. Ganjaran untuk perlombongan boleh digunakan hanya selepas 20 blok lagi disahkan selepas menerima. Untuk Bitcoin, ini adalah kira-kira tiga jam.

2. Jika bitcoin dihantar kepada anda, anda boleh menggunakannya sebagai input dalam transaksi baharu hanya selepas 1-5 blok.

3. Peraturan 1 dan 2 hanya dinyatakan dalam tetapan setiap pelanggan. Tiada siapa yang memantau pematuhan mereka. Tetapi undang-undang rantaian terpanjang masih akan menghapuskan semua transaksi anda jika anda cuba menipu sistem supaya tidak menguatkuasakannya.

Cuba menipu blockchain

Sekarang setelah anda mengetahui segala-galanya tentang perlombongan, peranti rantaian blok dan peraturan rantaian terpanjang, anda mungkin mempunyai soalan: adakah mungkin untuk mengatasi rantaian tersebut secara khusus dengan membuat rantaian terpanjang sendiri, dengan itu mengesahkan transaksi palsu anda.

Katakan anda mempunyai komputer yang paling berkuasa di bumi. Pusat data Google dan Amazon disatukan untuk kegunaan anda dan anda cuba mengira rantaian sedemikian yang akan menjadi rantaian terpanjang dalam rangkaian.

Anda tidak boleh mengambil dan segera mengira beberapa blok rantai, kerana setiap blok seterusnya bergantung pada yang sebelumnya. Kemudian anda membuat keputusan secepat mungkin untuk mengira setiap blok pada pusat data besar anda selari dengan cara semua peserta lain terus meningkatkan rantaian utama. Adakah mungkin untuk memintas mereka? Kemungkinan Ya.

Jika kuasa pengkomputeran anda melebihi 50% daripada kuasa semua peserta rangkaian, maka dengan kebarangkalian 50% anda akan dapat membina rantai yang lebih panjang lebih cepat daripada semua yang lain digabungkan. Ini adalah cara yang mungkin secara teori untuk menipu rantaian blok dengan mengira rantaian urus niaga yang lebih panjang. Kemudian semua urus niaga rangkaian sebenar akan dianggap tidak sah, dan anda akan mengumpul semua ganjaran dan memulakan pencapaian baharu dalam sejarah mata wang kripto, yang dipanggil "bahagian rantaian blok". Sekali, disebabkan pepijat dalam kod, ini berlaku dengan Ethereum.

Tetapi pada hakikatnya, tiada pusat data boleh dibandingkan dari segi kuasa kepada semua komputer di dunia. Satu setengah bilion Cina dengan icics, satu setengah bilion lagi India yang kelaparan dengan ladang perlombongan dan elektrik murah - ini adalah kuasa pengkomputeran yang besar. Tiada sesiapa pun di dunia yang boleh bersaing dengan mereka sahaja, malah Google.

Ia seperti keluar di jalanan dan cuba meyakinkan setiap orang di dunia bahawa dolar kini bernilai 1 rubel dan tepat pada masanya sebelum media mendedahkan anda. Dan jika anda berjaya meyakinkan semua orang, anda boleh meruntuhkan ekonomi dunia. Secara teori, tidak mungkin? Tetapi dalam amalan, atas sebab tertentu, tiada siapa yang berjaya.

Blockchain juga bergantung pada kebarangkalian ini. Lebih ramai peserta-pelombong, lebih banyak keselamatan dan kepercayaan dalam rangkaian. Oleh itu, apabila satu lagi ladang perlombongan besar diliputi di China, kadarnya akan runtuh. Semua orang takut bahawa di suatu tempat di dunia terdapat seorang genius jahat yang telah mengumpulkan kumpulan pelombong pada kapasiti ~ 49%.

Kesimpulan

Blockchain bukanlah set algoritma yang ditentukan dengan ketat. Ia adalah struktur untuk membina rangkaian palsu antara peserta, di mana tiada siapa boleh mempercayai sesiapa. Semasa membaca, anda mungkin terfikir lebih daripada sekali bahawa "anda boleh melakukannya seperti ini dan ia akan menjadi lebih berguna". Ini bermakna anda memahami blockchain, tahniah.

Sesetengah lelaki di dunia juga memahaminya dan ingin menambah baik atau menyesuaikan diri untuk beberapa tugas tertentu. Mata wang kripto tidak sama, walaupun terdapat banyak daripadanya juga. Berikut ialah senarai pendek beberapa idea dan projek yang telah mendapat populariti berkat pemikiran semula idea blockchain.

Ethereum

“Ethers” ialah perkataan kedua paling popular yang anda dengar dalam berita crypto-hype, selepas Bitcoin. Bagi orang biasa, ini adalah satu lagi mata wang kripto dan cara untuk melakukan perkara paling trendi yang dipanggil ICO. Pemaju di tapak menggambarkan Ethereum sebagai "pembina blokchain untuk keperluan anda." Ini juga boleh, ya.

Tetapi jika anda menggali lebih mendalam, eter bukan sekadar rangkaian syiling. Ini ialah mesin pengkomputeran global yang besar, di mana pengguna melaksanakan kod program orang lain (kontrak pintar), menerima ganjaran untuk setiap baris yang dilaksanakan. Dan semua ini tidak berpusat, tidak boleh dihancurkan dan dengan semua jaminan blockchain.

Kita boleh bercakap tentang Ethereum dan kontrak pintar untuk sekian lama sehingga ia akan mencukupi untuk satu lagi jawatan sedemikian. Oleh itu, kami akan bertindak mengikut gaya blogger terkenal: jika siaran ini disiarkan semula dan ditweet semula secara aktif, dan menjelang Jumaat ia mendapat sekurang-kurangnya 1,500 paparan unik, saya akan menulis sekuel tentang Ethereum dan kontrak pintar.

Disyorkan: