Lompat ke konten utama
Change page

Akun Ethereum

Pembaruan terakhir halaman: 23 Februari 2026

Sebuah akun Ethereum adalah entitas dengan saldo ether (ETH) yang dapat mengirim pesan di Ethereum. Akun dapat dikendalikan oleh pengguna atau disebarkan sebagai kontrak pintar.

Prasyarat

Untuk membantu Anda memahami halaman ini dengan lebih baik, kami sarankan Anda membaca terlebih dahulu pengantar Ethereum kami.

Jenis akun

Ethereum memiliki dua jenis akun:

  • Akun yang dimiliki secara eksternal (EOA) – dikendalikan oleh siapa saja yang memiliki kunci pribadi
  • Akun kontrak – sebuah kontrak pintar yang disebarkan ke jaringan, dikendalikan oleh kode. Pelajari tentang kontrak pintar

Kedua jenis akun memiliki kemampuan untuk:

  • Menerima, menyimpan, dan mengirim ETH dan token
  • Berinteraksi dengan kontrak pintar yang disebarkan

Perbedaan utama

Dimiliki secara eksternal

  • Membuat akun tidak memerlukan biaya
  • Dapat memulai transaksi
  • Transaksi antara akun yang dimiliki secara eksternal hanya dapat berupa transfer ETH/token
  • Terdiri dari pasangan kunci kriptografi: kunci publik dan kunci pribadi yang mengendalikan aktivitas akun

Kontrak

  • Membuat kontrak memerlukan biaya karena Anda menggunakan penyimpanan jaringan
  • Hanya dapat mengirim pesan sebagai respons terhadap penerimaan transaksi
  • Transaksi dari akun eksternal ke akun kontrak dapat memicu kode yang dapat mengeksekusi berbagai tindakan berbeda, seperti mentransfer token atau bahkan membuat kontrak baru
  • Akun kontrak tidak memiliki kunci pribadi. Sebaliknya, mereka dikendalikan oleh logika dari kode kontrak pintar

Pemeriksaan akun

Akun Ethereum memiliki empat bidang:

  • nonce – Sebuah penghitung yang menunjukkan jumlah transaksi yang dikirim dari akun yang dimiliki secara eksternal atau jumlah kontrak yang dibuat oleh akun kontrak. Hanya satu transaksi dengan nonce tertentu yang dapat dieksekusi untuk setiap akun, melindungi dari serangan ulangan (replay attacks) di mana transaksi yang ditandatangani disiarkan berulang kali dan dieksekusi kembali.
  • balance – Jumlah wei yang dimiliki oleh alamat ini. Wei adalah denominasi dari ETH dan terdapat 1e+18 wei per ETH.
  • codeHash – hash ini merujuk pada kode dari sebuah akun di Mesin Virtual Ethereum (EVM). Akun kontrak memiliki fragmen kode yang diprogram di dalamnya yang dapat melakukan berbagai operasi. Kode EVM ini dieksekusi jika akun mendapatkan panggilan pesan. Ini tidak dapat diubah, tidak seperti bidang akun lainnya. Semua fragmen kode tersebut terkandung dalam basis data status di bawah hash yang sesuai untuk pengambilan nanti. Nilai hash ini dikenal sebagai codeHash. Untuk akun yang dimiliki secara eksternal, bidang codeHash adalah hash dari string kosong.
  • storageRoot – Kadang-kadang dikenal sebagai hash penyimpanan. Sebuah hash 256-bit dari node akar dari Merkle Patricia Trie yang menyandikan isi penyimpanan akun (pemetaan antara nilai integer 256-bit), disandikan ke dalam trie sebagai pemetaan dari hash Keccak 256-bit dari kunci integer 256-bit ke nilai integer 256-bit yang disandikan RLP. Trie ini menyandikan hash dari isi penyimpanan akun ini, dan secara default kosong.

Diagram yang menunjukkan susunan sebuah akun Diagram diadaptasi dari Ethereum EVM illustrated (opens in a new tab)

Akun yang dimiliki secara eksternal dan pasangan kunci

Sebuah akun terdiri dari sepasang kunci kriptografi: publik dan pribadi. Kunci-kunci ini membantu membuktikan bahwa sebuah transaksi benar-benar ditandatangani oleh pengirim dan mencegah pemalsuan. Kunci pribadi Anda adalah apa yang Anda gunakan untuk menandatangani transaksi, sehingga memberikan Anda hak asuh atas dana yang terkait dengan akun Anda. Anda tidak pernah benar-benar memegang mata uang kripto, Anda memegang kunci pribadi – dana tersebut selalu berada di buku besar Ethereum.

Ini mencegah aktor jahat menyiarkan transaksi palsu karena Anda selalu dapat memverifikasi pengirim dari sebuah transaksi.

Jika Alice ingin mengirim ether dari akunnya sendiri ke akun Bob, Alice perlu membuat permintaan transaksi dan mengirimkannya ke jaringan untuk diverifikasi. Penggunaan kriptografi kunci publik oleh Ethereum memastikan bahwa Alice dapat membuktikan bahwa dia yang awalnya memulai permintaan transaksi tersebut. Tanpa mekanisme kriptografi, musuh yang jahat, Eve, dapat dengan mudah menyiarkan permintaan secara publik yang terlihat seperti “kirim 5 ETH dari akun Alice ke akun Eve,” dan tidak ada yang dapat memverifikasi bahwa itu tidak berasal dari Alice.

Pembuatan akun

Ketika Anda ingin membuat akun, sebagian besar pustaka akan menghasilkan kunci pribadi acak untuk Anda.

Kunci pribadi terdiri dari 64 karakter hex dan dapat dienkripsi dengan kata sandi.

Contoh:

fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f

Kunci publik dihasilkan dari kunci pribadi menggunakan Elliptic Curve Digital Signature Algorithm (opens in a new tab). Anda mendapatkan alamat publik untuk akun Anda dengan mengambil 20 byte terakhir dari hash Keccak-256 dari kunci publik dan menambahkan 0x di awalnya.

Ini berarti akun yang dimiliki secara eksternal (EOA) memiliki alamat 42 karakter (segmen 20-byte yang merupakan 40 karakter heksadesimal ditambah awalan 0x).

Contoh:

0x5e97870f263700f46aa00d967821199b9bc5a120

Contoh berikut menunjukkan cara menggunakan alat penandatanganan yang disebut Clef (opens in a new tab) untuk menghasilkan akun baru. Clef adalah alat manajemen akun dan penandatanganan yang dibundel dengan klien Ethereum, Geth (opens in a new tab). Perintah clef newaccount membuat pasangan kunci baru dan menyimpannya di keystore terenkripsi.

1> clef newaccount --keystore <path>
2
3Please enter a password for the new account to be created:
4> <password>
5
6------------
7INFO [10-28|16:19:09.156] Your new key was generated address=0x5e97870f263700f46aa00d967821199b9bc5a120
8WARN [10-28|16:19:09.306] Please backup your key file path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120
9WARN [10-28|16:19:09.306] Please remember your password!
10Generated account 0x5e97870f263700f46aa00d967821199b9bc5a120
Tampilkan semua

Dokumentasi Geth (opens in a new tab)

Dimungkinkan untuk menurunkan kunci publik baru dari kunci pribadi Anda, tetapi Anda tidak dapat menurunkan kunci pribadi dari kunci publik. Sangat penting untuk menjaga kunci pribadi Anda tetap aman dan, seperti namanya, PRIBADI.

Anda memerlukan kunci pribadi untuk menandatangani pesan dan transaksi yang menghasilkan tanda tangan. Orang lain kemudian dapat mengambil tanda tangan tersebut untuk menurunkan kunci publik Anda, membuktikan penulis pesan tersebut. Dalam aplikasi Anda, Anda dapat menggunakan pustaka JavaScript untuk mengirim transaksi ke jaringan.

Akun kontrak

Akun kontrak juga memiliki alamat heksadesimal 42 karakter:

Contoh:

0x06012c8cf97bead5deae237070f9587f8e7a266d

Alamat kontrak biasanya diberikan ketika sebuah kontrak disebarkan ke Blockchain Ethereum. Alamat tersebut berasal dari alamat pembuat dan jumlah transaksi yang dikirim dari alamat tersebut (“nonce”).

Kunci validator

Ada juga jenis kunci lain di Ethereum, yang diperkenalkan ketika Ethereum beralih dari konsensus berbasis proof-of-work ke proof-of-stake. Ini adalah kunci 'BLS' dan digunakan untuk mengidentifikasi validator. Kunci-kunci ini dapat diagregasi secara efisien untuk mengurangi bandwidth yang diperlukan jaringan untuk mencapai konsensus. Tanpa agregasi kunci ini, stake minimum untuk seorang validator akan jauh lebih tinggi.

Lebih lanjut tentang kunci validator.

Catatan tentang dompet

Sebuah akun bukanlah sebuah dompet. Dompet adalah antarmuka atau aplikasi yang memungkinkan Anda berinteraksi dengan akun Ethereum Anda, baik akun yang dimiliki secara eksternal maupun akun kontrak.

Demo visual

Tonton Austin memandu Anda melalui fungsi hash, dan pasangan kunci.

Bacaan lebih lanjut

Tahu tentang sumber daya komunitas yang membantu Anda? Edit halaman ini dan tambahkan!

Apakah artikel ini membantu?