MSTR Cat

Blockchain/Tahap VI · Selepas bitcoin/6.3 Ethereum dan kontrak pintar/Pelajaran 1

Kertas putih Ethereum dan EVM

Mesin keadaan yang berjalan pada setiap nod, dikuasakan oleh gas

BahanSalinan kertas putih Ethereum (2014)Kertas Kuning Ethereum (Gavin Wood, 2014)Akses kepada alat peneroka blok seperti Etherscan

Ingin tahu

  1. Mengapakah komputer yang direplikasi pada ribuan mesin perlu mengenakan caj bagi setiap arahan?
  2. Apa yang akan rosak jika kod yang berjalan pada mesin-mesin tersebut boleh berulang selama-lamanya tanpa sebarang penalti?
  3. Bagaimanakah dua model akaun yang berbeza—UTXO dan baki yang dikemas kini secara langsung—boleh mewakili kekayaan yang sama secara berbeza?

Teroka

  1. Vitalik Buterin, yang ketika itu berusia sembilan belas tahun, menyusun kertas putih Ethereum pada akhir tahun 2013, dengan mencadangkan platform pengiraan serba guna dan bukannya mata wang tertentu. Projek ini diumumkan secara terbuka pada Januari 2014 dan menghimpunkan para pengasas bersama termasuk Gavin Wood, Joseph Lubin, Charles Hoskinson, Anthony Di Iorio, dan Mihai Alisie. Jualan awam (crowdsale) diadakan dari Julai hingga Ogos 2014, mengumpulkan kira-kira 31,500 BTC untuk projek ini. Rangkaian tersebut dilancarkan secara rasmi pada 30 Julai 2015, menandakan peralihan daripada skrip terhad bitcoin kepada persekitaran yang sepenuhnya boleh diprogramkan, di mana para pembangun dapat membina aplikasi kompleks secara langsung di atas rantaian (on-chain).
  2. Inti kepada arkitektur ini ialah Ethereum Virtual Machine (EVM), iaitu mesin keadaan lengkap-Turing (Turing-complete) yang direplikasi pada setiap nod penuh. Berbeza dengan model UTXO bitcoin yang menjejak setiap output individu yang belum dibelanjakan, Ethereum menggunakan model akaun di mana baki dikemas kini secara langsung. Setiap akaun—sama ada dikawal oleh kunci peribadi atau oleh kod—menyimpan nonce dan baki. Apabila transaksi dilaksanakan, EVM memprosesnya secara deterministik; setiap nod mengira hasil yang sama secara sendiri, sekali gus memastikan konsensus tanpa memerlukan kepercayaan antara peserta.
  3. Kontrak pintar ialah program yang ditulis dalam bahasa peringkat tinggi seperti Solidity, yang dikompil menjadi kod operasi (opcode) peringkat rendah yang dilaksanakan oleh EVM. Kontrak ini menyimpan nilai dan logik pada masa yang sama. Sebuah kontrak boleh menyimpan ether, melaksanakan dagangan bersyarat, atau mengurus undian tadbir urus berdasarkan input daripada akaun lain. Memandangkan pelaksanaannya adalah deterministik dan banyak kontrak menerbitkan kod sumbernya, sesiapa sahaja boleh memeriksa logiknya sebelum berinteraksi dengannya. Ketelusan ini menghapuskan keperluan untuk perantara yang dipercayai dalam banyak aplikasi kewangan, kerana peraturan dikuatkuasakan oleh perisian dan bukannya budi bicara manusia.
  4. Untuk mencegah gelung tak terhingga dan serangan penafian perkhidmatan (denial-of-service), setiap operasi EVM menggunakan “gas”, iaitu unit pengiraan yang dibayar dalam ether. Penghantar menetapkan had gas terlebih dahulu; jika bahan api ini habis semasa pelaksanaan, perubahan keadaan akan dibatalkan, namun gas yang telah digunakan tetap ditolak. Kekangan ekonomi ini memaksa pembangun menulis kod yang cekap dan melindungi rangkaian daripada kontrak berniat jahat atau berpepijat yang boleh membekukan rantaian. Harga gas naik turun mengikut permintaan; pada mulanya pengguna hanya membida, dan sejak 2021 yuran asas yang ditetapkan oleh protokol dilaraskan secara automatik, dengan tip sebagai tambahan (dibincangkan dalam pelajaran kemudian).
  5. Pilihan reka bentuk dalam EVM mencerminkan kompromi antara keupayaan ekspresif dan keselamatan. Kelengkapan Turing membolehkan sebarang pengiraan, tetapi ia menimbulkan kerumitan yang boleh menyembunyikan kelemahan. Model akaun menjadikan sesetengah program lebih mudah berbanding model UTXO, namun kontrak yang saling memanggil perlu ditulis dengan teliti untuk mengelakkan pepijat seperti reentrancy, iaitu kelemahan di sebalik penggodaman The DAO (dibincangkan dalam pelajaran kemudian). Standardisasi EVM membolehkan wujudnya ekosistem alat dan juruaudit yang luas yang mahir dengan set arahan khusus tersebut.
  6. Buka peneroka blok seperti Etherscan dan periksa mana-mana transaksi terkini yang men-deploy kontrak pintar. Perhatikan status ‘Contract Creation’ serta jumlah gas yang digunakan berbanding had gas. Perhatikan juga bagaimana data input transaksi tersebut mengandungi bytecode terkompil yang disimpan di alamat baharu. Langkah konkrit ini mendedahkan realiti mekanikal proses deployment: kod dimuat naik, disahkan oleh setiap nod, dan dikunci ke dalam mesin keadaan rantaian, sedia untuk dilaksanakan apabila berlaku interaksi pada masa akan datang.

Fakta utama

  • Vitalik Buterin menulis kertas putih Ethereum pada akhir tahun 2013; projek tersebut diumumkan pada Januari 2014.
  • Jualan awam pada Julai-Ogos 2014 telah mengumpulkan kira-kira 31,500 BTC untuk dana pembangunan Ethereum.
  • Mainnet Ethereum dilancarkan pada 30 Julai 2015, dengan memperkenalkan mesin maya lengkap-Turing.
  • Setiap operasi EVM memerlukan penggunaan “gas” yang dibayar menggunakan ether, untuk mencegah gelung tak terhingga dan memastikan proses berakhir.
  • Ethereum menggunakan model akaun dengan kemas kini baki secara langsung, yang berbeza daripada sistem UTXO Bitcoin.
  • Kontrak pintar biasanya ditulis dalam Solidity, yang kemudian dikompilasi menjadi bytecode EVM yang deterministik.

Latihan sembilan, enam, tiga, satu

9KumpulSenaraikan 9 kekangan teknikal atau keputusan reka bentuk dalam kertas putih Ethereum yang berbeza daripada protokol Bitcoin.
6KelompokkanKumpulkan 9 item ini kepada 6 kategori berdasarkan impaknya: pengurusan keadaan, keselamatan, kos pelaksanaan, sokongan bahasa, konsensus, dan tadbir urus.
3SaringKurangkan 6 kluster kepada 3 sebab utama mengapa kesempurnaan Turing memerlukan mekanisme gas.
1KristalkanTulis 1 ayat yang menerangkan bagaimana sifat deterministik EVM memastikan konsensus global mengenai peralihan keadaan.

Semakan fakta

Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.

Buka dalam akademi interaktif →

EN PT ES ZH JA KO RU DE FR