} .leaderboard{ padding-top: 20px; margin-bottom: -10px; }

Apa itu Ethereum Gas? Panduan Langkah Demi Langkah Terbaik Yang Pernah Ada!

Apa itu Ethereum Gas? Panduan Langkah Demi Langkah Terbaik Yang Pernah Ada!

Apa itu Ethereum Gas? …

Ethereum Gas – adalah sumber kehidupan ekosistem Ethereum , tidak ada cara lain untuk menyatakannya. Gas adalah unit yang mengukur jumlah upaya komputasi yang diperlukan untuk menjalankan operasi tertentu.

Setiap operasi tunggal yang mengambil bagian dalam Ethereum, baik itu transaksi sederhana, atau kontrak pintar , atau bahkan ICO mengambil sejumlah gas. Gas adalah apa yang digunakan untuk menghitung jumlah biaya yang perlu dibayarkan ke jaringan untuk menjalankan operasi.

Dalam panduan ini, kita akan memahami cara kerja gas. Tetapi sebelum kita melakukannya, ada beberapa konsep yang harus kita pelajari. Jadi, tanpa basa-basi, mari kita mulai menyelam dalam pada Ethereum Gas.

Apa itu Ethereum Gas: Panduan Langkah-demi-Langkah

Bitcoin, Ethereum, dan Advent of Smart Contracts

Bitcoin dibuat karena semua orang menanyakan pertanyaan yang sama.

  • Apakah mungkin untuk membuat bentuk uang yang dapat ditransfer antara dua orang tanpa perantara?
  • Apakah mungkin untuk membuat uang terdesentralisasi yang dapat berfungsi pada sesuatu seperti blockchain?

Satoshi Nakamoto menjawab pertanyaan-pertanyaan ini ketika dia menciptakan bitcoin . Kami akhirnya memiliki sistem moneter terdesentralisasi yang dapat mentransfer uang dari satu orang ke orang lain.

Namun, ada masalah dengan bitcoin yang merupakan masalah dengan semua blockchaingenerasi pertama Mereka hanya diperbolehkan untuk transaksi moneter, tidak ada cara untuk menambahkan kondisi pada transaksi tersebut.

Alice dapat mengirim Bob 5 BTC, tetapi dia tidak bisa memaksakan kondisi pada transaksi tersebut. Misalnya. Dia tidak bisa memberi tahu Bob bahwa dia akan mendapatkan uang hanya jika dia melakukan tugas-tugas tertentu.

Kondisi ini akan membutuhkan skrip yang sangat rumit. Dibutuhkan sesuatu untuk membuat proses lebih mulus.

… Dan “sesuatu” itu adalah kontrak yang cerdas.

Apa itu kontrak pintar?

Kontrak pintar membantu Anda bertukar uang, properti, saham, atau apa pun yang bernilai secara transparan dan bebas konflik sambil menghindari layanan perantara.

Ethereum Vitalik Buterin dengan mudah menjadi pendukung generasi ini. Mereka menunjukkan kepada dunia bagaimana blockchain dapat berkembang dari mekanisme pembayaran sederhana menjadi sesuatu yang jauh lebih bermakna dan kuat.

Jadi, apa “kontrak pintar” ini dan apa masalahnya?

Kontrak pintar adalah kontrak otomatis. Mereka mengeksekusi sendiri dengan instruksi spesifik yang ditulis dalam kode yang dijalankan ketika kondisi tertentu dibuat.

Kontrak pintar adalah cara segala sesuatu dilakukan dalam ekosistem Ethereum. Ketika seseorang ingin menyelesaikan tugas tertentu di Ethereum, mereka memulai kontrak pintar dengan satu atau lebih orang.

Kontrak pintar adalah serangkaian instruksi, yang ditulis menggunakan bahasa pemrograman ” solidity “, yang bekerja berdasarkan logika IFTTT alias logika IF-THIS-THEN-BAHWA . Pada dasarnya, jika set instruksi pertama selesai maka jalankan fungsi berikutnya dan setelah itu berikutnya dan terus mengulangi sampai Anda mencapai akhir kontrak.

Cara terbaik untuk memahami itu adalah dengan membayangkan mesin penjual otomatis. Setiap langkah yang Anda ambil bertindak sebagai pemicu untuk langkah selanjutnya untuk mengeksekusi sendiri. Ini agak seperti efek domino. Jadi, mari kita periksa langkah-langkah yang akan Anda ambil saat berinteraksi dengan mesin penjual otomatis:

  • Langkah 1: Anda memberi uang pada mesin penjual otomatis.
  • Langkah 2: Anda menekan tombol yang sesuai dengan item yang Anda inginkan.
  • Langkah 3: Item keluar dan Anda kumpulkan.

Sekarang lihat semua langkah itu dan pikirkanlah. Apakah ada langkah yang akan berhasil jika yang sebelumnya tidak dijalankan? Setiap langkah tersebut terkait langsung dengan langkah sebelumnya. Ada satu faktor lagi untuk dipikirkan, dan itu merupakan bagian integral dari kontrak pintar. Anda lihat, dalam seluruh interaksi Anda dengan mesin penjual otomatis, Anda (pemohon) hanya bekerja dengan mesin tersebut (penyedia). Sama sekali tidak ada pihak ketiga yang terlibat.

Jadi, sekarang bagaimana transaksi ini terlihat jika terjadi di jaringan Ethereum?

Misalkan Anda baru saja membeli sesuatu dari mesin penjual otomatis di jaringan Ethereum, bagaimana langkah-langkahnya nantinya?

Langkah 1: Anda memberikan uang kepada mesin penjual otomatis dan ini akan dicatat oleh semua node di jaringan Ethereum dan transaksi akan diperbarui dalam buku besar.

Langkah 2: Anda memencet tombol yang sesuai dengan item yang Anda inginkan dan mencatatnya yang diperbarui di jaringan dan buku besar Ethereum.

Langkah 3: Item keluar dan Anda mengumpulkannya dan ini direkam oleh semua node dan buku besar.

Setiap transaksi yang Anda lakukan melalui kontrak pintar akan dicatat dan diperbarui oleh jaringan. Apa yang dilakukan adalah bahwa hal itu membuat setiap orang yang terlibat dalam kontrak bertanggung jawab atas tindakan mereka. Itu menghilangkan kejahatan manusia dengan membuat setiap tindakan yang diambil terlihat oleh seluruh jaringan

Apa itu Mesin Virtual Ethereum?

Sebelum kita memahami apa itu Mesin Virtual Ethereum (EVM), kita harus memahami mengapa “Mesin Virtual” diperlukan.

Jadi mari kita kembali ke kontrak pintar.

Apa properti yang diinginkan yang kita inginkan dalam kontrak pintar kita?

Apa pun yang berjalan pada blockchain harus tetap dan harus memiliki kemampuan untuk berjalan melalui beberapa node tanpa mengurangi integritasnya. Karenanya, fungsi kontrak pintar perlu tiga hal:

  • Deterministik.
  • Sementara.
  • Terpencil.

Fitur # 1: Deterministic

Suatu program bersifat deterministik jika memberikan hasil yang sama ke input yang diberikan setiap saat. Misalnya. Jika 3 + 1 = 4 maka 3 + 1 SELALU akan menjadi 4 (dengan asumsi basis yang sama). Jadi ketika suatu program memberikan output yang sama ke set input yang sama di komputer yang berbeda, program tersebut disebut deterministik.

Ada berbagai momen ketika suatu program dapat bertindak dengan cara yang tidak deterministik:

  • Memanggil fungsi sistem yang tidak deterministik: Ketika seorang programmer memanggil fungsi yang tidak deterministik dalam program mereka.
  • Sumber daya data yang tidak deterministik: Jika suatu program memperoleh data selama runtime dan sumber data tersebut tidak deterministik maka program tersebut menjadi tidak deterministik. Misalnya. Misalkan program yang memperoleh 10 pencarian google teratas dari permintaan tertentu. Daftar mungkin terus berubah.
  • Panggilan Dinamis: Ketika suatu program memanggil program kedua itu disebut panggilan dinamis. Karena target panggilan ditentukan hanya selama eksekusi, itu sifatnya tidak deterministik.

Fitur # 2: Terminable

Dalam logika matematika, kami memiliki kesalahan yang disebut “masalah terputus-putus”. Pada dasarnya, ini menyatakan bahwa ada ketidakmampuan untuk mengetahui apakah suatu program dapat menjalankan fungsinya dalam batas waktu atau tidak. Pada tahun 1936, Alan Turing menyimpulkan, menggunakan Cantor’s Diagonal Problem, bahwa tidak ada cara untuk mengetahui apakah suatu program dapat diselesaikan dalam batas waktu atau tidak.

Ini jelas merupakan masalah dengan kontrak pintar karena, kontrak menurut definisi, harus mampu berakhir dalam batas waktu tertentu . Ada beberapa langkah yang diambil untuk memastikan bahwa ada cara untuk “membunuh” kontrak secara eksternal dan tidak masuk ke dalam loop tanpa akhir yang akan menghabiskan sumber daya:

  • Turing Incompleteness: Sebuah blockchain Turing Incomplete akan memiliki fungsi terbatas dan tidak mampu melakukan lompatan dan / atau loop. Karenanya mereka tidak dapat memasuki loop tanpa akhir.
  • Langkah dan Pengukur Biaya: Suatu program dapat dengan mudah melacak jumlah “langkah” yang telah diambil, yaitu jumlah instruksi yang telah dijalankan, dan kemudian berakhir setelah penghitungan langkah tertentu dijalankan. Metode lain adalah pengukur biaya. Di sini kontrak dilaksanakan dengan biaya pra-bayar. Setiap pelaksanaan instruksi membutuhkan sejumlah biaya tertentu. Jika biaya yang dikeluarkan melebihi biaya pra-bayar maka kontrak diakhiri.
  • Timer: Di sini timer yang telah ditentukan disimpan. Jika pelaksanaan kontrak melebihi batas waktu maka dibatalkan secara eksternal.

Fitur # 3: Terisolasi

Dalam blockchain, siapa pun dan semua orang dapat mengunggah kontrak pintar. Namun, karena ini kontrak mungkin, secara sadar dan tidak sadar mengandung virus dan bug.

Jika kontrak tidak diisolasi, ini dapat menghambat keseluruhan sistem. Karenanya, sangat penting bagi sebuah kontrak untuk tetap terisolasi di dalam kotak pasir untuk menyelamatkan seluruh ekosistem dari segala efek negatif.

Sekarang kita telah melihat fitur-fitur ini, penting untuk mengetahui bagaimana mereka dieksekusi. Biasanya, kontrak pintar dijalankan menggunakan salah satu dari dua sistem:

  • Mesin Virtual: Ethereum menggunakan ini.
  • Docker: Fabric menggunakan ini.

Mari kita bandingkan keduanya dan tentukan yang mana yang membuat ekosistem lebih baik. Demi kesederhanaan, kita akan membandingkan Ethereum (Mesin Virtual) ke Fabric (Docker).

Apa itu Ethereum Gas: Panduan Langkah-demi-Langkah

Jadi, seperti yang bisa dilihat, Mesin Virtual menyediakan lingkungan Deterministic, terminable dan terisolasi yang lebih baik untuk kontrak Smart. Namun, buruh pelabuhan memiliki satu keunggulan berbeda. Mereka menyediakan fleksibilitas bahasa pengodean saat berada di Mesin Virtual (VM) seperti Ethereum, orang perlu mempelajari bahasa baru (soliditas) untuk membuat kontrak yang cerdas.

EVM adalah mesin virtual tempat semua kontrak pintar berfungsi di Ethereum. Ini adalah mesin virtual Turing Lengkap 256-bit yang sederhana namun kuat. Turing Complete berarti mengingat sumber daya dan memori, setiap program yang dijalankan dalam EVM dapat menyelesaikan masalah apa pun.

Apa itu Ethereum Gas?

Seperti dijelaskan dalam pendahuluan, Gas adalah unit yang mengukur jumlah upaya komputasi yang diperlukan untuk menjalankan operasi tertentu.

Catatan: Sebelum kita melanjutkan, teriakan besar kepada Joseph Chow atas presentasinya yang luar biasa tentang gas Ethereum.

Sebagian besar kontrak pintar yang dijalankan dalam EVM dikodekan menggunakan Solidity (Ethereum berencana untuk beralih ke Viper dari Solidity di masa depan).  Setiap baris kode dalam Solidity membutuhkan sejumlah gas untuk dieksekusi.

Gambar di bawah ini diambil dari Ethereum Yellowpaper dan dapat digunakan untuk mendapatkan gambaran kasar tentang berapa banyak instruksi spesifik yang memerlukan banyak biaya. Setiap transaksi membutuhkan setidaknya 21.000 gas sesuai tabel ini :

Untuk lebih memahami bagaimana gas bekerja di Ethereum, mari kita gunakan analogi. Misalkan Anda akan melakukan perjalanan. Sebelum Anda melakukannya, Anda harus melalui langkah-langkah ini:

  • Anda pergi ke pompa bensin dan tentukan berapa banyak bensin yang ingin Anda isi di mobil Anda.
  • Anda mengisi bensin di mobil Anda.
  • Anda membayar pompa bensin jumlah uang Anda berutang kepada mereka untuk gas.

Sekarang, mari kita menggambar paralel dengan Ethereum.

Mengemudi mobil adalah operasi yang ingin Anda jalankan, seperti menjalankan fungsi kontrak pintar.

Gasnya baik-baik saja …. gas.

Pompa bensin adalah penambang Anda.

Uang yang Anda bayarkan kepada mereka adalah biaya penambang.

Semua operasi yang ingin dijalankan pengguna di ethereum harus menyediakan gas untuk yang berikut:

  • Untuk menutupi datanya alias gas intrinsik.
  • Untuk mencakup seluruh komputasinya.

Sekarang kita telah membahas dasar-dasarnya, Anda mungkin mengajukan pertanyaan berikut.

Mengapa kita memiliki sistem Gas ini?

Jawabannya sederhana … insentif.

Seperti sistem peer-to-peer bukti-of-work, Ethereum sangat bergantung pada hashrate dari penambang mereka. Lebih banyak penambang, lebih banyak hashrate, lebih aman dan cepat sistem.

Untuk menarik lebih banyak penambang ke dalam sistem , mereka perlu membuat sistem menguntungkan dan memikat sebanyak mungkin bagi para penambang . Di Ethereum, ada dua cara agar penambang dapat memperoleh uang:

  • Dengan menambang blok dan mendapatkan hadiah blok.
  • Dengan menjadi diktator sementara dari blok-blok tambang mereka.

Mari kita selidiki poin kedua.

Para penambang bertanggung jawab untuk menempatkan transaksi di dalam blok mereka. Untuk melakukannya, mereka harus menggunakan kekuatan komputasi mereka untuk memvalidasi kontrak pintar. Sistem gas memungkinkan mereka membebankan biaya tertentu untuk melakukannya.

Biaya ini dikenal sebagai biaya penambang dan membantu mereka cukup memberi insentif untuk mengambil bagian secara aktif dalam ekosistem.

Jadi, berapa banyak biaya yang dapat mereka bebankan? Sebelum kita dapat menghitungnya, mari kita memahami bagaimana kita mengukur gas.

Gas hanya diukur dalam satuan gas. Transaksi yang dikirim ke jaringan Ethereum membutuhkan sejumlah gas diskrit (mis. 100 gas) tergantung pada berapa banyak instruksi EVM yang perlu dijalankan.

Jadi, bagaimana kita mengubah gas menjadi Eter?

Tidak ada harga konversi tetap. Terserah pengirim transaksi untuk menentukan harga gas yang mereka suka. Di sisi lain, tergantung pada penambang untuk memverifikasi setiap transaksi yang mereka sukai (biasanya yang menentukan harga gas tertinggi ). Harga gas rata-rata biasanya di urutan sekitar 20 Gwei (atau 0,00000002 ETH), tetapi dapat meningkat selama masa lalu lintas jaringan yang tinggi karena ada lebih banyak transaksi yang bersaing untuk dimasukkan dalam blok berikutnya.

Bagan berikut menunjukkan bagan rata-rata harga gas Ethereum.

Sebelum kita melangkah lebih jauh, penting untuk mengetahui konsep batas gas.

Apa itu Batas Gas Ethereum?

Untuk menyelesaikan operasi di Ethereum, pengirim transaksi harus menentukan batas gassebelum mereka mengirimkannya ke jaringan. Batas gas adalah jumlah gas maksimum yang bersedia dibayarkan oleh pengirim untuk transaksi ini.

Saat menentukan batas gas, poin-poin berikut harus dipertimbangkan:

  • Operasi yang berbeda akan memiliki biaya gas yang berbeda (seperti yang telah ditunjukkan sebelumnya).
  • Para penambang akan berhenti mengeksekusi saat gas habis.
  • Jika ada gas yang tersisa, maka akan segera dikembalikan ke generator operasi.

Mari kita lihat ini dalam skenario hipotetis .

Misalkan, kami menambahkan dua angka dan untuk itu kontrak harus melakukan tindakan berikut:

  • Menyimpan 10 dalam suatu variabel. Katakanlah operasi ini membutuhkan biaya 45 gas.
  • Menambahkan dua variabel, katakanlah ini biaya 10 gas.
  • Menyimpan hasil yang sekali lagi membutuhkan biaya 45 gas.

Misalkan pengirim menentukan batas gas 120 gas.

Total gas yang digunakan oleh penambang untuk menjalankan perhitungan adalah (45 + 10 + 45) = 100 gas.

Biaya yang terutang kepada penambang, dengan asumsi 1 biaya gas 20 Gwei, adalah (100 * 20 Gwei) = 0,000002 ETH.

Sekarang, berapa banyak gas yang tersisa?

120 – 100 = 20 gas.

20 gas yang tidak digunakan dikembalikan ke pengirim (20 * 20 Gwei) = 0,0000004 ETH.

Jadi, setelah mengatakan itu, ada dua skenario yang harus dipertimbangkan:

  • Batas gas yang ditentukan terlalu rendah.
  • Batas gas yang ditentukan terlalu tinggi.

Skenario # 1: Batas Gas terlalu rendah

Jika suatu operasi kehabisan gas, maka ia dikembalikan ke keadaan semula seperti tidak ada yang sebenarnya terjadi , namun, generator operasi harus MASIH membayar biaya penambang untuk biaya komputasi mereka dan operasi akan ditambahkan ke blockchain (bahkan jika itu belum dieksekusi) .

Kembali ke analogi road trip kami, jika Anda belum mengisi cukup bensin di mobil Anda, maka Anda tidak akan dapat mencapai tujuan Anda, tetapi bahkan kemudian Anda membayar uang bensin untuk bahan bakar, bukan?

Mari kita lihat bagaimana ini bekerja dalam kontrak pintar hipotetis kita. Langkah-langkahnya adalah:

  • Menyimpan 10 dalam suatu variabel. Katakanlah operasi ini membutuhkan biaya 45 gas.
  • Menambahkan dua variabel, katakanlah ini biaya 10 gas.
  • Menyimpan hasil yang sekali lagi membutuhkan biaya 45 gas.

Namun, kali ini, pengirim menetapkan batas gas 90 gas.

Sekarang, kita tahu bahwa gas yang akan diperlukan untuk memenuhi transaksi adalah 100 gas, tetapi kami hanya menetapkan batas 90 gas.

Dalam skenario ini, penambang akan melakukan perhitungan gas senilai 90 dan kemudian membebankan biaya pengirim untuk 90 gas yang ternyata (90 * 20 Gwei) = 0,0000018 ETH.

Juga, kontrak kembali ke keadaan semula dan transaksi termasuk dalam blockchain.


Skenario # 2: Batas Gas terlalu tinggi

Jadi, bagaimana jika kita menetapkan batas gas terlalu tinggi?

Itu masuk akal untuk dilakukan dengan benar? Lagipula, apa pun yang tersisa akan dikembalikan ke pengirim, kan?

Kedengarannya bagus di atas kertas tetapi kenyataannya tidak bekerja dengan baik.

Penambang dibatasi oleh batas blok gas, yang akan kita duga adalah 6.700.000 gas. Transaksi dasar (transfer ETH sederhana) setidaknya memiliki kebutuhan gas 21.000 gas. Penambang hanya dapat memasukkan transaksi yang jumlahnya kurang dari atau sama dengan batas gas blok.

Misalkan ada transaksi A (yang melakukan transfer ETH sederhana) dan memiliki batas gas yang ditentukan 42.000 dan dua transaksi B dan C (juga transfer ETH sederhana) yang telah menetapkan batas gas 21.000.

Mana yang lebih masuk akal bagi penambang untuk menempatkannya di blok mereka?

  • Apakah mereka akan melakukan transaksi A dan mengembalikan sejumlah besar gas yang tidak digunakan?
  • Atau akankah mereka mengembalikan transaksi B dan C dan mengembalikan uang sedikit?

Poin kedua lebih masuk akal bagi mereka secara ekonomi bukan?

Inilah sebabnya mengapa memiliki batas gas kembung bukanlah cara yang masuk akal untuk melakukannya. Lebih masuk akal untuk menetapkan batas gas yang hanya sedikit lebih tinggi dari jumlah gas yang dibutuhkan untuk transaksi Anda.

Berikut ini adalah bagan batas gas rata-rata.

Gas Ethereum Tinggi dan Rendah vs Biaya Tinggi dan Rendah

Harus jelas bagi Anda sejauh ini bahwa gas dan eter bukanlah hal yang sama. Gas adalah jumlah daya komputasi yang diperlukan sedangkan eter adalah mata uang yang digunakan untuk membayar gas itu.

Sekarang dengan sepengetahuan semua yang kami peroleh sejauh ini, mari kita bahas beberapa skenario gas dan biaya.

Jika suatu operasi memiliki gas RENDAH, maka penambang bahkan tidak akan mengambilnya karena tidak memiliki gas yang cukup untuk menyelesaikan perhitungan.

Jika suatu operasi memiliki biaya RENDAH, maka itu mungkin memiliki gas yang cukup untuk menutupnya tetapi tetap saja, para penambang tidak akan mengunyah bit untuk mengambilnya karena operasi dengan biaya rendah tidak menarik secara ekonomi untuk mereka.

Jika suatu operasi memiliki gas TINGGI, maka itu berarti bahwa operasi itu membengkak dengan batas gas yang tinggi dan karenanya para penambang tidak akan mengambilnya.

Jika suatu operasi memiliki biaya TINGGI, maka para penambang tahu bahwa mereka akan menghasilkan banyak uang dari itu dan akan mengambilnya secara instan.

Harga gas yang saat ini direkomendasikan untuk berbagai jenis kecepatan transaksi, menurut ethgasstation adalah:

Apa yang Terjadi dalam Skenario Pengembalian Gas Ethereum?

Dalam soliditas, ada dua perintah yang memastikan bahwa Anda mendapatkan pengembalian uang gas kembali.

  • SUICIDE: Ini pada dasarnya membunuh kontrak pintar. Melakukan hal itu akan membuat Anda kembali 24.000 gas.
  • SSTORE: Penghapusan penyimpanan, yang membuat Anda kembali 15.000.

Jadi, jika kontrak Anda menggunakan hingga 14.000 gas dan menghapus penyimpanan, maka Anda harus mendapatkan kembali (15000-14000) 1000 gas yang dikembalikan kepada Anda, bukan?

Tidak sesederhana itu.

Jika itu masalahnya, maka penambang akan kehilangan semua insentif. Lagi pula, para penambang seharusnya tidak membayar Anda untuk melakukan perhitungan Anda, bukan?

Untuk menghindari skenario seperti ini, syarat dimasukkan.

Pengembalian dana yang telah diakumulasikan tidak dapat melebihi setengah dari gas yang digunakan selama perhitungan.

Mari kita ambil contoh untuk membersihkan ini.

… Misalkan kita memiliki kontrak pintar yang menghabiskan 14.000 gas.

Batas gas yang kami siapkan adalah 20.000 gas.

Kontrak pintar juga mencakup perintah SSTORAGE.

Jadi, berapa banyak gas yang akan dihasilkan oleh pembuat kontrak setelah perhitungan?

Pertama, mereka akan mendapatkan kembali (20.000-14.000) = 6.000 unit gas yang tidak digunakan.

Sekarang, perintah SSTORAGE juga telah digunakan, jadi secara teoritis mereka harus mendapatkan kembali 15.000 gas juga.

Namun, jumlah gas yang telah digunakan dalam kontrak adalah 14.000 dan sejak 15.000> 14.000 / 2, PENGEMBALIAN yang dihasilkan akan menjadi 14.000 / 2 = 7000.

Jadi total gas yang dihasilkan pencipta pada akhirnya adalah 6000 + 7000 = 13.000.

Mari kita ambil contoh lain.

Misalkan saat ini kontrak menggunakan 70.000 gas dan itu termasuk fungsi SUICIDE.

Fungsi SUICIDE akan memberi Anda 24.000 gas kembali yang <70.000 / 2.

Dalam situasi ini, pengembalian gas akan menjadi 24.000 + gas yang tidak digunakan.

Kritik terhadap Gas Ethereum. Apakah itu Dibenarkan ?

Meskipun sistem gas mendapat pujian karena menghadirkan mekanisme yang berjalan lancar yang memberi insentif pada penambang dengan cukup positif, belakangan ini mendapat kecaman karena terlalu mahal bagi pengembang dan pembuat kontrak pintar.

Mengenai hal ini, Danny Ryan melakukan beberapa penelitian menarik dalam artikel Hackernoon- nya .

Pertimbangkan skenario berikut:

Apa itu Ethereum Gas: Panduan Langkah-demi-Langkah

Ketika dua angka ditambahkan satu juta kali dalam Ethereum biayanya ~ $ 26,55 dalam biaya.

Danny Ryan membandingkannya dengan sistem AWS standar. Dia mengatakan bahwa dia dapat menambahkan dua angka satu juta kali menggunakan python dalam 0,04 detik, yang berlangsung dengan $ 0,0059 setiap jam tingkat Amazon EC2 biaya $ 0,000000066.

Ini berarti perhitungan di Ethereum 400 juta kali lebih mahal!

Berdasarkan studinya, ini adalah kesimpulan yang dia buat:

“Agar adil, menambahkan dua angka bersama 1 juta kali sedikit dibikin. Kontrak yang ditulis dengan baik kemungkinan akan memindahkan kompleksitas komputasi seperti off-chain dan lebih banyak berurusan dengan memperbarui keadaan dalam kontrak. Menyimpan data dalam jumlah besar ke blockchain juga bukan tugas biasa. Bergantung pada tugasnya, pengguna mungkin akan menyimpan referensi kriptografi (hash) data di-rantai dan menjaga sisa data tidak terhubung.

Yang mengatakan, kita sebagai pengembang harus menyadari biaya ini, dan merancang dApps yang sesuai. Kita perlu menemukan keseimbangan antara kompleksitas on-chain dan off-chain, sambil tetap memanfaatkan kemampuan desentralisasi dari blockchain. ”

source : https://blockgeeks.com/guides/ethereum-gas/