Ethereum: Platform Kontrak Cerdas dan Aplikasi Terdesentralisasi Generasi Berikutnya

Yazan Vitalik Buterin · 2013

Tek mod ethereum.org

Abstract

Ethereum, yerleşik Turing-complete bir programlama dili içeren bir blockchain sunan, yeni nesil bir kripto para ve merkeziyetsiz uygulama platformudur. Bu, herkesin mülkiyet, işlem biçimleri ve state transition fonksiyonları için kendi kurallarını oluşturabilecekleri smart contract'lar ve merkeziyetsiz uygulamalar yazmasına olanak tanır.

Ethereum'un temel yeniliği, Bitcoin tarafından öncülük edilen blockchain teknolojisini genel amaçlı bir programlama ortamıyla birleştirmesidir. Bitcoin, bir hesaptan diğerine para transferi için basit bir state transition sistemi sağlarken, Ethereum geliştiricilerin alternatif para birimlerinden ve finansal araçlardan alan adı kayıt sistemlerine ve merkeziyetsiz organizasyonlara kadar hayal edebilecekleri her türlü merkeziyetsiz uygulamayı oluşturabilecekleri bir platform sunar.

Ethereum bunu, özünde nihai soyut temel katmanı inşa ederek başarır: yerleşik Turing-complete bir programlama diline sahip bir blockchain, herkesin mülkiyet, işlem biçimleri ve state transition fonksiyonları için kendi kurallarını oluşturabilecekleri smart contract'lar ve merkeziyetsiz uygulamalar yazmasına olanak tanır. Namecoin'in temel bir versiyonu iki satır kodla yazılabilir ve para birimleri ile itibar sistemleri gibi diğer protokoller yirmiden az satırda oluşturulabilir.

Abstract

Ethereum adalah platform cryptocurrency dan aplikasi terdesentralisasi generasi berikutnya yang memperkenalkan blockchain dengan bahasa pemrograman Turing-complete bawaan. Hal ini memungkinkan siapa saja untuk menulis smart contract dan aplikasi terdesentralisasi di mana mereka dapat membuat aturan sewenang-wenang mereka sendiri untuk kepemilikan, format transaksi, dan state transition function.

Inovasi fundamental Ethereum adalah menggabungkan teknologi blockchain yang dipelopori oleh Bitcoin dengan lingkungan pemrograman serbaguna. Sementara Bitcoin menyediakan sistem state transition sederhana untuk memindahkan mata uang dari satu akun ke akun lain, Ethereum menyediakan platform di mana pengembang dapat membangun segala jenis aplikasi terdesentralisasi yang dapat mereka bayangkan, dari mata uang alternatif dan instrumen keuangan hingga sistem pendaftaran domain dan organisasi terdesentralisasi.

Ethereum mencapai hal ini dengan membangun apa yang pada dasarnya adalah lapisan fondasi abstrak tertinggi: sebuah blockchain dengan bahasa pemrograman Turing-complete bawaan, yang memungkinkan siapa saja menulis smart contract dan aplikasi terdesentralisasi di mana mereka dapat membuat aturan sewenang-wenang mereka sendiri untuk kepemilikan, format transaksi, dan state transition function. Versi dasar Namecoin dapat ditulis dalam dua baris kode, dan protokol lain seperti mata uang dan sistem reputasi dapat dibangun dalam kurang dari dua puluh baris.

Introduction and Existing Concepts

Merkeziyetsiz dijital para birimi kavramı ve mülk kayıtları gibi alternatif uygulamalar onlarca yıldır var olmaktadır. 1980'lerin ve 1990'ların anonim e-nakit protokolleri, büyük ölçüde Chaumian blinding olarak bilinen bir kriptografik ilkeye dayanan, yüksek düzeyde gizlilik sunan bir para birimi sağlıyordu, ancak bu protokoller merkezi bir aracıya bağımlılıkları nedeniyle büyük ölçüde ilgi görmedi. 1998'de Wei Dai'nin b-money'si, hesaplama bulmacalarını çözerek para yaratma ve merkeziyetsiz uzlaşma fikrini ortaya koyan ilk teklif oldu, ancak teklif merkeziyetsiz uzlaşmanın gerçekte nasıl uygulanabileceği konusunda ayrıntılardan yoksundu.

2009'da Satoshi Nakamoto tarafından ilk kez pratikte merkeziyetsiz bir para birimi uygulandı; public key kriptografisi aracılığıyla sahiplik yönetimi için yerleşik ilkeleri, "proof of work" olarak bilinen, kimin madeni paralara sahip olduğunu izlemek için bir uzlaşma algoritması ile birleştirdi. Proof of work'ün arkasındaki mekanizma bu alanda bir atılımdı çünkü aynı anda iki sorunu çözdü. Birincisi, ağdaki düğümlerin Bitcoin defterinin durumuna ilişkin güncellemeler üzerinde toplu olarak anlaşmasını sağlayan basit ve orta düzeyde etkili bir uzlaşma algoritması sağladı. İkincisi, uzlaşma sürecine serbest girişe izin veren bir mekanizma sağladı; uzlaşmayı kimin etkileyeceğine karar verme siyasi sorununu çözerken aynı anda sybil saldırılarını önledi.

Bitcoin blockchain'i yıllarca süren işleyişinde dikkate değer bir sağlamlık göstermiştir, ancak doğası gereği sınırlıdır. Bitcoin'in betik dili kasıtlı olarak kısıtlayıcı ve Turing-complete olmayan şekilde tasarlanmıştır; daha karmaşık uygulamalar oluşturmak için gerekli olan döngüler ve birçok özellikten yoksundur. Bu sınırlama sonsuz döngüleri ve diğer hesaplama saldırılarını önlemek için mevcuttur, ancak Bitcoin üzerine ne inşa edilebileceğini ciddi şekilde kısıtlar.

Son beş yılda Bitcoin'in işlevselliğini genişletmek için birçok girişim olmuştur. Colored coins alternatif varlıkların sahipliğini izlemek için Bitcoin blockchain'ini kullanmayı amaçladı, Namecoin merkeziyetsiz bir isim kayıt veritabanı oluşturmaya çalıştı ve çeşitli metacoin protokolleri Bitcoin'in üzerine ek katmanlar inşa etmeyi hedefledi. Bu yaklaşımlar umut vaat etse de, nihayetinde Bitcoin'in betik yetenekleri ve betikler içinden blockchain verilerine erişim yetersizliği nedeniyle sınırlı kaldılar.

Ethereum'un sağlamayı amaçladığı şey, rastgele state transition fonksiyonlarını kodlayabilen "sözleşmeler" oluşturmak için kullanılabilecek, yerleşik tam donanımlı Turing-complete bir programlama diline sahip bir blockchain'dir; bu sayede kullanıcılar yukarıda açıklanan sistemlerden herhangi birini ve henüz hayal etmediğimiz birçoğunu, mantığı birkaç satır kodla yazarak oluşturabilirler.

Introduction and Existing Concepts

Konsep mata uang digital terdesentralisasi, serta aplikasi alternatif seperti pencatatan properti, telah ada selama beberapa dekade. Protokol e-cash anonim pada tahun 1980an dan 1990an, sebagian besar bergantung pada kriptografi primitif yang dikenal sebagai Chaumian blinding, menyediakan mata uang dengan tingkat privasi yang tinggi, namun sebagian besar protokol tersebut gagal mendapatkan daya tarik karena ketergantungan mereka pada perantara terpusat. Pada tahun 1998, b-money Wei Dai menjadi proposal pertama yang memperkenalkan gagasan menciptakan uang melalui pemecahan teka-teki komputasi serta konsensus desentralisasi, namun proposal tersebut tidak memberikan rincian tentang bagaimana konsensus desentralisasi sebenarnya dapat diterapkan.

Pada tahun 2009, mata uang terdesentralisasi untuk pertama kalinya diterapkan dalam praktiknya oleh Satoshi Nakamoto, menggabungkan cara primitif yang sudah mapan untuk mengelola kepemilikan melalui kriptografi kunci publik dengan algoritma konsensus untuk melacak siapa yang memiliki koin, yang dikenal sebagai "bukti kerja". Mekanisme di balik bukti kerja merupakan terobosan karena memecahkan dua masalah secara bersamaan. Pertama, ini memberikan algoritma konsensus yang sederhana dan cukup efektif, yang memungkinkan node dalam jaringan untuk secara kolektif menyetujui serangkaian pembaruan kanonik terhadap status Bitcoin ledger. Kedua, hal ini memberikan mekanisme yang memungkinkan masuknya secara bebas ke dalam proses konsensus, memecahkan masalah politik dalam memutuskan siapa yang dapat mempengaruhi konsensus, sekaligus mencegah serangan sibil.

Blockchain Bitcoin telah terbukti sangat kuat selama bertahun-tahun beroperasi, namun pada dasarnya terbatas. Bahasa skrip Bitcoin sengaja dirancang untuk membatasi dan tidak lengkap Turing, tidak memiliki loop dan banyak fitur lain yang diperlukan untuk membangun aplikasi yang lebih kompleks. Batasan ini ada untuk mencegah loop tak terbatas dan bentuk serangan komputasi lainnya, namun sangat membatasi apa yang dapat dibangun di atas Bitcoin.

Selama lima tahun terakhir, ada sejumlah upaya untuk memperluas fungsionalitas Bitcoin. Koin berwarna berupaya menggunakan blockchain Bitcoin untuk melacak kepemilikan aset alternatif, Namecoin berupaya membuat basis data pendaftaran nama yang terdesentralisasi, dan berbagai protokol metacoin bertujuan untuk membangun lapisan tambahan di atas Bitcoin. Meskipun pendekatan ini menjanjikan, pendekatan ini pada akhirnya dibatasi oleh kemampuan skrip Bitcoin dan ketidakmampuan untuk mengakses data blockchain dari dalam skrip.

Apa yang Ethereum ingin sediakan adalah blockchain dengan bahasa pemrograman lengkap Turing yang terintegrasi dan lengkap yang dapat digunakan untuk membuat "kontrak" yang dapat digunakan untuk mengkodekan fungsi transisi keadaan sewenang-wenang, memungkinkan pengguna untuk membuat salah satu sistem yang dijelaskan di atas, serta banyak sistem lain yang belum kita bayangkan, hanya dengan menulis logika dalam beberapa baris kode.

Bitcoin As A State Transition System

Teknik açıdan, Bitcoin gibi bir kripto para biriminin defteri, tüm mevcut bitcoin'lerin sahiplik durumundan oluşan bir "durum" ve bir durum ile bir işlem alıp sonuç olan yeni bir durum üreten bir "state transition fonksiyonu"nun bulunduğu bir state transition sistemi olarak düşünülebilir. Standart bir bankacılık sisteminde, örneğin, durum bir bilanço, işlem A'dan B'ye \(X transfer etme talebi ve state transition fonksiyonu A'nın hesabındaki değeri \)X azaltıp B'nin hesabındaki değeri \(X artıran fonksiyondur. A'nın hesabında başlangıçta \)X'den az varsa, state transition fonksiyonu bir hata döndürür.

Ethereum state transition diagram showing how transactions transform blockchain state

Bitcoin'deki "durum", basılmış ve henüz harcanmamış tüm madeni paraların (teknik olarak, "harcanmamış işlem çıktıları" veya UTXO) koleksiyonudur; her UTXO'nun bir değeri ve bir sahibi vardır (20 baytlık bir adresle tanımlanır ve bu esasen kriptografik bir public key'dir). Bir işlem, her biri mevcut bir UTXO'ya referans ve sahibin adresiyle ilişkili private key tarafından üretilmiş kriptografik bir imza içeren bir veya daha fazla girdi ve her biri duruma eklenecek yeni bir UTXO içeren bir veya daha fazla çıktı içerir.

State transition fonksiyonu APPLY(S,TX) - S' kabaca şu şekilde tanımlanabilir:

  1. TX'teki her girdi için, referans verilen UTXO S'de yoksa, hata döndür.
  2. Sağlanan imza UTXO'nun sahibiyle eşleşmiyorsa, hata döndür.
  3. Tüm girdi UTXO'larının değerlerinin toplamı tüm çıktı UTXO'larının değerlerinin toplamından azsa, hata döndür.
  4. Tüm girdi UTXO'ları kaldırılmış ve tüm çıktı UTXO'ları eklenmiş S'yi döndür.

İlk adımın ilk yarısı, işlem göndericilerinin var olmayan madeni paraları harcamasını önler; ilk adımın ikinci yarısı, işlem göndericilerinin başkalarının madeni paralarını harcamasını önler ve ikinci adım değer korunumunu sağlar. Bunu ödeme için kullanmak üzere protokol şöyledir: Alice'in Bob'a 11,7 BTC göndermek istediğini varsayalım. İlk olarak, Alice en az 11,7 BTC'ye ulaşan sahip olduğu mevcut UTXO'lar kümesini arayacaktır. Gerçekçi olarak, Alice tam 11,7 BTC elde edemeyecektir; diyelim ki elde edebileceği en küçük miktar 6+4+2=12'dir. Daha sonra bu üç girdi ve iki çıktı ile bir işlem oluşturur. İlk çıktı, sahibi Bob'un adresi olan 11,7 BTC olacaktır ve ikinci çıktı, sahibi Alice'in kendisi olan kalan 0,3 BTC "para üstü" olacaktır.

Bitcoin As A State Transition System

Dari sudut pandang teknis, ledger dari mata uang kripto seperti Bitcoin dapat dianggap sebagai sistem transisi keadaan, di mana terdapat "keadaan" yang terdiri dari status kepemilikan semua bitcoin yang ada dan "fungsi transisi keadaan" yang mengambil keadaan dan transaksi dan menghasilkan keadaan baru yang merupakan hasilnya. Dalam sistem perbankan standar, misalnya, keadaan adalah neraca, transaksi adalah permintaan untuk memindahkan \(X dari A ke B, dan fungsi transisi keadaan mengurangi nilai dalam rekening A sebesar \)X dan meningkatkan nilai dalam rekening B sebesar \(X. Jika akun A memiliki kurang dari \)X, fungsi transisi keadaan akan mengembalikan kesalahan.

Ethereum state transition diagram showing how transactions transform blockchain state

"Negara" di Bitcoin adalah kumpulan semua koin (secara teknis, "keluaran transaksi yang belum terpakai" atau UTXO) yang telah dicetak dan belum dibelanjakan, dengan setiap UTXO memiliki denominasi dan pemilik (ditentukan oleh alamat 20-byte yang pada dasarnya merupakan kunci publik kriptografi). Suatu transaksi berisi satu atau lebih masukan, dengan setiap masukan berisi referensi ke UTXO yang ada dan tanda tangan kriptografi yang dihasilkan oleh kunci pribadi yang terkait dengan alamat pemilik, dan satu atau lebih keluaran, dengan setiap keluaran berisi UTXO baru untuk ditambahkan ke negara.

Fungsi transisi keadaan APPLY(S,TX) - S' dapat didefinisikan secara kasar sebagai berikut:

  1. Untuk setiap masukan di TX, jika UTXO yang direferensikan tidak ada di S, kembalikan kesalahan.
  2. Jika tanda tangan yang diberikan tidak cocok dengan pemilik UTXO, kembalikan kesalahan.
  3. Jika jumlah denominasi semua input UTXO lebih kecil dari jumlah denominasi semua output UTXO, kembalikan kesalahan.
  4. Kembalikan S dengan semua input UTXO dihapus dan semua output UTXO ditambahkan.

Paruh pertama dari langkah pertama mencegah pengirim transaksi membelanjakan koin yang tidak ada, paruh kedua dari langkah pertama mencegah pengirim transaksi membelanjakan koin orang lain, dan langkah kedua menerapkan konservasi nilai. Untuk menggunakan ini sebagai pembayaran, protokolnya adalah sebagai berikut: misalkan Alice ingin mengirim 11,7 BTC ke Bob. Pertama, Alice akan mencari satu set UTXO yang dia miliki yang totalnya mencapai setidaknya 11,7 BTC. Secara realistis, Alice tidak akan bisa mendapatkan tepat 11,7 BTC; katakanlah bilangan terkecil yang dapat diperolehnya adalah 6+4+2=12. Dia kemudian membuat transaksi dengan tiga input dan dua output tersebut. Output pertama akan menjadi 11,7 BTC dengan alamat Bob sebagai pemiliknya, dan output kedua akan menjadi sisa 0,3 BTC "perubahan", dengan pemiliknya adalah Alice sendiri.

Mining

Güvenilir merkezi bir hizmete erişimimiz olsaydı, bu sistemi uygulamak önemsiz olurdu; tam olarak açıklandığı gibi kodlanabilir, durumu takip etmek için merkezi bir sunucunun sabit diskini kullanarak. Ancak Bitcoin ile merkeziyetsiz bir para birimi sistemi inşa etmeye çalışıyoruz, bu nedenle herkesin işlemlerin sırası üzerinde anlaşmasını sağlamak için state transition sistemini bir uzlaşma sistemi ile birleştirmemiz gerekecek. Bitcoin'in merkeziyetsiz uzlaşma süreci, ağdaki düğümlerin sürekli olarak "blok" adı verilen işlem paketleri üretmeye çalışmasını gerektirir. Ağ, yaklaşık her on dakikada bir blok üretmeyi amaçlar; her blok bir zaman damgası, bir nonce, önceki bloğa bir referans (yani hash) ve önceki bloktan bu yana gerçekleşen tüm işlemlerin bir listesini içerir.

Ethereum block structure showing linked blocks with timestamps nonces and transactions

Zamanla bu, Bitcoin defterinin en son durumunu temsil etmek için sürekli güncellenen kalıcı, sürekli büyüyen bir "blockchain" oluşturur. Bir bloğun geçerli olup olmadığını kontrol etme algoritması, bu paradigmada şu şekilde ifade edilir:

  1. Blok tarafından referans verilen önceki bloğun var olduğunu ve geçerli olduğunu kontrol et.
  2. Bloğun zaman damgasının önceki bloktan büyük ve gelecekte 2 saatten az olduğunu kontrol et.
  3. Blok üzerindeki proof of work'ün geçerli olduğunu kontrol et.
  4. S önceki bloğun sonundaki durum olsun.
  5. TX, n işlem içeren bloğun işlem listesi olsun. 0...n-1'deki tüm i için S = APPLY(S,TX[i]) ayarla. Herhangi bir uygulama hata döndürürse, çık ve false döndür.
  6. true döndür ve S'yi bu bloğun sonundaki durum olarak kaydet.

Esasen, bloktaki her işlem, işlem yürütülmeden önceki kanonik durumdan yeni bir duruma geçerli bir state transition sağlamalıdır. Durumun blokta hiçbir şekilde kodlanmadığını unutmayın; tamamen doğrulama düğümü tarafından hatırlanacak bir soyutlamadır ve herhangi bir blok için yalnızca genesis durumundan başlayarak her bloktaki her işlem sıralı olarak uygulanarak (güvenli bir şekilde) hesaplanabilir.

Madenci, hesaplama çalışması için yeni oluşturulan bitcoin'ler ve işlem ücretleri ile ödüllendirilir. Madencilik süreci şöyle çalışır: madenciler blok başlığını alır ve belirli bir zorluk hedefinin altında bir hash bulana kadar farklı nonce değerleriyle tekrar tekrar hash ederler. Bir madenci böyle bir hash bulduğunda, bloğu ağa yayınlar ve diğer düğümler hash'in geçerli olduğunu ve bloktaki tüm işlemlerin geçerli olduğunu doğrular. Zorluk hedefi, blokların yaklaşık sabit bir hızda üretilmesini sağlamak için protokol tarafından her 2016 blokta (yaklaşık iki hafta) otomatik olarak ayarlanır.

Uzun vadede, blockchain'in güvenliğinin madencilerin dürüst davranmaları için finansal teşvike sahip olmasına bağlı olduğunu unutmayın. Bir saldırgan ağın madencilik gücünün %50'sinden fazlasını kontrol ederse, dürüst zincirden daha hızlı büyüyen alternatif bir blockchain oluşturarak potansiyel olarak bir "%51 saldırısı" gerçekleştirebilir. Ancak böyle bir saldırı muazzam hesaplama kaynakları gerektirir ve ağ blockchain'in bütünlüğüne olan güvenini kaybettikçe saldırganın madencilik ödülleri muhtemelen değersiz hale gelir.

Mining

Jika kita mempunyai akses terhadap layanan terpusat yang dapat dipercaya, sistem ini akan mudah diterapkan; itu bisa saja diberi kode persis seperti yang dijelaskan, menggunakan hard drive server terpusat untuk melacak keadaan. Namun, dengan Bitcoin kami mencoba membangun sistem mata uang yang terdesentralisasi, jadi kami perlu menggabungkan sistem transaksi negara dengan sistem konsensus untuk memastikan bahwa semua orang menyetujui urutan transaksi. Proses konsensus terdesentralisasi Bitcoin mengharuskan node di jaringan untuk terus berupaya menghasilkan paket transaksi yang disebut "blok". Jaringan ini dimaksudkan untuk menghasilkan kira-kira satu blok setiap sepuluh menit, dengan setiap blok berisi stempel waktu, nonce, referensi ke (yaitu hash dari) blok sebelumnya dan daftar semua transaksi yang telah terjadi sejak blok sebelumnya.

Ethereum block structure showing linked blocks with timestamps nonces and transactions

Seiring waktu, hal ini menciptakan "blockchain" yang terus-menerus dan terus berkembang yang terus diperbarui untuk mewakili keadaan terbaru dari Bitcoin ledger. Algoritma untuk memeriksa apakah suatu blok valid, dinyatakan dalam paradigma ini, adalah sebagai berikut:

  1. Periksa apakah blok sebelumnya yang direferensikan oleh blok tersebut ada dan valid.
  2. Periksa apakah stempel waktu blok lebih besar dari blok sebelumnya dan kurang dari 2 jam ke depan.
  3. Periksa apakah bukti kerja pada blok tersebut valid.
  4. Misalkan S adalah keadaan pada akhir blok sebelumnya.
  5. Misalkan TX adalah daftar transaksi blok dengan n transaksi. Untuk semua i di 0...n-1, setel S = APPLY(S,TX[i]). Jika ada aplikasi yang mengembalikan kesalahan, keluar dan kembalikan false.
  6. Kembalikan nilai true, dan daftarkan S sebagai keadaan di akhir blok ini.

Pada dasarnya, setiap transaksi dalam blok harus menyediakan transisi keadaan yang valid dari keadaan kanonik sebelum transaksi dieksekusi ke keadaan baru. Perhatikan bahwa negara bagian tidak dikodekan dalam blok dengan cara apa pun; ini murni sebuah abstraksi untuk diingat oleh node yang memvalidasi dan hanya dapat (secara aman) dihitung untuk blok mana pun dengan memulai dari keadaan asal dan secara berurutan menerapkan setiap transaksi di setiap blok.

Penambang diberi imbalan atas pekerjaan komputasi mereka dengan bitcoin yang baru dibuat ditambah biaya transaksi. Proses penambangan bekerja sebagai berikut: penambang mengambil header blok dan berulang kali melakukan hash dengan nilai nonce yang berbeda hingga mereka menemukan hash yang berada di bawah target kesulitan tertentu. Ketika seorang penambang menemukan hash tersebut, mereka menyiarkan blok tersebut ke jaringan, dan node lain memverifikasi bahwa hash tersebut valid dan bahwa semua transaksi di blok tersebut valid. Target kesulitan secara otomatis disesuaikan oleh protokol setiap blok tahun 2016 (kira-kira dua minggu) untuk memastikan bahwa blok diproduksi pada tingkat yang kira-kira konstan.

Perlu diingat bahwa dalam jangka panjang, keamanan blockchain bergantung pada insentif finansial yang dimiliki penambang untuk berperilaku jujur. Jika penyerang mengendalikan lebih dari 50% kekuatan penambangan jaringan, mereka berpotensi melakukan "serangan 51%" dengan menciptakan blockchain alternatif yang tumbuh lebih cepat daripada rantai jujur. Namun, serangan seperti itu akan memerlukan sumber daya komputasi yang sangat besar dan kemungkinan besar akan mengakibatkan imbalan penambangan penyerang menjadi tidak berharga karena jaringan kehilangan kepercayaan terhadap integritas blockchain.

Merkle Trees

Merkle tree'ler, Bitcoin bloklarında işlem dahilinin verimli ve güvenli doğrulanmasını sağlamak için kullanılan temel bir veri yapısıdır. Merkle tree, yaprak düğümlerin bireysel işlemlerin hash'lerini içerdiği, her iç düğümün iki çocuğunun hash'ini içerdiği ve blok başlığında saklanan tek bir kök hash'e kadar özyinelemeli olarak inşa edilen bir ikili hash ağacıdır. Bu hiyerarşik yapı, herhangi birinin, bloktaki tüm işlemleri indirmek yerine yalnızca Merkle dalını—işlemden köke kadar olan hash zincirini—indirerek belirli bir işlemin bir blokta yer aldığını doğrulamasına olanak tanır.

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

Verimlilik kazanımları önemlidir: tam bir Bitcoin düğümü tüm blockchain'i (2013 itibarıyla yaklaşık 15GB) depolamak zorundayken, basitleştirilmiş ödeme doğrulama (SPV) düğümünün yalnızca Merkle köklerini içeren blok başlıklarını indirmesi gerekir ve bu yalnızca 4MB veri gerektirir. Bir işlemi doğrulamak için, SPV düğümü tam düğümlerden Merkle dalını talep eder ve bu yalnızca O(log n) veri gerektirir; burada n bloktaki işlem sayısıdır. Bu logaritmik ölçekleme, mobil cihazlarda ve düşük kaynaklı ortamlarda hafif istemcilerin çalıştırılmasını mümkün kılar.

Bitcoin'in Merkle tree kullanımı önemli bir ilkeyi gösterir: kriptografik yapılar, merkeziyetsiz bir ağa katılmak için güven ve kaynak gereksinimlerini dramatik şekilde azaltabilir. Aynı ilke Ethereum'un tasarımının temelini oluşturur; burada Merkle tree'ler yalnızca işlemler için değil, aynı zamanda durum ve makbuz depolama için de kullanılır ve daha sofistike hafif istemci protokollerini mümkün kılar.

Merkle Trees

Pohon Merkle adalah struktur data mendasar yang digunakan di blok Bitcoin untuk memungkinkan verifikasi penyertaan transaksi yang efisien dan aman. Pohon Merkle adalah pohon biner hash di mana node daun berisi hash dari transaksi individual, dan setiap node interior berisi hash dari dua anaknya, yang secara rekursif membangun hingga satu hash root yang disimpan di header blok. Struktur hierarki ini memungkinkan siapa pun untuk memverifikasi bahwa transaksi tertentu termasuk dalam blok dengan hanya mengunduh cabang Merkle—rantai hash dari transaksi hingga ke akar—daripada mengunduh semua transaksi di blok.

Simplified Payment Verification using Merkle tree branch proofs for transaction verification

Peningkatan efisiensinya sangat besar: meskipun node Bitcoin penuh harus menyimpan seluruh blockchain (sekitar 15 GB pada tahun 2013), node verifikasi pembayaran (SPV) yang disederhanakan hanya perlu mengunduh header blok yang berisi akar Merkle, yang hanya memerlukan data sebesar 4 MB. Untuk memverifikasi suatu transaksi, node SPV meminta cabang Merkle dari node penuh, yang hanya memerlukan data O(log n) di mana n adalah jumlah transaksi dalam satu blok. Penskalaan logaritmik ini memungkinkan untuk menjalankan klien ringan di perangkat seluler dan lingkungan dengan sumber daya rendah.

Penggunaan pohon Merkle oleh Bitcoin menunjukkan prinsip utama: struktur kriptografi dapat secara signifikan mengurangi kepercayaan dan kebutuhan sumber daya untuk berpartisipasi dalam jaringan terdesentralisasi. Prinsip yang sama mendasari desain Ethereum, di mana pohon Merkle digunakan tidak hanya untuk transaksi tetapi juga untuk penyimpanan negara dan tanda terima, sehingga memungkinkan protokol klien ringan yang lebih canggih.

Alternative Blockchain Applications

Bitcoin'in blockchain'inin başarısı, kavramı basit para biriminin ötesine genişletmeye yönelik çok sayıda girişime ilham verdi. 2010'da başlatılan Namecoin, en erken örneklerden biriydi—bir blockchain üzerine kurulmuş merkeziyetsiz bir isim kayıt veritabanı, kullanıcıların hiçbir merkezi otoritenin sansürleyemeyeceği veya iptal edemeyeceği dağıtılmış bir ad alanında isim kaydetmesine izin veren. Colored coins, belirli işlem çıktılarını "etiketleyerek" gerçek dünya varlıklarının, şirket hisselerinin veya diğer kripto paraların sahipliğini temsil etmek için Bitcoin blockchain'inde alternatif varlıkları temsil etmenin bir yolu olarak ortaya çıktı. Metacoin'ler ve Mastercoin (sonradan Omni) gibi meta-protokoller, Bitcoin işlemlerine ek veri kodlayarak ve bunun üzerine ayrı protokol kuralları inşa ederek Bitcoin'in üzerine ek işlevsellik katmanladı.

Ancak tüm bu yaklaşımlar, Bitcoin'in mimarisi tarafından dayatılan temel sınırlamalardan muzdaripti. Bitcoin betik dili kasıtlı olarak kısıtlıdır—blockchain durumuna erişemez, döngülerden ve karmaşık kontrol akışından yoksundur ve işlem değerlerine sınırlı iç gözlem sağlar. Sofistike uygulamalar inşa etmek garip geçici çözümler gerektiriyordu: metadata'yı hiçbir zaman bu amaç için tasarlanmamış işlem alanlarına kodlamak, karmaşık mantık için zincir dışı altyapıya güvenmek veya protokolün başarabileceklerindeki ciddi sınırlamaları kabul etmek.

Bu kısıtlamalar, daha genel amaçlı bir blockchain platformu arayışını motive etti. Bitcoin'in sınırlı temeli üzerine bir başka özel amaçlı protokol inşa etmek yerine, Ethereum farklı bir yaklaşım benimser: yerleşik Turing-complete bir programlama diline sahip bir blockchain sağlayarak, herkesin sahiplik, işlem formatları ve state transition fonksiyonları için rastgele kurallarla smart contract'lar ve merkeziyetsiz uygulamalar yazmasına olanak tanır.

Alternative Blockchain Applications

Keberhasilan blockchain Bitcoin menginspirasi banyak upaya untuk memperluas konsep ini lebih dari sekadar mata uang sederhana. Namecoin, diluncurkan pada tahun 2010, adalah salah satu contoh paling awal—database pendaftaran nama terdesentralisasi yang dibangun di atas blockchain, memungkinkan pengguna untuk mendaftarkan nama dalam namespace terdistribusi yang tidak dapat disensor atau dicabut oleh otoritas pusat. Koin berwarna muncul sebagai cara untuk mewakili aset alternatif di blockchain Bitcoin dengan "menandai" keluaran transaksi tertentu untuk mewakili kepemilikan aset dunia nyata, saham perusahaan, atau mata uang kripto lainnya. Metacoin dan meta-protokol seperti Mastercoin (kemudian Omni) melapisi fungsionalitas tambahan di atas Bitcoin dengan menyandikan data tambahan dalam transaksi Bitcoin dan membangun aturan protokol terpisah di atasnya.

Namun, semua pendekatan ini mengalami keterbatasan mendasar yang disebabkan oleh arsitektur Bitcoin. Bahasa skrip Bitcoin sengaja dibatasi—tidak dapat mengakses status blockchain, tidak memiliki loop dan aliran kontrol yang kompleks, dan memberikan introspeksi terbatas ke dalam nilai transaksi. Membangun aplikasi yang canggih memerlukan solusi yang sulit: mengkodekan metadata dalam bidang transaksi yang tidak pernah dimaksudkan untuk tujuan tersebut, mengandalkan infrastruktur off-chain untuk logika yang kompleks, atau menerima batasan ketat pada apa yang dapat dicapai oleh protokol.

Kendala ini memotivasi pencarian platform blockchain yang lebih bertujuan umum. Daripada membangun protokol tujuan khusus lainnya di atas fondasi terbatas Bitcoin, Ethereum mengambil pendekatan yang berbeda: menyediakan blockchain dengan bahasa pemrograman lengkap Turing bawaan, memungkinkan siapa pun untuk menulis kontrak pintar dan aplikasi terdesentralisasi dengan aturan sewenang-wenang untuk kepemilikan, format transaksi, dan fungsi transisi keadaan.

Scripting

Bitcoin Script, Bitcoin işlemleri için harcama koşullarını tanımlamak için kullanılan dil, kasıtlı olarak ciddi sınırlamalarla tasarlanmıştır. Turing-complete değildir—en önemlisi döngüler ve karmaşık kontrol akışı yapılarından yoksundur. Dil, işlemlerin değerleri ittiği ve çektiği, kriptografik koşulları değerlendirdiği ve nihayetinde bir işlemin geçerli olup olmadığını belirlemek için true veya false döndürdüğü basit bir yığın tabanlı yürütme ortamı olarak çalışır. Bu basitlik güvenlik avantajları sağlar ve biçimsel analizi kolaylaştırırken, birçok uygulama türünü uygulamayı imkansız kılar.

Bu sınırlamalar üç ana kategoriye ayrılır. Birincisi, Turing-completeness eksikliği karmaşık durum makinelerinin, karar ağaçlarının veya yineleme gerektiren herhangi bir algoritmanın uygulanmasını engeller. İkincisi, değer körlüğü, betiklerin çekim miktarları üzerinde ince ayarlı kontrol belirleyemeyeceği anlamına gelir—bir UTXO yalnızca bütünüyle harcanabilir ve para üstü yeni bir çıktıya gönderilir. Bir betik, örneğin, günlük maksimum X çekimle sınırlandırırken kalanı kilitli tutamaz. Üçüncüsü, blockchain durum farkındalığı eksikliği, UTXO'ların ya harcanmış ya da harcanmamış olduğu ve ara durumlar olmadığı anlamına gelir, bu da çok aşamalı sözleşmelerin tamamen zincir üzerinde uygulanmasını imkansız kılar.

Bu kısıtlamalar, merkeziyetsiz otonom organizasyonlar, çekim limitleri olan tasarruf cüzdanları, merkeziyetsiz borsalar veya tahmin piyasaları gibi sofistike uygulamaları ya imkansız kılar ya da garip zincir dışı mekanizmalar gerektirir. Gelişmiş bir finansal sözleşme, piyasa verilerine erişim, birden fazla işlem boyunca dahili durum sürdürme yeteneği ve karmaşık koşullu mantık gerektirebilir—bunların hiçbirini Bitcoin Script sağlayamaz. Ethereum, blockchain durumuna tam erişim ile Turing-complete bir dil sağlayarak bu sınırlamaları ortadan kaldırır.

Scripting

Bitcoin Script, bahasa yang digunakan untuk menentukan kondisi pengeluaran untuk transaksi Bitcoin, sengaja dirancang dengan keterbatasan yang parah. Ini bukan Turing yang lengkap—terutama, ia tidak memiliki loop dan struktur aliran kontrol yang kompleks. Bahasa ini beroperasi sebagai lingkungan eksekusi berbasis tumpukan sederhana di mana operasi mendorong dan memunculkan nilai, mengevaluasi kondisi kriptografi, dan pada akhirnya mengembalikan nilai benar atau salah untuk menentukan apakah suatu transaksi valid. Meskipun kesederhanaan ini memberikan manfaat keamanan dan membuat analisis formal lebih mudah, hal ini juga membuat banyak jenis aplikasi menjadi tidak mungkin untuk diimplementasikan.

Keterbatasan ini terbagi dalam tiga kategori utama. Pertama, kurangnya kelengkapan Turing menghalangi penerapan mesin negara yang kompleks, pohon keputusan, atau algoritma apa pun yang memerlukan iterasi. Kedua, kebutaan nilai berarti bahwa skrip tidak dapat menentukan kontrol menyeluruh atas jumlah penarikan—UTXO hanya dapat dibelanjakan secara keseluruhan, dengan perubahan dikirim ke keluaran baru. Sebuah skrip tidak dapat, misalnya, membatasi penarikan hingga maksimum X per hari dan membiarkan sisanya terkunci. Ketiga, kurangnya kesadaran akan status blockchain berarti bahwa UTXO sudah terpakai atau tidak terpakai tanpa status perantara, membuat kontrak multi-tahap tidak mungkin diterapkan secara on-chain.

Kendala-kendala ini membuat aplikasi canggih seperti organisasi otonom terdesentralisasi, dompet tabungan dengan batas penarikan, pertukaran terdesentralisasi, atau pasar prediksi menjadi tidak mungkin atau memerlukan mekanisme off-chain yang canggung. Kontrak keuangan tingkat lanjut mungkin memerlukan akses ke data pasar, kemampuan untuk mempertahankan keadaan internal di berbagai transaksi, dan logika kondisional yang kompleks—tidak ada satupun yang dapat disediakan oleh Skrip Bitcoin. Ethereum menghilangkan batasan ini dengan menyediakan bahasa lengkap Turing dengan akses penuh ke status blockchain.

Ethereum

Ethereum'un temel hedefi, herkesin smart contract'lar ve merkeziyetsiz uygulamalar yazabileceği, sahiplik, işlem formatları ve state transition fonksiyonları için kendi rastgele kurallarını oluşturabileceği yerleşik Turing-complete bir programlama diline sahip bir blockchain sağlamaktır. Para birimi, isim kaydı veya varlık ticareti gibi belirli uygulamalar için bir protokol tasarlamak yerine, Ethereum temel bir katman sağlar—geliştiricilerin hayal edebilecekleri herhangi bir uygulamayı inşa etmek için kullanabilecekleri blockchain tabanlı dağıtık bir bilgi işlem platformu.

Mimari, Bitcoin'in UTXO modelinden temelden farklıdır. Ethereum, blockchain durumunun adreslerden hesap nesnelerine bir eşlemeden oluştuğu hesap tabanlı bir sistem kullanır. Her hesabın bir bakiyesi, bir işlem sayacı (nonce) ve sözleşme hesapları için ilişkili kodu ve depolama alanı vardır. Platform, Ethereum Virtual Machine'de (EVM) yürütülen sözleşme kodu yazmak için yerleşik Turing-complete bir programlama dili içerir; EVM, işlemleri ve durum geçişlerini işleyen yığın tabanlı bir yürütme ortamıdır.

Bu genellik, geniş bir uygulama yelpazesini mümkün kılar: özel ihraç kurallarına sahip alternatif kripto paralar, finansal türevler ve stablecoin'ler, kimlik ve itibar sistemleri, merkeziyetsiz dosya depolama, merkeziyetsiz otonom organizasyonlar (DAO'lar) ve çok daha fazlası. Teknik rapor, Ethereum'un herhangi bir belirli kullanım durumu için optimize edilmediğini, bunun yerine temel yapı taşları—hesaplar, işlemler, Turing-complete bir dil ve gas ile ölçülmüş yürütme—sağladığını ve geliştiricilerin ekosistemin talep ettiği herhangi bir uygulamayı oluşturmak için bunları birleştirebileceğini vurgular.

Ethereum

Tujuan mendasar Ethereum adalah untuk menyediakan blockchain dengan bahasa pemrograman lengkap Turing yang memungkinkan siapa saja untuk menulis kontrak pintar dan aplikasi terdesentralisasi di mana mereka dapat membuat aturan sewenang-wenang mereka sendiri untuk kepemilikan, format transaksi, dan fungsi transisi negara. Daripada merancang protokol untuk aplikasi spesifik seperti mata uang, pendaftaran nama, atau perdagangan aset, Ethereum menyediakan lapisan dasar—platform komputasi terdistribusi berbasis blockchain yang dapat digunakan pengembang untuk membangun aplikasi apa pun yang dapat mereka bayangkan.

Arsitekturnya berbeda secara mendasar dari model UTXO Bitcoin. Ethereum menggunakan sistem berbasis akun dimana status blockchain terdiri dari pemetaan dari alamat ke objek akun. Setiap akun memiliki saldo, penghitung transaksi (nonce), dan untuk akun kontrak, kode dan penyimpanan terkait. Platform ini mencakup bahasa pemrograman lengkap Turing bawaan untuk menulis kode kontrak yang dijalankan di Mesin Virtual Ethereum (EVM), lingkungan eksekusi berbasis tumpukan yang memproses transaksi dan transisi status.

Sifat umum ini memungkinkan beragam penerapan: mata uang kripto alternatif dengan aturan penerbitan khusus, derivatif keuangan dan stablecoin, sistem identitas dan reputasi, penyimpanan file terdesentralisasi, organisasi otonom terdesentralisasi (DAO), dan banyak lagi. Whitepaper tersebut menekankan bahwa Ethereum tidak dioptimalkan untuk kasus penggunaan tertentu, melainkan menyediakan blok bangunan dasar—akun, transaksi, bahasa Turing-lengkap, dan eksekusi gas-metered—yang dapat digabungkan oleh pengembang untuk menciptakan aplikasi apa pun yang dibutuhkan ekosistem.

Ethereum Accounts

Ethereum'da durum hesaplardan oluşur ve iki temel tür vardır. Harici olarak sahiplenilmiş hesaplar (EOA'lar) özel anahtarlar tarafından kontrol edilir ve ilişkili kodları yoktur—blockchain ile etkileşime giren insan kullanıcıları veya harici varlıkları temsil ederler. Sözleşme hesapları, sözleşme kodları tarafından kontrol edilir ve bir mesaj veya işlem aldıklarında etkinleştirilir. Her iki tür de ortak bir yapıyı paylaşır: her hesabın bir nonce'u (her işlemin yalnızca bir kez işlenmesini sağlamak için kullanılan bir sayaç), bir ether bakiyesi ve özellikle sözleşmeler için sözleşme kodu ve kalıcı depolama alanı vardır.

Ether, Ethereum'un birincil dahili kripto para birimidir ve hem değer transferi aracı hem de işlem ücretlerini (gas) ödemek için temel birim olarak hizmet eder. Değerin birden fazla harcanmamış çıktıya dağıtıldığı Bitcoin'in UTXO modelinin aksine, Ethereum hesapları ether aldıklarında artan ve gönderdiklerinde azalan basit bir bakiye sürdürür. Bu hesap tabanlı model, özellikle kalıcı durum veya karmaşık erişim kontrolü gerektiren birçok uygulama türünü basitleştirir, ancak Bitcoin'in yaklaşımına kıyasla farklı güvenlik değerlendirmeleri sunar.

EOA'lar ve sözleşme hesapları arasındaki ayrım, Ethereum'un işleyişini anlamak için çok önemlidir. EOA'lar, özel anahtarlarıyla mesaj oluşturup imzalayarak işlem başlatabilir ve işlemlerinin bloklara dahil edilmesi için gas ücreti öderler. Sözleşme hesapları kendi başlarına işlem başlatamaz, ancak bir işlem veya mesaj almaya yanıt olarak diğer sözleşmelere mesaj gönderebilir; bu, tek bir harici işlemin birden fazla sözleşmeler arası etkileşimi tetiklediği karmaşık yürütme zincirlerini mümkün kılar.

Ethereum Accounts

Di Ethereum, negara bagian terdiri dari akun-akun, dan ada dua tipe dasar. Akun yang dimiliki secara eksternal (EOA) dikendalikan oleh kunci pribadi dan tidak memiliki kode terkait—mereka mewakili pengguna manusia atau entitas eksternal yang berinteraksi dengan blockchain. Akun kontrak dikendalikan oleh kode kontraknya dan diaktifkan ketika mereka menerima pesan atau transaksi. Kedua jenis ini memiliki struktur yang sama: setiap akun memiliki nonce (penghitung yang digunakan untuk memastikan setiap transaksi hanya dapat diproses satu kali), saldo eter, dan untuk kontrak khususnya, kode kontrak dan penyimpanan persisten.

Ether adalah mata uang kripto internal utama Ethereum, yang berfungsi sebagai media transfer nilai dan unit dasar untuk membayar biaya transaksi (gas). Tidak seperti model UTXO Bitcoin di mana nilai didistribusikan ke beberapa keluaran yang tidak terpakai, akun Ethereum mempertahankan saldo sederhana yang bertambah saat mereka menerima eter dan menurun saat mereka mengirimkannya. Model berbasis akun ini menyederhanakan banyak jenis aplikasi, terutama yang memerlukan keadaan persisten atau kontrol akses yang kompleks, meskipun model ini memperkenalkan pertimbangan keamanan yang berbeda dibandingkan dengan pendekatan Bitcoin.

Perbedaan antara EOA dan akun kontrak sangat penting untuk memahami pengoperasian Ethereum. EOA dapat memulai transaksi dengan membuat dan menandatangani pesan dengan kunci pribadi mereka, membayar biaya bahan bakar agar transaksi mereka dimasukkan dalam blok. Akun kontrak tidak dapat memulai transaksi sendiri tetapi dapat mengirim pesan ke kontrak lain sebagai respons terhadap penerimaan transaksi atau pesan, sehingga memungkinkan rantai eksekusi yang kompleks di mana satu transaksi eksternal memicu beberapa interaksi kontrak-ke-kontrak.

Messages and Transactions

Ethereum'daki işlemler, harici olarak sahiplenilmiş hesaplar tarafından oluşturulan ve ağa yayınlanan imzalı veri paketleridir. Bir işlem; alıcı adresi, gönderenin kimliğini kanıtlayan kriptografik imza, transfer edilecek ether miktarı, isteğe bağlı bir veri alanı (sözleşmelerle etkileşim için kritik), STARTGAS (işlemin alabileceği maksimum hesaplama adımı sayısı) ve GASPRICE (gönderenin hesaplama adımı başına ödemeye razı olduğu ücret) içerir. Madenciler bu işlemleri toplar, doğrular, yürütür ve bloklara dahil eder; karşılığında gas ücretlerini alırlar.

Mesajlar kavramsal olarak işlemlere benzer ancak harici aktörler yerine sözleşmeler tarafından üretilir. Bir sözleşmenin kodu yürütüldüğünde, diğer sözleşmelere mesaj gönderebilir—bu dahili mesajlar göndereni (sözleşme adresi), alıcıyı, transfer edilecek ether miktarını, isteğe bağlı bir veri yükünü ve bir STARTGAS limitini içerir. Mesajlar, sözleşmeler arası iletişimi mümkün kılarak, karmaşık uygulamaların monolitik programlar yerine birden fazla etkileşen sözleşmeden inşa edilmesine olanak tanır.

Gas mekanizması, kötüye kullanımı önlemek için kritiktir: bir işlemdeki her hesaplama adımı, depolama işlemi ve veri baytı gas tüketir. Bir işlem tamamlanmadan önce gas'ı biterse, tüm durum değişiklikleri geri alınır (madenciye gas ödemesi hariç); bu, sonsuz döngülerin veya aşırı hesaplamanın ağı durma noktasına getirmesini önler. Gönderen hem toplam gas bütçesini (STARTGAS) hem de birim başına ödemeye razı olduğu fiyatı (GASPRICE) belirtir ve yürütme tamamlandıktan sonra kullanılmamış gas iade edilir.

Messages and Transactions

Transaksi di Ethereum adalah paket data bertanda tangan yang dibuat oleh akun milik eksternal dan disiarkan ke jaringan. Sebuah transaksi berisi alamat penerima, tanda tangan kriptografi yang membuktikan identitas pengirim, jumlah eter yang akan ditransfer, bidang data opsional (penting untuk berinteraksi dengan kontrak), STARTGAS (jumlah maksimum langkah komputasi yang boleh dilakukan transaksi), dan GASPRICE (biaya per langkah komputasi yang bersedia dibayar oleh pengirim). Penambang mengumpulkan transaksi ini, memvalidasinya, mengeksekusinya, dan memasukkannya ke dalam blok, menerima biaya bahan bakar sebagai kompensasinya.

Pesan secara konseptual mirip dengan transaksi tetapi dihasilkan oleh kontrak dan bukan oleh aktor eksternal. Ketika kode kontrak dijalankan, ia dapat mengirim pesan ke kontrak lain—pesan internal ini berisi pengirim (alamat kontrak), penerima, jumlah eter yang akan ditransfer, muatan data opsional, dan batas STARTGAS. Pesan memungkinkan komunikasi kontrak-ke-kontrak, memungkinkan aplikasi kompleks dibangun dari beberapa kontrak yang saling berinteraksi, bukan program monolitik.

Mekanisme gas sangat penting untuk mencegah penyalahgunaan: setiap langkah komputasi, operasi penyimpanan, dan byte data dalam suatu transaksi menggunakan gas. Jika transaksi kehabisan bahan bakar sebelum diselesaikan, semua perubahan status akan dikembalikan (kecuali pembayaran bahan bakar ke penambang), sehingga mencegah loop tak terbatas atau perhitungan berlebihan yang menghentikan jaringan hingga terhenti. Pengirim menentukan total anggaran gas (STARTGAS) dan harga yang bersedia mereka bayarkan per unit (GASPRICE), dan setiap gas yang tidak terpakai akan dikembalikan setelah eksekusi selesai.

Ethereum State Transition Function

Ethereum state transition fonksiyonu APPLY(S,TX) - S', bir işlemin blockchain durumunu nasıl dönüştürdüğünü tanımlar ve kesin bir adım dizisini takip eder. İlk olarak, sistem işlem geçerliliğini kontrol eder: imzanın doğru olduğunu doğrulama, nonce'un gönderenin hesap nonce'uyla eşleştiğini onaylama ve gönderenin peşin maliyeti (STARTGAS x GASPRICE artı gönderilen değer) ödemeye yetecek bakiyeye sahip olduğunu sağlama. Herhangi bir kontrol başarısız olursa, işlem yürütme başlamadan önce reddedilir. Geçerliyse, işlem ücreti gönderenin hesabından düşülür, gönderenin nonce'u artırılır ve başlangıç gas sayacı STARTGAS eksi işlem verileri için bayt başına ücret olarak ayarlanır.

Ethereum state transition function showing gas deduction value transfer and code execution

Ardından, sistem belirtilen ether değerini göndericiden alıcıya transfer eder. Alıcı harici olarak sahiplenilmiş bir hesapsa, bu işlemi tamamlar. Alıcı bir sözleşme hesabıysa, sözleşmenin kodu Ethereum Virtual Machine'de çalışır ve her işlem için gas tüketir; kod başarıyla tamamlanana, kod açıkça durdurana veya gas bitene kadar devam eder. Yürütme sırasında sözleşme, depolama alanını okuyabilir ve değiştirebilir, diğer sözleşmelere mesaj gönderebilir ve yeni sözleşmeler oluşturabilir.

Son olarak, değer transferi başarısız olursa (yetersiz bakiye) veya kod yürütme başarısız olursa (gas bitmesi veya bir hataya çarpma), tüm durum değişiklikleri geri alınır—ancak gönderen yine de gerçekleştirilen hesaplama için madenciye gas ücreti öder. Yürütme başarılı olduysa, kalan gas göndericiye iade edilir ve tüketilen gas madenciye ücret olarak gönderilir. Bu mekanizma, madencilerin hesaplama için tazmin edilmesini sağlarken kontrolsüz yürütmenin sınırsız kaynak tüketmesini önler.

Ethereum State Transition Function

Fungsi transisi keadaan Ethereum APPLY(S,TX) - S' mendefinisikan bagaimana suatu transaksi mengubah keadaan blockchain, dan mengikuti urutan langkah yang tepat. Pertama, sistem memeriksa validitas transaksi: memverifikasi kebenaran tanda tangan, mengonfirmasi bahwa nonce cocok dengan nonce akun pengirim, dan memastikan pengirim memiliki saldo yang cukup untuk membayar biaya di muka (STARTGAS × GASPRICE ditambah nilai yang dikirim). Jika ada pemeriksaan yang gagal, transaksi ditolak sebelum eksekusi dimulai. Jika valid, biaya transaksi dipotong dari rekening pengirim, nonce pengirim bertambah, dan penghitung bahan bakar awal diatur ke STARTGAS dikurangi biaya per byte untuk data transaksi.

Ethereum state transition function showing gas deduction value transfer and code execution

Selanjutnya, sistem mentransfer nilai eter yang ditentukan dari pengirim ke penerima. Jika penerima adalah akun milik eksternal, transaksi selesai. Jika penerimanya adalah akun kontrak, kode kontrak akan berjalan di Mesin Virtual Ethereum, menggunakan bahan bakar untuk setiap operasi hingga kode berhasil diselesaikan, kode dihentikan secara eksplisit, atau bahan bakar habis. Selama eksekusi, kontrak dapat membaca dan mengubah penyimpanannya, mengirim pesan ke kontrak lain, dan membuat kontrak baru.

Terakhir, jika transfer nilai gagal (saldo tidak mencukupi) atau eksekusi kode gagal (kehabisan bahan bakar atau terjadi kesalahan), semua perubahan status akan dikembalikan—kecuali pengirim masih membayar biaya bahan bakar kepada penambang untuk perhitungan yang dilakukan. Jika eksekusi berhasil, sisa gas dikembalikan ke pengirim, dan gas yang telah dikonsumsi dikirim ke penambang sebagai biaya. Mekanisme ini memastikan bahwa penambang mendapat kompensasi untuk komputasi sekaligus mencegah eksekusi yang tidak terkendali memakan sumber daya yang tidak terbatas.

Code Execution

Ethereum Virtual Machine (EVM), sözleşme kodunun yürütüldüğü çalışma zamanı ortamıdır—kavramsal olarak Java Virtual Machine veya WebAssembly'ye benzer düşük seviyeli, yığın tabanlı bir sanal makine. Sözleşme kodu, her baytın EVM'nin yürütebileceği bir işlemi (opcode) temsil ettiği bir bayt dizisi olarak depolanır. Yürütme modeli kasıtlı olarak basit ve deterministiktir: aynı giriş durumu ve işlemle EVM'yi çalıştıran her düğüm aynı çıkış durumuna ulaşmalıdır, bu da ağ genelinde uzlaşmayı sağlar.

EVM, hesaplama için üç farklı depolama türü sağlar. Yığın, anlık işlem değerleri için kullanılan, 1024 öğeyle sınırlı son giren ilk çıkar (LIFO) yapısıdır. Bellek, yalnızca tek bir mesaj çağrısı süresince var olan ve yürütmeler arasında sıfırlanan sonsuz genişletilebilir bir bayt dizisidir. Depolama, her sözleşme hesabıyla kalıcı olarak ilişkili olan ve sözleşmelerin işlemler boyunca uzun vadeli durumlarını sürdürdüğü kalıcı anahtar-değer deposudur. Bu depolama türleri gas'ta farklı şekilde fiyatlandırılır—yığın ve bellek işlemleri ucuzdur, depolama işlemleri ise blockchain şişmesini önlemek için pahalıdır.

Yürütme sırasında, sözleşme kodunun kritik bağlama erişimi vardır: mesaj gönderenin adresini, gönderilen ether miktarını, çağıran tarafından sağlanan veri yükünü ve mevcut blok numarası, zaman damgası ve madenci adresi gibi blok düzeyindeki özellikleri okuyabilir. Kod, çağırana bir çıkış bayt dizisi döndürebilir ve diğer sözleşmelere mesaj gönderebilir veya yeni sözleşmeler oluşturabilir. Bu yürütme modeli Turing-complete'dir—döngüler ve karmaşık kontrol akışı mümkündür—ancak gas mekanizması, tüm hesaplamanın sınırlı zamanda sona ermesini sağlar ve durma problemini dil kısıtlamalarıyla değil ekonomik olarak çözer.

Code Execution

Mesin Virtual Ethereum (EVM) adalah lingkungan runtime tempat kode kontrak dijalankan—mesin virtual tingkat rendah berbasis tumpukan yang konsepnya serupa dengan Mesin Virtual Java atau WebAssembly. Kode kontrak disimpan sebagai urutan byte, di mana setiap byte mewakili operasi (opcode) yang dapat dijalankan oleh EVM. Model eksekusi sengaja dibuat sederhana dan deterministik: setiap node yang menjalankan EVM dengan status input dan transaksi yang sama harus mencapai status output yang sama, sehingga memastikan konsensus di seluruh jaringan.

EVM menyediakan tiga jenis penyimpanan berbeda untuk komputasi. Tumpukan adalah struktur masuk terakhir keluar pertama (LIFO) yang dibatasi hingga 1024 elemen, digunakan untuk nilai operasi langsung. Memori adalah array byte yang dapat diperluas tanpa batas yang hanya bertahan selama satu panggilan pesan dan diatur ulang di antara eksekusi. Penyimpanan adalah penyimpanan nilai kunci persisten yang dikaitkan secara permanen dengan setiap akun kontrak, tempat kontrak mempertahankan status jangka panjangnya di seluruh transaksi. Jenis penyimpanan ini memiliki harga yang berbeda dalam hal gas—operasi tumpukan dan memori murah, sedangkan operasi penyimpanan mahal untuk mencegah pembengkakan blockchain.

Selama eksekusi, kode kontrak memiliki akses ke konteks penting: kode tersebut dapat membaca alamat pengirim pesan, jumlah eter yang dikirim, muatan data yang disediakan oleh pemanggil, dan properti tingkat blok seperti nomor blok saat ini, stempel waktu, dan alamat penambang. Kode ini dapat mengembalikan array byte keluaran ke pemanggil dan dapat mengirim pesan ke kontrak lain atau membuat kontrak baru. Model eksekusi ini adalah Turing-complete—loop dan aliran kontrol yang kompleks dimungkinkan—tetapi mekanisme gas memastikan bahwa semua komputasi berakhir dalam waktu yang terbatas, memecahkan masalah penghentian secara ekonomis dibandingkan melalui batasan bahasa.

Blockchain and Mining

Ethereum blockchain'i, yürütülen her işlemi içeren bir veritabanı olarak hizmet eden Bitcoin'inkine temelden benzerdir. Ancak Bitcoin yalnızca bir işlem listesi depolarken, Ethereum hem işlem listesini hem de en son durumu depolar. Ethereum'daki her blok; önceki bloğun hash'ini, bir durum kökünü (tüm durumu temsil eden Merkle Patricia trie'sinin kök hash'i), bir işlem kökünü, bir makbuz kökünü (işlem yürütmesinden verileri depolayan), zorluk, zaman damgası ve nonce değerlerini içerir. Durumun kendisi, adresleri hesap nesnelerine eşleyen büyük bir Merkle Patricia trie'sidir; her hesabın bakiyesi, nonce'u, kodu (varsa) ve depolama alanı vardır.

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereum, hızlı blok sürelerinden kaynaklanan güvenlik sorunlarını çözmek için GHOST (Greedy Heaviest Observed Subtree) protokolünün değiştirilmiş bir versiyonunu kullanır. Geleneksel en uzun zincir protokollerinde, hızlı bloklar yüksek eski blok oranlarına yol açarak ağ güvenliğini azaltır ve büyük madencilerin eskilerde daha az hesaplama israf etmesi nedeniyle merkezileşme risklerini artırır. GHOST, eski blokları (Ethereum'da "amcalar" olarak adlandırılır) en uzun zincir hesaplamasına dahil eder ve amca bloklara kısmi ödüller sağlayarak madencileri bunlara referans vermeye teşvik eder. Bu, Ethereum'un ağ güvenliğini korurken yaklaşık 12 saniyelik hedef blok süresini sürdürmesine olanak tanır.

Madencilik algoritması Bitcoin'in proof-of-work'üne benzer şekilde çalışır ve madencilerin bloğun hash'inin belirli bir zorluk hedefinin altında olacağı bir nonce bulmasını gerektirir. Ancak Ethereum'un bellek yoğun madencilik algoritması (Ethash), daha merkeziyetsiz bir madencilik ekosistemi teşvik ederek ASIC'e dayanıklı olacak şekilde tasarlanmıştır. Zorluk, ~12 saniyelik hedefi korumak için blok sürelerine göre dinamik olarak ayarlanır; bu, Bitcoin'in 10 dakikalık ortalamasına kıyasla daha hızlı blok sürelerine rağmen GHOST protokolünün güvenlik garantileri sağlarken tutarlı blok üretimini sağlar.

Blockchain and Mining

Blockchain Ethereum pada dasarnya mirip dengan Bitcoin, berfungsi sebagai database yang berisi setiap transaksi yang pernah dieksekusi. Namun, meskipun Bitcoin hanya menyimpan daftar transaksi, Ethereum menyimpan daftar transaksi dan status terkini. Setiap blok di Ethereum berisi hash blok sebelumnya, root status (hash root dari percobaan Merkle Patricia yang mewakili seluruh status), root transaksi, root penerimaan (menyimpan data dari eksekusi transaksi), beserta nilai kesulitan, stempel waktu, dan nonce. Negara bagian itu sendiri adalah alamat pemetaan Merkle Patricia trie yang besar ke objek akun, di mana setiap akun memiliki saldo, nonce, kode (jika ada), dan penyimpanan.

Ethereum APPLY BLOCK function processing transactions and updating state

Ethereum menggunakan versi modifikasi dari protokol GHOST (Greedy Heaviest Observed Subtree) untuk mengatasi masalah keamanan yang timbul dari waktu blok yang cepat. Dalam protokol rantai terpanjang tradisional, blok cepat menyebabkan tingkat stale yang tinggi, mengurangi keamanan jaringan dan meningkatkan risiko sentralisasi karena penambang besar membuang lebih sedikit komputasi pada stales. GHOST menyertakan blok lama (disebut "paman" di Ethereum) dalam perhitungan rantai mana yang terpanjang, dan memberikan sebagian imbalan kepada blok paman, sehingga memberi insentif kepada penambang untuk mereferensikannya. Hal ini memungkinkan Ethereum mempertahankan waktu blok target sekitar 12 detik sambil menjaga keamanan jaringan.

Algoritme penambangan bekerja mirip dengan proof-of-work Bitcoin, mengharuskan penambang untuk menemukan nonce sehingga hash blok berada di bawah target kesulitan tertentu. Namun, algoritme penambangan memori keras (Ethash) Ethereum dirancang agar tahan terhadap ASIC, sehingga mendorong ekosistem penambangan yang lebih terdesentralisasi. Tingkat kesulitannya disesuaikan secara dinamis berdasarkan waktu blok untuk mempertahankan target ~12 detik, memastikan produksi blok yang konsisten sementara protokol GHOST memberikan jaminan keamanan meskipun waktu blok lebih cepat dibandingkan dengan rata-rata 10 menit Bitcoin.

Applications

Ethereum üzerine inşa edilebilecek uygulamalar üç geniş kategoriye ayrılır. İlk kategori, kullanıcılara paralarını yönetme ve parayla ilgili sözleşmelere girme konusunda daha güçlü yollar sunan finansal uygulamalardır. Bunlar arasında alt para birimleri, finansal türevler, riskten korunma sözleşmeleri, çekim limitleri olan tasarruf cüzdanları, fonları otomatik olarak dağıtan vasiyetnameler ve hatta doğrulanmış iş tamamlamaya dayalı ödeme hesaplayan istihdam sözleşmeleri yer alır. Bu uygulamalar, geleneksel sistemlerde veya Bitcoin'de bile uygulanması imkansız veya son derece zor olan karmaşık finansal araçlar oluşturmak için Ethereum'un programlanabilirliğinden yararlanır.

İkinci kategori, paranın dahil olduğu ancak yapılanın önemli bir parasal olmayan bileşeninin de bulunduğu yarı-finansal uygulamalardır. Mükemmel bir örnek, hesaplama problemlerinin çözümleri için kendi kendini uygulayan ödüllerdir. Birisi bir hesaplama problemini bir ödülle birlikte yayınlayabilir ve sözleşme, sunulan çözümleri otomatik olarak doğrulayıp ilk doğru cevaba ödülü ödeyebilir. Bu kategori, sorunları çözmek veya davranışı koordine etmek için ekonomik teşvikleri kullanarak saf finans ile diğer alanlar arasında köprü oluşturur.

Üçüncü kategori, çevrimiçi oylama ve merkeziyetsiz yönetişim sistemleri gibi parayla hiç ilgisi olmayan uygulamalardır. Bu finansal olmayan uygulamalar, genel amaçlı bir platform olarak Ethereum'un esnekliğini gösterir. Örnekler arasında Namecoin gibi merkeziyetsiz alan adı sistemleri, itibar sistemleri, merkeziyetsiz dosya depolama ve organizasyonel yönetişim araçları bulunur. Tüm bu uygulama türleri arasında token sistemleri en yaygın ve temel olanı olarak öne çıkmış ve birçok diğer uygulama için yapı taşı görevi görmüştür.

Applications

Aplikasi yang dapat dibangun di Ethereum terbagi dalam tiga kategori besar. Kategori pertama adalah aplikasi keuangan, yang memberikan pengguna cara yang lebih canggih untuk mengelola dan menandatangani kontrak yang melibatkan uang mereka. Ini termasuk sub-mata uang, derivatif keuangan, kontrak lindung nilai, dompet tabungan dengan batas penarikan, surat wasiat yang mendistribusikan dana secara otomatis, dan bahkan kontrak kerja yang menghitung pembayaran berdasarkan penyelesaian pekerjaan yang diverifikasi. Aplikasi ini memanfaatkan kemampuan program Ethereum untuk menciptakan instrumen keuangan kompleks yang tidak mungkin atau sangat sulit diterapkan dalam sistem tradisional atau bahkan pada Bitcoin.

Kategori kedua adalah aplikasi semi-keuangan, yang melibatkan uang namun ada juga komponen non-moneter yang substansial dalam apa yang dilakukan. Contoh sempurna adalah pemberian hadiah yang dipaksakan sendiri untuk solusi masalah komputasi. Seseorang dapat memposting masalah komputasi bersama dengan hadiahnya, dan kontrak dapat secara otomatis memverifikasi solusi yang diajukan dan membayar hadiah untuk jawaban pertama yang benar. Kategori ini menjembatani keuangan murni dan domain lainnya, menggunakan insentif ekonomi untuk memecahkan masalah atau mengoordinasikan perilaku.

Kategori ketiga adalah aplikasi yang tidak ada kaitannya sama sekali dengan uang, seperti pemungutan suara online dan sistem pemerintahan yang terdesentralisasi. Aplikasi non-keuangan ini menunjukkan fleksibilitas Ethereum sebagai platform tujuan umum. Contohnya termasuk sistem nama domain terdesentralisasi seperti Namecoin, sistem reputasi, penyimpanan file terdesentralisasi, dan alat tata kelola organisasi. Dari semua jenis aplikasi ini, sistem token muncul sebagai yang paling umum dan mendasar, berfungsi sebagai landasan bagi banyak aplikasi lainnya.

Token Systems

Token sistemleri, en güçlü ve yaygın uygulamalardan biri olmalarına rağmen Ethereum üzerinde uygulanması şaşırtıcı derecede basittir. Özünde token sistemleri, tek bir işlemle basit bir veritabanıdır: A hesabından X birim çıkar ve B hesabına X birim ekle, A'nın işlemden önce en az X birimi olması ve işlemin A tarafından yetkilendirilmesi koşuluyla. Uygulama, adreslerden bakiyelere bir eşleme sürdürmeyi ve hesaplar arasında token transfer etmeden önce uygun kontrolleri gerçekleştiren bir transfer fonksiyonu sağlamayı gerektirir.

Temel bir token sistemi için sözleşme kodu son derece basittir ve sadece birkaç satırda yazılabilir. Adresleri bakiyelere eşleyen bir veri yapısı, başlangıç token arzını atayan bir başlatma fonksiyonu ve transferi gerçekleştirmeden önce gönderenin bakiyesini ve yetkisini kontrol eden bir transfer fonksiyonundan oluşur. Bu basitlik, Bitcoin'in kısıtlı betik yetenekleri nedeniyle önemli geçici çözümler ve sınırlamalar gerektiren Bitcoin üzerinde benzer sistemlerin uygulanması için gereken karmaşıklıkla keskin bir tezat oluşturur.

Ethereum'daki token'lar fiilen değerli herhangi bir şeyi temsil edebilir. Kendi para politikalarına sahip alt para birimleri, harici varlıkları izleyen finansal türevler, temettü haklarına sahip şirket hisseleri, müşteri programlarındaki sadakat puanları, altın veya petrol gibi emtialar veya hatta fiziksel mülkün temsilleri olabilirler. Ethereum'un programlanabilirliği, bu token'ların davranışlarını yöneten transfer kısıtlamaları, otomatik yakma mekanizmaları, temettü dağıtımları veya yönetişim hakları gibi rastgele kurallara sahip olmasına olanak tanır. Bu esneklik, token sistemlerini Ethereum ekosisteminin çoğunun temel yapı taşı haline getirmiştir.

Token Systems

Sistem token ternyata sangat mudah diterapkan di Ethereum, meskipun merupakan salah satu aplikasi yang paling kuat dan umum. Pada intinya, sistem token hanyalah sebuah database dengan satu operasi: kurangi X unit dari akun A dan tambahkan X unit ke akun B, dengan syarat A memiliki setidaknya X unit sebelum transaksi dan transaksi tersebut disahkan oleh A. Implementasinya memerlukan pemeliharaan pemetaan alamat ke saldo dan menyediakan fungsi transfer yang melakukan pemeriksaan yang sesuai sebelum memindahkan token antar akun.

Kode kontrak untuk sistem token dasar sangat sederhana dan dapat ditulis hanya dalam beberapa baris. Ini terdiri dari struktur data yang memetakan alamat ke saldo, fungsi inisialisasi yang menetapkan pasokan token awal, dan fungsi transfer yang memeriksa saldo dan otorisasi pengirim sebelum melakukan transfer. Kesederhanaan ini sangat kontras dengan kompleksitas yang diperlukan untuk mengimplementasikan sistem serupa di Bitcoin, yang memerlukan solusi dan batasan yang signifikan karena kemampuan skrip Bitcoin yang terbatas.

Token di Ethereum dapat mewakili hampir semua hal yang bernilai. Mereka mungkin mewakili sub-mata uang dengan kebijakan moneter mereka sendiri, derivatif keuangan yang melacak aset eksternal, saham perusahaan dengan hak dividen, poin loyalitas dalam program pelanggan, komoditas seperti emas atau minyak, atau bahkan representasi properti fisik. Kemampuan program Ethereum memungkinkan token ini memiliki aturan sewenang-wenang yang mengatur perilakunya, seperti pembatasan transfer, mekanisme pembakaran otomatis, distribusi dividen, atau hak tata kelola. Fleksibilitas ini menjadikan sistem token sebagai landasan dasar bagi sebagian besar ekosistem Ethereum.

Financial Derivatives and Stable-Value Currencies

Finansal türevler, Ethereum smart contract'larının en temel ve önemli uygulamalarından birini temsil eder. Basit bir riskten korunma sözleşmesi temel mekanizmayı gösterir: A tarafı 1000\( değerinde belirli bir miktar ether yatırır, B tarafı eşdeğer bir miktar yatırır ve sözleşme bir veri beslemesi kullanarak o andaki ether'in USD değerini kaydeder. 30 gün sonra, sözleşme değeri yeniden hesaplar ve A'ya 1000\) değerinde ether, kalanını B'ye gönderir. Ether'in fiyatı yükseldiyse, A daha az ether alır ama 1000$ değerini korur; düştüyse, A bu değeri korumak için daha fazla ether alır. Bu, A'nın dalgalanmaya karşı korunmasına izin verirken B fiyat hareketleri üzerine spekülasyon yapar.

Bu tür sözleşmelerin uygulanması, oracle sözleşmeleri veya veri beslemeleri aracılığıyla harici verilere erişim gerektirir. Bu oracle'lar, sözleşmelerin düzgün çalışması için ihtiyaç duyduğu fiyat bilgisi, hava durumu verileri veya diğer gerçek dünya bilgilerini sağlar. Oracle'lar bir güven bağımlılığı getirse de, güvenilir veri sağlamak için yedeklilik ve kriptoekonomik teşviklerle tasarlanabilir. Sözleşmenin kendisi basitçe oracle'ı sorgular, bu verilere dayalı hesaplamalar yapar ve programlı mantığına göre fonları dağıtır.

Stablecoin'ler ve daha karmaşık finansal araçlar benzer mekanizmalar kullanılarak inşa edilebilir. Bir stablecoin sözleşmesi, bir ether rezervi tutabilir ve fiyat beslemelerine dayalı olarak arz veya teminat gereksinimlerini otomatik olarak ayarlayarak itibari para birimine sabitlenmiş token'lar çıkarabilir. Normalde karmaşık hukuki çerçeveler ve güvenilir aracılar gerektiren opsiyon sözleşmeleri, vadeli işlemler, takaslar ve diğer türevler bunun yerine kendi kendini yürüten smart contract'lar olarak kodlanabilir. Bu programlanabilir finans altyapısı, blockchain teknolojisinin şeffaflık ve güvenlik garantilerini korurken sofistike finansal mühendisliği mümkün kılar.

Financial Derivatives and Stable-Value Currencies

Derivatif keuangan mewakili salah satu aplikasi kontrak pintar Ethereum yang paling mendasar dan penting. Kontrak lindung nilai sederhana menunjukkan mekanisme dasar: pihak A menyetor sejumlah eter senilai \(1000, pihak B menyetor jumlah yang setara, dan kontrak mencatat nilai eter USD pada saat itu menggunakan umpan data. Setelah 30 hari, kontrak menghitung ulang nilainya dan mengirimkan eter senilai \)1000 ke A dan sisanya ke B. Jika harga eter naik, A menerima lebih sedikit eter tetapi mempertahankan nilai $1000; jika jatuh, A menerima lebih banyak eter untuk mempertahankan nilainya. Hal ini memungkinkan A melakukan lindung nilai terhadap volatilitas sementara B berspekulasi mengenai pergerakan harga.

Implementasi kontrak tersebut memerlukan akses ke data eksternal melalui kontrak oracle atau data feed. Oracle ini memberikan informasi harga, data cuaca, atau informasi dunia nyata lainnya yang perlu dilaksanakan oleh kontrak dengan benar. Meskipun oracle memperkenalkan ketergantungan kepercayaan, mereka dapat dirancang dengan redundansi dan insentif ekonomi kripto untuk menyediakan data yang andal. Kontrak itu sendiri hanya menanyakan oracle, melakukan penghitungan berdasarkan data tersebut, dan mendistribusikan dana sesuai dengan logika terprogramnya.

Stablecoin dan instrumen keuangan yang lebih kompleks dapat dibangun menggunakan mekanisme serupa. Kontrak stablecoin mungkin mempertahankan cadangan eter dan menerbitkan token yang dipatok ke mata uang fiat, secara otomatis menyesuaikan persyaratan pasokan atau jaminan berdasarkan harga. Kontrak opsi, kontrak berjangka, swap, dan turunan lainnya yang biasanya memerlukan kerangka hukum yang rumit dan perantara tepercaya dapat dikodekan sebagai kontrak pintar yang dapat dijalankan sendiri. Infrastruktur keuangan yang dapat diprogram ini memungkinkan rekayasa keuangan yang canggih dengan tetap menjaga transparansi dan jaminan keamanan teknologi blockchain.

Identity and Reputation Systems

Namecoin'e benzer bir isim kayıt sistemi Ethereum üzerinde kolayca uygulanabilir ve bir kimlik sisteminin en basit örneğidir. Sözleşme, isimleri ilişkili verilere (IP adresleri, public key'ler veya diğer bilgiler gibi) eşleyen bir anahtar-değer tablosuna sahip bir veritabanı sürdürür. Herkes, isim daha önce alınmamış olmak koşuluyla, küçük bir kayıt ücreti ile sözleşmeye bir işlem göndererek bir isim kaydedebilir. Sahip, ilişkili verileri istediği zaman güncelleyebilir ve isimler, sözleşmede kodlanan kurallara göre transfer edilebilir veya kalıcı hale getirilebilir.

Bu temelden itibar puanlarını, güven ağı ilişkilerini ve merkeziyetsiz kimlik doğrulamayı içeren daha gelişmiş kimlik sistemleri inşa edilebilir. Örneğin, bir sözleşme doğrulanmış işlemlere, eş değerlendirmelerine veya görev tamamlamaya dayalı itibar puanları sürdürebilir. Bu puanlar kamuya açık ve belirli adreslere kriptografik olarak bağlı olacaktır, uygulamalar arasında kullanıcıları takip eden taşınabilir bir itibar oluşturur. Güven ağı sistemleri, kullanıcıların başkalarının kimliklerini onaylamasına izin vererek meşru kullanıcıları kötü aktörlerden ayırmaya yardımcı olan sosyal grafikler oluşturabilir.

Bu tür kimlik ve itibar sistemleri, diğer uygulamalarla entegre edildiğinde özellikle güçlü hale gelir. Bir pazar yeri satıcılar için minimum itibar puanı gerektirebilir, bir kredi platformu borçlu itibarına göre faiz oranlarını ayarlayabilir veya bir sosyal ağ spam ve dolandırıcılık içeriğini filtrelemek için güven ağını kullanabilir. Herhangi bir uygulamanın sorgulayabileceği paylaşımlı bir kimlik altyapısı sağlayarak, Ethereum merkezi kimlik sağlayıcılarına veya tescilli itibar sistemlerine dayanmayan yeni bir güven tabanlı uygulama sınıfını mümkün kılar.

Identity and Reputation Systems

Sistem registrasi nama yang mirip dengan Namecoin dapat diterapkan dengan mudah di Ethereum dan berfungsi sebagai contoh paling sederhana dari sistem identitas. Kontrak memelihara database dengan nama pemetaan tabel nilai kunci ke data terkait (seperti alamat IP, kunci publik, atau informasi lainnya). Siapa pun dapat mendaftarkan nama dengan mengirimkan transaksi ke kontrak dengan sedikit biaya pendaftaran, dengan syarat nama tersebut belum diambil. Pemilik dapat memperbarui data terkait kapan saja, dan nama dapat dibuat dapat dialihkan atau permanen sesuai dengan aturan yang tercantum dalam kontrak.

Sistem identitas yang lebih canggih dapat dibangun di atas landasan ini untuk mencakup skor reputasi, jaringan hubungan kepercayaan, dan verifikasi identitas yang terdesentralisasi. Misalnya, sebuah kontrak dapat mempertahankan skor reputasi berdasarkan transaksi terverifikasi, peringkat rekan, atau penyelesaian tugas. Skor ini akan terlihat secara publik dan secara kriptografis dikaitkan dengan alamat tertentu, sehingga menciptakan reputasi portabel yang dapat mengikuti pengguna di seluruh aplikasi. Sistem jaringan kepercayaan dapat memungkinkan pengguna untuk menjamin identitas orang lain, membangun grafik sosial yang membantu membedakan pengguna yang sah dari pelaku kejahatan.

Sistem identitas dan reputasi tersebut menjadi sangat kuat ketika terintegrasi dengan aplikasi lain. Pasar mungkin memerlukan skor reputasi minimum untuk penjual, platform pinjaman dapat menyesuaikan suku bunga berdasarkan reputasi peminjam, atau jaringan sosial dapat menggunakan web kepercayaan untuk memfilter spam dan konten penipuan. Dengan menyediakan infrastruktur bersama untuk identitas yang dapat ditanyakan oleh aplikasi apa pun, Ethereum memungkinkan kelas baru aplikasi berbasis kepercayaan yang tidak bergantung pada penyedia identitas terpusat atau sistem reputasi kepemilikan.

Decentralized File Storage

Merkeziyetsiz dosya depolama, depolamaya ihtiyaç duyan kullanıcılar ile bunu sunan sağlayıcılar arasında koordinasyon sağlayan Ethereum sözleşmeleri aracılığıyla uygulanabilir. "Merkeziyetsiz Dropbox" modelinde, kullanıcılar dosya yüklemek için aylık ücret ödeyecek ve sözleşme, verileri gerçekten depoladıklarını kanıtlayan depolama sağlayıcılarına ödemeleri dağıtacaktır. Kanıt mekanizması periyodik kriptografik zorluklar aracılığıyla çalışır: sözleşme dosyaların bölümlerini rastgele seçer ve sağlayıcılardan bu verilere sahip olduklarını gösteren Merkle tree kanıtları sunmalarını ister. Zorluklarda başarısız olan veya çevrimdışı olan sağlayıcılar, depozitolarını ve gelecekteki ödeme akışlarını kaybedecektir.

Bu yaklaşım, merkezi depolamaya göre birçok avantaj sunar. Merkle tree kanıtları verimli doğrulama sağlar—kullanıcılar ve sözleşme, dosyaların tamamını indirmeden dosya kullanılabilirliğini doğrulayabilir. Sistem doğal olarak dosyaları birden fazla bağımsız sağlayıcıya dağıtarak açık çoğaltma protokollerine ihtiyaç duymadan yedeklilik oluşturur. Ekonomik teşvikler, sağlayıcı davranışını kullanıcı ihtiyaçlarıyla uyumlu hale getirir: sağlayıcılar verileri güvenilir şekilde depolayarak para kazanır ve bunu yapamazlarsa para kaybederler. Bu, merkezi depolama çözümlerindeki doğal güven gereksinimini ortadan kaldırır.

Böyle bir sistemde depolama maliyetleri, birkaç nedenden dolayı merkezi alternatiflere göre potansiyel olarak daha düşük olabilir. Tekel fiyatlandırmasının ortadan kaldırılması, piyasa rekabetinin maliyetleri depolamanın gerçek maliyetine yaklaştırmasına olanak tanır. Benzer dosyaları depolayan birden fazla kullanıcıdan kaynaklanan örtük yedeklilik, toplam depolama gereksinimlerini azaltabilir. Pahalı veri merkezi altyapısına veya kurumsal genel giderlere gerek yoktur. Ancak ödeme mekanizmaları, yeterli sağlayıcı katılımını sağlama ve yedeklilik ile maliyet arasındaki dengeyi yönetme konularında zorluklar devam etmektedir. Bu zorluklara rağmen, merkeziyetsiz depolama, Ethereum'un yalnızca ekonomik teşvikler aracılığıyla karmaşık çok taraflı etkileşimleri nasıl koordine edebileceğini göstermektedir.

Decentralized File Storage

Penyimpanan file terdesentralisasi dapat diterapkan melalui kontrak Ethereum yang berkoordinasi antara pengguna yang membutuhkan penyimpanan dan penyedia yang menawarkannya. Dalam model "Dropbox terdesentralisasi", pengguna akan membayar biaya bulanan untuk mengunggah file, dengan kontrak yang mendistribusikan pembayaran ke penyedia penyimpanan yang membuktikan bahwa mereka benar-benar menyimpan data. Mekanisme pembuktian bekerja melalui tantangan kriptografi berkala: kontrak secara acak memilih bagian file dan meminta penyedia untuk memberikan bukti pohon Merkle yang menunjukkan bahwa mereka memiliki data tersebut. Penyedia yang gagal dalam tantangan atau offline akan kehilangan simpanan dan aliran pembayaran di masa mendatang.

Pendekatan ini menawarkan beberapa keunggulan dibandingkan penyimpanan terpusat. Bukti pohon Merkle memungkinkan verifikasi yang efisien—pengguna dan kontrak dapat mengonfirmasi ketersediaan file tanpa mengunduh seluruh file. Sistem secara alami mendistribusikan file ke beberapa penyedia independen, menciptakan redundansi tanpa memerlukan protokol replikasi yang eksplisit. Insentif ekonomi menyelaraskan perilaku penyedia layanan dengan kebutuhan pengguna: penyedia layanan mendapatkan uang dengan menyimpan data secara andal dan kehilangan uang jika mereka gagal melakukannya. Hal ini menghilangkan persyaratan kepercayaan yang melekat pada solusi penyimpanan terpusat.

Biaya penyimpanan dalam sistem seperti itu berpotensi lebih rendah dibandingkan alternatif terpusat karena beberapa alasan. Penghapusan harga monopoli memungkinkan persaingan pasar menurunkan biaya hingga mendekati biaya penyimpanan sebenarnya. Redundansi implisit dari beberapa pengguna yang menyimpan file serupa dapat mengurangi total kebutuhan penyimpanan. Tidak diperlukan infrastruktur pusat data yang mahal atau biaya overhead perusahaan. Namun, masih terdapat tantangan seputar mekanisme pembayaran, memastikan partisipasi penyedia layanan yang memadai, dan mengelola trade-off antara redundansi dan biaya. Terlepas dari tantangan-tantangan ini, penyimpanan terdesentralisasi menunjukkan bagaimana Ethereum dapat mengoordinasikan interaksi multi-pihak yang kompleks melalui insentif ekonomi saja.

Decentralized Autonomous Organizations

Merkeziyetsiz Otonom Organizasyon (DAO), kuruluşun fonlarını harcama ve kodunu değiştirme hakkına toplu olarak sahip olan bir üye veya hissedar grubuna sahip sanal bir varlıktır. Tipik bir DAO basit bir kuralla çalışır: harcama kararları almak veya organizasyonun kodunu değiştirmek için üyelerin %67'si gereklidir. Üyeler teklifler sunabilir, bunlara oy verebilir ve bir teklif yeterli destek alırsa, sözleşme kararı otomatik olarak yürütür. Üyelik payları transfer edilebilir olabilir, DAO katılımı için likit bir piyasa sağlar ve farklı pay sınıfları farklı oy hakları veya ekonomik taleplere sahip olabilir.

En basit DAO tasarımı, üyelerin bir listesini sürdüren ve sözleşmenin herhangi bir yönünü, kendi oy kuralları dahil, değiştirmek için 2/3 çoğunluk oyu gerektiren kendi kendini değiştiren bir sözleşmedir. Üyeler kod değişikliklerini işlem olarak sunacak, diğer üyeler oy kullanacak ve eşiğe ulaşıldığında sözleşme kendini güncelleyecektir. Daha sofistike tasarımlar, üyelerin oy güçlerini temsilcilere atayabileceği yetkilendirilmiş oy sistemleri veya oyların devredilebildiği ancak önemli kararlar için herhangi bir zamanda geri alınabildiği likit demokrasi içerebilir.

DAO'lar basit fon yönetiminin ötesinde çeşitli amaçlara hizmet edebilir. Bir DAO, geleneksel hukuki yapılar yerine smart contract kodu tarafından yönetilen, yüklenicileri işe alan, hizmet satın alan ve hissedarlara kar dağıtan merkeziyetsiz bir şirket olarak işlev görebilir. Merkeziyetsiz bir yatırım fonu olarak çalışabilir; üyeler hangi projelere fon sağlanacağı konusunda oy kullanır. Bir ortak kaynağı yönetebilir; paydaşlar tahsis kuralları konusunda oy kullanır. Temel içgörü, yönetişim kurallarını şeffaf, değiştirilemez koda kodlayarak ve bunları ekonomik paya bağlayarak, DAO'ların geleneksel hiyerarşik yönetim veya hukuki uygulamaya ihtiyaç duymadan grup kararlarını koordine edebileceğidir.

Decentralized Autonomous Organizations

Organisasi Otonomi Terdesentralisasi (DAO) adalah entitas virtual yang memiliki sekumpulan anggota atau pemegang saham yang secara kolektif memiliki hak untuk membelanjakan dana entitas dan mengubah kodenya. DAO tipikal beroperasi dengan aturan sederhana: 67% anggota diperlukan untuk membuat keputusan pengeluaran atau mengubah kode organisasi. Anggota dapat mengajukan proposal, memberikan suaranya, dan jika sebuah proposal mendapat dukungan yang memadai, kontrak secara otomatis melaksanakan keputusannya. Saham keanggotaan dapat dialihkan, memungkinkan pasar yang likuid untuk partisipasi DAO, dan kelas saham yang berbeda dapat memiliki hak suara atau klaim ekonomi yang berbeda.

Desain DAO yang paling sederhana adalah kontrak yang dapat dimodifikasi sendiri yang mempertahankan daftar anggota dan memerlukan 2/3 suara mayoritas untuk mengubah segala aspek kontrak, termasuk aturan pemungutan suara sendiri. Anggota akan mengirimkan perubahan kode saat transaksi, anggota lain akan memilih, dan setelah mencapai ambang batas, kontrak akan diperbarui sendiri. Desain yang lebih canggih mungkin mencakup sistem pemungutan suara yang didelegasikan di mana anggota dapat menyerahkan hak suara mereka kepada perwakilan, atau demokrasi cair di mana suara dapat didelegasikan tetapi dapat diambil kembali kapan saja untuk pengambilan keputusan penting.

DAO dapat melayani berbagai tujuan di luar pengelolaan dana sederhana. DAO dapat berfungsi sebagai perusahaan terdesentralisasi, mempekerjakan kontraktor, membeli layanan, dan mendistribusikan keuntungan kepada pemegang saham—semuanya diatur oleh kode kontrak pintar dan bukan struktur hukum tradisional. Ini dapat beroperasi sebagai dana investasi terdesentralisasi, dengan anggota memberikan suara pada proyek mana yang akan didanai. Pemerintah dapat mengelola sumber daya milik bersama, dengan para pemangku kepentingan memberikan suara mengenai aturan alokasi. Wawasan utamanya adalah dengan mengkodekan peraturan tata kelola dalam kode yang transparan dan tidak dapat diubah serta mengaitkannya dengan kepentingan ekonomi, DAO dapat mengoordinasikan keputusan kelompok tanpa memerlukan manajemen hierarki tradisional atau penegakan hukum.

Further Applications

Daha önce tartışılan ana kategorilerin ötesinde, Ethereum çok sayıda başka uygulamayı mümkün kılar. Sofistike güvenlik özelliklerine sahip tasarruf cüzdanları, günlük çekim limitleri uygularken kurtarma için acil anahtarlar sağlayabilir; kullanıcıları hırsızlıktan korurken nihai kontrolü sürdürür. Hasat sigortası sözleşmeleri, hava durumu veri beslemelerine dayalı olarak çiftçilere otomatik olarak ödeme yapabilir; talep işlemeyi ortadan kaldırır ve yönetim giderlerini azaltır. Eşler arası kumar uygulamaları, herhangi bir güvenilir aracı olmadan çalışabilir; smart contract'lar bahisleri tutar ve doğrulanabilir rastgele sayılara veya gerçek dünya olay verilerine dayalı olarak kazananlara otomatik olarak ödeme yapar.

Zincir üstü tahmin piyasaları, kullanıcıların gelecekteki olaylara bahis oynamasına olanak tanıyarak kalabalıkların bilgeliği aracılığıyla güçlü tahmin mekanizmaları oluşturur. Bunlar, merkeziyetsiz oracle'lar oluşturmak için SchellingCoin tarzı protokollerle güçlendirilebilir: katılımcılar bağımsız olarak verileri (seçim sonuçları veya hava koşulları gibi) raporlar ve raporları çoğunlukla eşleşenler ödül alırken sapanlar cezalandırılır. Bu kriptoekonomik yaklaşım dürüst raporlamayı teşvik eder ve herhangi bir tek oracle sağlayıcısına güven gerektirmeden diğer sözleşmelere güvenilir gerçek dünya verileri sağlayabilir.

Çoklu imza cüzdanları, birden fazla taraf arasında fonların paylaşımlı kontrolünü sağlayan bir diğer önemli uygulamayı temsil eder. 2-of-3 çoklu imza cüzdanı, fonlar harcanmadan önce belirlenen üç taraftan herhangi ikisinin işlemi onaylamasını gerektirebilir; emanet düzenlemeleri, kurumsal hazineler veya kişisel güvenlik için kullanışlıdır. Merkeziyetsiz pazar yerleri, kimlik sistemlerini, itibar puanlarını, emanet sözleşmelerini ve uyuşmazlık çözüm mekanizmalarını birleştirerek merkezi platformlar olmadan eşler arası ticareti mümkün kılabilir. Bu uygulamaların her biri, Ethereum'un programlanabilirliğinin yeni güven modelleri ve organizasyonel yapıları nasıl mümkün kıldığını göstermektedir.

Further Applications

Di luar kategori utama yang telah dibahas, Ethereum memungkinkan banyak aplikasi lainnya. Dompet tabungan dengan fitur keamanan canggih dapat menerapkan batas penarikan harian sambil memberikan kunci darurat untuk pemulihan, melindungi pengguna dari pencurian sambil mempertahankan kendali penuh. Kontrak asuransi tanaman dapat secara otomatis membayar petani berdasarkan data cuaca, menghilangkan pemrosesan klaim dan mengurangi biaya administrasi. Aplikasi perjudian peer-to-peer dapat beroperasi tanpa perantara tepercaya, dengan kontrak pintar yang memegang taruhan dan secara otomatis membayar pemenang berdasarkan nomor acak yang dapat diverifikasi atau data peristiwa dunia nyata.

Pasar prediksi on-chain memungkinkan pengguna untuk bertaruh pada kejadian di masa depan, menciptakan mekanisme perkiraan yang kuat melalui kebijaksanaan orang banyak. Hal ini dapat ditambah dengan protokol gaya SchellingCoin untuk menciptakan oracle yang terdesentralisasi: peserta secara independen melaporkan data (seperti hasil pemilu atau kondisi cuaca), dan peserta yang laporannya cocok dengan mayoritas akan menerima hadiah sementara yang outlier akan dikenakan sanksi. Pendekatan ekonomi kripto ini memberi insentif pada pelaporan yang jujur ​​dan dapat memberikan data dunia nyata yang dapat diandalkan untuk kontrak lain tanpa memerlukan kepercayaan pada penyedia oracle mana pun.

Dompet multi-tanda tangan mewakili aplikasi penting lainnya, memungkinkan kontrol dana bersama antara banyak pihak. Dompet multi-tanda 2 dari 3 mungkin memerlukan dua dari tiga pihak yang ditunjuk untuk menyetujui transaksi sebelum dana dapat dibelanjakan, berguna untuk pengaturan escrow, perbendaharaan perusahaan, atau keamanan pribadi. Pasar yang terdesentralisasi dapat menggabungkan sistem identitas, skor reputasi, kontrak escrow, dan mekanisme penyelesaian sengketa untuk memungkinkan perdagangan peer-to-peer tanpa platform terpusat. Masing-masing aplikasi ini menunjukkan bagaimana kemampuan program Ethereum memungkinkan model kepercayaan dan struktur organisasi baru.

Miscellanea And Concerns

Ethereum'un değiştirilmiş GHOST protokolü uygulaması, amca dahil etme ve ödüller için özel kurallar içerir. Amcalar, mevcut bloğun atasının doğrudan çocukları olmalıdır (2 ile 7 nesil arasında), geçerli blok başlıkları olmalıdır, önceki amcalardan farklı olmalıdır ve mevcut bloğun doğrudan ataları olmamalıdır. Amca bloklar standart blok ödülünün %87,5'ini alır, dahil eden blok ise dahil edilen amca başına ek %3,125 alır (en fazla iki amca). Bu teşvik yapısı, madencileri gözlemledikleri eski blokları referans almaya teşvik ederek ağ güvenliğini güçlendirir ve ağ yayılımında geçici kötü şansa maruz kalan madencileri ödüllendirir.

Ücret sistemi, her hesaplama işleminin sabit bir gas maliyetine sahip olduğu "gas" kavramına dayanır. Örneğin, bir çarpma işlemi 5 gas, bir SHA256 hash'i 20 gas maliyetindedir ve her işlemin temel maliyeti 21.000 gas'tır. Kullanıcılar hem gas limiti (tüketmeye razı oldukları maksimum gas) hem de gas fiyatı (gas birimi başına ne kadar ether ödeyecekleri) belirtir. Bu sistem birden fazla amaca hizmet eder: tüm hesaplamanın ücretli olmasını sağlayarak sonsuz döngüleri ve hizmet reddi saldırılarını önler, kullanıcıların gas fiyatları aracılığıyla teklif verdiği blok alanı için bir piyasa oluşturur ve madencilerin kabul etmeye razı oldukları minimum gas fiyatını belirlemelerine izin vererek ağ kaynaklarını korur.

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

Ölçeklenebilirlik önemli bir endişe olmaya devam etmektedir, çünkü her tam düğüm durumu doğrulamak için her işlemi işlemek zorundadır. Mevcut blockchain mimarileri, merkezi sistemlerin işlem hacmiyle eşleşmekte zorlanır. Potansiyel çözümler arasında farklı düğümlerin farklı işlem alt kümelerini işlediği durum parçalama ve daha verimli blok üretimini mümkün kılabilecek proof-of-work'ten proof-of-stake uzlaşmasına geçiş yer alır. Merkle kanıtları kullanan hafif istemciler tüm blokları işlemeden işlemleri doğrulayabilir, ancak birinin yine de her şeyi işlemesi gerekir. Bu ölçeklenebilirlik zorlukları, Ethereum'un uzun vadeli yaşayabilirliği için kritik aktif araştırma ve geliştirme alanlarını temsil eder.

Miscellanea And Concerns

Implementasi Ethereum terhadap protokol GHOST yang dimodifikasi mencakup aturan khusus untuk penyertaan dan penghargaan paman. Paman harus merupakan anak langsung dari nenek moyang blok saat ini (antara 2 dan 7 generasi ke belakang), harus merupakan header blok yang valid, harus berbeda dari paman sebelumnya, dan tidak boleh merupakan nenek moyang langsung dari blok saat ini. Blok paman menerima 87,5% dari hadiah blok standar, sedangkan blok yang menyertakan menerima tambahan 3,125% per paman yang disertakan (hingga dua paman). Struktur insentif ini mendorong para penambang untuk mereferensikan blok-blok usang yang mereka amati, memperkuat keamanan jaringan sekaligus memberikan penghargaan kepada para penambang yang mengalami nasib buruk sementara dalam propagasi jaringan.

Sistem biaya ini didasarkan pada konsep "gas", di mana setiap operasi komputasi memiliki biaya gas yang tetap. Misalnya, operasi perkalian memerlukan biaya 5 gas, hash SHA256 memerlukan biaya 20 gas, dan setiap transaksi memiliki biaya dasar sebesar 21.000 gas. Pengguna menentukan batas gas (gas maksimum yang ingin mereka konsumsi) dan harga gas (berapa banyak ether yang akan mereka bayarkan per unit gas). Sistem ini memiliki banyak tujuan: mencegah loop tak terbatas dan serangan penolakan layanan dengan memastikan semua komputasi dibayar, menciptakan pasar untuk ruang blok tempat pengguna menawar melalui harga gas, dan memungkinkan penambang menetapkan harga gas minimum yang bersedia mereka terima, sehingga melindungi sumber daya jaringan.

Ethereum supply growth rate comparing linear issuance to Bitcoin decreasing growth

Skalabilitas tetap menjadi perhatian yang signifikan, karena setiap node penuh harus memproses setiap transaksi untuk memverifikasi status. Arsitektur blockchain saat ini kesulitan untuk menyamai throughput transaksi sistem terpusat. Solusi potensial mencakup state sharding, di mana node yang berbeda memproses subset transaksi yang berbeda, dan transisi dari proof-of-work ke konsensus bukti kepemilikan, yang memungkinkan produksi blok lebih efisien. Klien ringan yang menggunakan bukti Merkle dapat memverifikasi transaksi tanpa memproses semua blok, namun seseorang tetap harus memproses semuanya. Tantangan skalabilitas ini mewakili bidang penelitian dan pengembangan aktif yang penting bagi kelangsungan jangka panjang Ethereum.

Conclusion

Ethereum protokolü başlangıçta bir kripto para biriminin geliştirilmiş versiyonu olarak tasarlandı; yüksek düzeyde genelleştirilmiş bir programlama dili aracılığıyla zincir üstü emanet, çekim limitleri ve finansal sözleşmeler gibi gelişmiş özellikler sunan. Ancak Ethereum protokolü sadece para biriminin çok ötesine geçer. Merkeziyetsiz dosya depolama, merkeziyetsiz hesaplama ve merkeziyetsiz tahmin piyasaları etrafındaki protokoller, düzinelerce başka kavramla birlikte, bilgi işlem endüstrisinin verimliliğini önemli ölçüde artırma ve ilk kez ekonomik bir katman ekleyerek diğer eşler arası protokollere büyük bir destek sağlama potansiyeline sahiptir.

Belirli kullanım durumları için tasarlanmış sınırlı bir işlem seti sağlamak yerine, Ethereum geliştiricilerin tasarlayabildikleri herhangi bir uygulamayı inşa etmelerini sağlayan Turing-complete bir programlama dili sunar. Kendi finansal türevinizi icat etmek mi istiyorsunuz? Kendi para biriminizi oluşturmak mı? Blockchain üzerinde bir hükümet kurmak mı? Bunların hepsi Ethereum'un betik sistemiyle kolayca uygulanabilir. Platformun gücü, hangi uygulamaların inşa edileceğini tahmin etmekte değil, onları inşa etmeyi kolaylaştıran temel altyapıyı sağlamaktadır.

Ethereum protokolü tarafından uygulanan rastgele state transition fonksiyonu kavramı, benzersiz potansiyele sahip bir platform sunar. Veri depolama, kumar veya finans alanındaki belirli uygulamalar için tasarlanmış kapalı uçlu, tek amaçlı bir protokol olmak yerine, Ethereum tasarım gereği açık uçludur ve hem finansal hem de finansal olmayan çok sayıda protokol için önümüzdeki yıllarda temel katman olarak hizmet etmeye son derece uygun olduğuna inanıyoruz. Gelecekte Ethereum üzerine inşa edilecek uygulamalar, bugün hayal bile edemeyeceğimiz uygulamalar olabilir ve bu açık uçlu olasılık platformun gerçek vaadini temsil eder.

Conclusion

Protokol Ethereum pada awalnya dipahami sebagai versi mata uang kripto yang ditingkatkan, menyediakan fitur-fitur canggih seperti escrow di blockchain, batas penarikan, dan kontrak keuangan melalui bahasa pemrograman yang sangat umum. Namun, protokol Ethereum tidak hanya sekedar mata uang. Protokol seputar penyimpanan file terdesentralisasi, komputasi terdesentralisasi, dan pasar prediksi terdesentralisasi, di antara lusinan konsep lainnya, memiliki potensi untuk meningkatkan efisiensi industri komputasi secara signifikan dan memberikan dorongan besar pada protokol peer-to-peer lainnya dengan menambahkan lapisan ekonomi untuk pertama kalinya.

Daripada menyediakan serangkaian operasi terbatas yang dirancang untuk kasus penggunaan tertentu, Ethereum menyediakan bahasa pemrograman lengkap Turing yang memungkinkan pengembang membangun aplikasi apa pun yang dapat mereka desain. Ingin menciptakan derivatif keuangan Anda sendiri? Buat mata uang Anda sendiri? Membentuk pemerintahan di blockchain? Ini semua dapat diimplementasikan dengan mudah dengan sistem skrip Ethereum. Kekuatan platform tidak terletak pada prediksi aplikasi apa yang akan dibangun, namun pada penyediaan infrastruktur dasar yang memudahkan pembuatannya.

Konsep fungsi transisi keadaan sewenang-wenang seperti yang diterapkan oleh protokol Ethereum menyediakan platform dengan potensi unik. Daripada menjadi protokol tertutup dan bertujuan tunggal yang ditujukan untuk aplikasi spesifik dalam penyimpanan data, perjudian, atau keuangan, Ethereum dirancang dengan tujuan terbuka, dan kami yakin ini sangat cocok untuk berfungsi sebagai lapisan dasar bagi sejumlah besar protokol keuangan dan non-keuangan di tahun-tahun mendatang. Aplikasi yang akan dibangun pada Ethereum di masa depan mungkin merupakan aplikasi yang bahkan tidak dapat kita bayangkan saat ini, dan kemungkinan terbuka tersebut mewakili janji sebenarnya dari platform tersebut.

References and Further Reading

Ethereum teknik raporu, kripto para ve dağıtık sistemler araştırmasındaki kapsamlı önceki çalışmalar üzerine inşa edilmiştir. Temel Bitcoin protokolü, blockchain tabanlı dijital para birimi kavramını tanıtan Satoshi Nakamoto'nun 2008 orijinal makalesi "Bitcoin: A Peer-to-Peer Electronic Cash System"de açıklanmıştır. Bitcoin'in işlevselliğini genişletmeye yönelik erken girişimler arasında, Bitcoin'in kısıtlı betik yetenekleri tarafından sınırlandırılmış olsa da para biriminin ötesinde blockchain uygulamalarını gösteren merkeziyetsiz bir isim kayıt sistemi olan Namecoin bulunur.

Colored coins teknik raporu, belirli bitcoin'leri diğer varlıkları temsil etmek üzere "renklendirerek" Bitcoin blockchain'inde alternatif varlıkları temsil etmek için bir yöntem önerirken, Mastercoin daha karmaşık finansal araçlar için Bitcoin'in üzerine bir protokol katmanı oluşturmaya çalıştı. Her ikisi de Bitcoin üzerine inşa etmenin sınırlamalarını vurguladı ve daha esnek bir platform ihtiyacını motive etti. Bitcoin Magazine'de incelenen merkeziyetsiz otonom şirketler kavramı, smart contract'lar aracılığıyla organizasyonel yönetişim için teorik temeller sağladı.

Temel teknik bileşenler arasında hafif istemciler için basitleştirilmiş ödeme doğrulaması (SPV), verimli veri doğrulama için Merkle tree'ler ve Ethereum'un durum temsili için Patricia trie'leri yer alır. 2013 kriptografi makalesinde açıklanan GHOST (Greedy Heaviest Observed Subtree) protokolü, hızlı blok sürelerinden kaynaklanan güvenlik sorunlarını ele alır ve Ethereum'un uzlaşma mekanizmasının temelini oluşturur. Bu referanslar, genel amaçlı bir blockchain platformu oluşturmak için kripto para, dağıtık sistemler, kriptografi ve oyun teorisinden içgörüleri birleştiren Ethereum'un inşa edildiği entelektüel temelleri temsil eder.

References and Further Reading

Whitepaper Ethereum dibuat berdasarkan penelitian ekstensif sebelumnya mengenai mata uang kripto dan penelitian sistem terdistribusi. Protokol dasar Bitcoin dijelaskan dalam makalah asli Satoshi Nakamoto tahun 2008 "Bitcoin: Sistem Uang Elektronik Peer-to-Peer," yang memperkenalkan konsep mata uang digital berbasis blockchain. Upaya awal untuk memperluas fungsionalitas Bitcoin mencakup Namecoin, sistem registrasi nama terdesentralisasi yang menunjukkan aplikasi blockchain di luar mata uang, meskipun dibatasi oleh kemampuan skrip Bitcoin yang terbatas.

Whitepaper koin berwarna mengusulkan metode untuk merepresentasikan aset alternatif pada blockchain Bitcoin dengan "mewarnai" bitcoin tertentu untuk mewakili aset lain, sementara Mastercoin berupaya membuat lapisan protokol di atas Bitcoin untuk instrumen keuangan yang lebih kompleks. Keduanya menyoroti keterbatasan pengembangan Bitcoin dan memotivasi perlunya platform yang lebih fleksibel. Konsep perusahaan otonom yang terdesentralisasi, yang dieksplorasi dalam Majalah Bitcoin, memberikan landasan teoretis bagi tata kelola organisasi melalui kontrak pintar.

Komponen teknis utama mencakup verifikasi pembayaran yang disederhanakan (SPV) untuk klien ringan, pohon Merkle untuk verifikasi data yang efisien, dan Patricia mencoba mewakili negara bagian Ethereum. Protokol GHOST (Greedy Heaviest Observed Subtree), yang dijelaskan dalam makalah kriptografi tahun 2013, mengatasi masalah keamanan yang timbul dari waktu blok yang cepat dan menjadi dasar mekanisme konsensus Ethereum. Referensi ini mewakili landasan intelektual di mana Ethereum dibangun, menggabungkan wawasan dari mata uang kripto, sistem terdistribusi, kriptografi, dan teori permainan untuk menciptakan platform blockchain tujuan umum.