एथेरियम: अगली पीढ़ी का स्मार्ट कॉन्ट्रैक्ट और विकेंद्रीकृत एप्लिकेशन प्लेटफ़ॉर्म
Abstract
Ethereum e uma plataforma de criptomoedas e aplicacoes descentralizadas de nova geracao que introduz uma blockchain com uma linguagem de programacao Turing-completa incorporada. Isso permite que qualquer pessoa escreva smart contracts e aplicacoes descentralizadas onde podem criar suas proprias regras arbitrarias para propriedade, formatos de transacao e funcoes de transicao de estado.
A inovacao fundamental do Ethereum e combinar a tecnologia blockchain pioneira do Bitcoin com um ambiente de programacao de proposito geral. Enquanto o Bitcoin fornece um sistema simples de transicao de estado para mover moeda de uma conta para outra, o Ethereum fornece uma plataforma onde desenvolvedores podem construir qualquer tipo de aplicacao descentralizada que possam imaginar, desde moedas alternativas e instrumentos financeiros ate sistemas de registro de dominios e organizacoes descentralizadas.
O Ethereum alcanca isso construindo o que e essencialmente a camada fundacional abstrata definitiva: uma blockchain com uma linguagem de programacao Turing-completa incorporada, permitindo que qualquer pessoa escreva smart contracts e aplicacoes descentralizadas onde podem criar suas proprias regras arbitrarias para propriedade, formatos de transacao e funcoes de transicao de estado. Uma versao basica do Namecoin pode ser escrita em duas linhas de codigo, e outros protocolos como moedas e sistemas de reputacao podem ser construidos em menos de vinte.
Abstract
Ethereum एक अगली पीढ़ी का cryptocurrency और विकेन्द्रीकृत एप्लिकेशन प्लेटफॉर्म है जो एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा के साथ एक blockchain प्रस्तुत करता है। यह किसी को भी smart contracts और विकेन्द्रीकृत एप्लिकेशन लिखने की अनुमति देता है जहाँ वे स्वामित्व, लेनदेन प्रारूपों और state transition functions के लिए अपने मनमाने नियम बना सकते हैं।
Ethereum का मूलभूत नवाचार Bitcoin द्वारा अग्रणी blockchain तकनीक को एक सामान्य-उद्देश्य प्रोग्रामिंग वातावरण के साथ जोड़ना है। जबकि Bitcoin एक खाते से दूसरे खाते में मुद्रा स्थानांतरित करने के लिए एक सरल state transition system प्रदान करता है, Ethereum एक ऐसा प्लेटफॉर्म प्रदान करता है जहाँ डेवलपर्स वैकल्पिक मुद्राओं और वित्तीय उपकरणों से लेकर डोमेन पंजीकरण प्रणालियों और विकेन्द्रीकृत संगठनों तक, किसी भी प्रकार का विकेन्द्रीकृत एप्लिकेशन बना सकते हैं।
Ethereum यह मूलतः अंतिम अमूर्त आधारभूत परत बनाकर प्राप्त करता है: एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा वाला blockchain, जो किसी को भी smart contracts और विकेन्द्रीकृत एप्लिकेशन लिखने की अनुमति देता है जहाँ वे स्वामित्व, लेनदेन प्रारूपों और state transition functions के लिए अपने मनमाने नियम बना सकते हैं। Namecoin का एक न्यूनतम संस्करण कोड की दो पंक्तियों में लिखा जा सकता है, और मुद्राओं और प्रतिष्ठा प्रणालियों जैसे अन्य प्रोटोकॉल बीस से कम पंक्तियों में बनाए जा सकते हैं।
Introduction and Existing Concepts
O conceito de moeda digital descentralizada, assim como aplicacoes alternativas como registros de propriedade, existe ha decadas. Os protocolos anonimos de dinheiro eletronico das decadas de 1980 e 1990, em sua maioria dependentes de uma primitiva criptografica conhecida como cegamento de Chaum, forneciam uma moeda com alto grau de privacidade, mas os protocolos em grande parte nao conseguiram ganhar tracao devido a sua dependencia de um intermediario centralizado. Em 1998, o b-money de Wei Dai tornou-se a primeira proposta a introduzir a ideia de criar dinheiro atraves da resolucao de quebra-cabecas computacionais, bem como consenso descentralizado, mas a proposta era escassa em detalhes sobre como o consenso descentralizado poderia realmente ser implementado.
Em 2009, uma moeda descentralizada foi implementada na pratica pela primeira vez por Satoshi Nakamoto, combinando primitivas estabelecidas para gerenciar propriedade atraves de criptografia de chave publica com um algoritmo de consenso para rastrear quem possui as moedas, conhecido como "proof of work". O mecanismo por tras do proof of work foi um avanco no campo porque resolveu simultaneamente dois problemas. Primeiro, forneceu um algoritmo de consenso simples e moderadamente eficaz, permitindo que os nos da rede concordassem coletivamente em um conjunto de atualizacoes canonicas ao estado do livro-razao do Bitcoin. Segundo, forneceu um mecanismo para permitir a entrada livre no processo de consenso, resolvendo o problema politico de decidir quem pode influenciar o consenso, enquanto simultaneamente prevenia ataques sybil.
A blockchain do Bitcoin provou ser notavelmente robusta ao longo de seus anos de operacao, mas e inerentemente limitada. A linguagem de scripting do Bitcoin e intencionalmente projetada para ser restritiva e nao Turing-completa, carecendo de loops e muitas outras funcionalidades que seriam necessarias para construir aplicacoes mais complexas. Essa limitacao existe para prevenir loops infinitos e outras formas de ataques computacionais, mas restringe severamente o que pode ser construido sobre o Bitcoin.
Nos ultimos cinco anos, houve varias tentativas de estender a funcionalidade do Bitcoin. Os colored coins buscaram usar a blockchain do Bitcoin para rastrear a propriedade de ativos alternativos, o Namecoin tentou criar um banco de dados descentralizado de registro de nomes, e varios protocolos metacoin buscaram construir camadas adicionais sobre o Bitcoin. Embora essas abordagens tenham mostrado promessa, foram finalmente limitadas pelas capacidades de scripting do Bitcoin e pela incapacidade de acessar dados da blockchain de dentro dos scripts.
O que o Ethereum pretende fornecer e uma blockchain com uma linguagem de programacao Turing-completa totalmente desenvolvida que pode ser usada para criar "contratos" que podem ser usados para codificar funcoes de transicao de estado arbitrarias, permitindo aos usuarios criar qualquer um dos sistemas descritos acima, bem como muitos outros que ainda nao imaginamos, simplesmente escrevendo a logica em poucas linhas de codigo.
Introduction and Existing Concepts
विकेंद्रीकृत डिजिटल मुद्रा की अवधारणा, साथ ही संपत्ति रजिस्ट्री जैसे वैकल्पिक अनुप्रयोग, दशकों से अस्तित्व में रहे हैं। 1980 और 1990 के दशक के अनाम ई-कैश प्रोटोकॉल, जो मुख्य रूप से Chaumian blinding नामक एक क्रिप्टोग्राफिक प्रिमिटिव पर निर्भर थे, उच्च स्तर की गोपनीयता वाली मुद्रा प्रदान करते थे, लेकिन ये प्रोटोकॉल एक केंद्रीकृत मध्यस्थ पर निर्भरता के कारण लोकप्रिय नहीं हो पाए। 1998 में, Wei Dai की b-money कम्प्यूटेशनल पहेलियों को हल करके धन बनाने और विकेंद्रीकृत सहमति के विचार को पेश करने वाला पहला प्रस्ताव बना, लेकिन यह प्रस्ताव इस बारे में विवरण में कमी रखता था कि विकेंद्रीकृत सहमति वास्तव में कैसे लागू की जा सकती है।
2009 में, Satoshi Nakamoto द्वारा पहली बार एक विकेंद्रीकृत मुद्रा को व्यवहार में लागू किया गया, जिसमें public key cryptography के माध्यम से स्वामित्व प्रबंधन के लिए स्थापित प्रिमिटिव को "proof of work" नामक एक सहमति एल्गोरिदम के साथ जोड़ा गया। Proof of work के पीछे की प्रणाली इस क्षेत्र में एक सफलता थी क्योंकि इसने एक साथ दो समस्याओं को हल किया। पहला, इसने एक सरल और मध्यम रूप से प्रभावी सहमति एल्गोरिदम प्रदान किया, जो नेटवर्क में नोड्स को Bitcoin लेजर की स्थिति के अपडेट पर सामूहिक रूप से सहमत होने की अनुमति देता था। दूसरा, इसने सहमति प्रक्रिया में मुक्त प्रवेश की अनुमति देने का एक तंत्र प्रदान किया, यह तय करने की राजनीतिक समस्या को हल करते हुए कि सहमति को कौन प्रभावित करता है, साथ ही sybil attacks को रोकते हुए।
Bitcoin blockchain अपने संचालन के वर्षों में उल्लेखनीय रूप से मजबूत साबित हुआ है, लेकिन यह स्वाभाविक रूप से सीमित है। Bitcoin की स्क्रिप्टिंग भाषा जानबूझकर प्रतिबंधात्मक और गैर-Turing-complete होने के लिए डिज़ाइन की गई है, जिसमें लूप और कई अन्य सुविधाओं की कमी है जो अधिक जटिल अनुप्रयोग बनाने के लिए आवश्यक होंगी। यह सीमा अनंत लूप और अन्य प्रकार के कम्प्यूटेशनल हमलों को रोकने के लिए मौजूद है, लेकिन यह Bitcoin के ऊपर क्या बनाया जा सकता है, इसे गंभीर रूप से प्रतिबंधित करती है।
पिछले पांच वर्षों में, Bitcoin की कार्यक्षमता का विस्तार करने के कई प्रयास हुए हैं। Colored coins ने वैकल्पिक संपत्तियों के स्वामित्व को ट्रैक करने के लिए Bitcoin blockchain का उपयोग करने की कोशिश की, Namecoin ने एक विकेंद्रीकृत नाम पंजीकरण डेटाबेस बनाने का प्रयास किया, और विभिन्न metacoin प्रोटोकॉल ने Bitcoin के ऊपर अतिरिक्त परतें बनाने का लक्ष्य रखा। हालांकि इन दृष्टिकोणों ने वादा दिखाया, वे अंततः Bitcoin की स्क्रिप्टिंग क्षमताओं और स्क्रिप्ट के भीतर से blockchain डेटा तक पहुंचने में असमर्थता से सीमित थे।
Ethereum जो प्रदान करना चाहता है वह एक अंतर्निहित पूर्ण रूप से विकसित Turing-complete प्रोग्रामिंग भाषा वाला blockchain है जिसका उपयोग "contracts" बनाने के लिए किया जा सकता है जो मनमाने state transition functions को एन्कोड कर सकते हैं, जिससे उपयोगकर्ता ऊपर वर्णित किसी भी प्रणाली को, साथ ही कई अन्य जिनकी हमने अभी तक कल्पना नहीं की है, बस कुछ पंक्तियों के कोड में तर्क लिखकर बना सकते हैं।
Bitcoin As A State Transition System
Do ponto de vista tecnico, o livro-razao de uma criptomoeda como o Bitcoin pode ser pensado como um sistema de transicao de estado, onde ha um "estado" que consiste no status de propriedade de todos os bitcoins existentes e uma "funcao de transicao de estado" que recebe um estado e uma transacao e produz um novo estado que e o resultado. Em um sistema bancario padrao, por exemplo, o estado e um balanco patrimonial, uma transacao e uma solicitacao para mover \(X de A para B, e a funcao de transicao de estado reduz o valor na conta de A em \)X e aumenta o valor na conta de B em \(X. Se a conta de A tem menos de \)X inicialmente, a funcao de transicao de estado retorna um erro.

O "estado" no Bitcoin e a colecao de todas as moedas (tecnicamente, "saidas de transacao nao gastas" ou UTXO) que foram cunhadas e ainda nao gastas, onde cada UTXO tem uma denominacao e um proprietario (definido por um endereco de 20 bytes que e essencialmente uma chave publica criptografica). Uma transacao contem uma ou mais entradas, onde cada entrada contem uma referencia a um UTXO existente e uma assinatura criptografica produzida pela chave privada associada ao endereco do proprietario, e uma ou mais saidas, onde cada saida contem um novo UTXO a ser adicionado ao estado.
A funcao de transicao de estado APPLY(S,TX) - S' pode ser definida aproximadamente da seguinte forma:
- Para cada entrada em TX, se o UTXO referenciado nao esta em S, retornar um erro.
- Se a assinatura fornecida nao corresponde ao proprietario do UTXO, retornar um erro.
- Se a soma das denominacoes de todos os UTXO de entrada e menor que a soma das denominacoes de todos os UTXO de saida, retornar um erro.
- Retornar S com todos os UTXO de entrada removidos e todos os UTXO de saida adicionados.
A primeira metade do primeiro passo impede que os remetentes de transacoes gastem moedas que nao existem, a segunda metade do primeiro passo impede que os remetentes gastem moedas de outras pessoas, e o segundo passo garante a conservacao de valor. Para usar isso para pagamentos, o protocolo e o seguinte: suponha que Alice queira enviar 11.7 BTC para Bob. Primeiro, Alice procurara um conjunto de UTXO disponiveis que ela possui e que somem pelo menos 11.7 BTC. Realisticamente, Alice nao conseguira obter exatamente 11.7 BTC; digamos que o minimo que ela pode obter e 6+4+2=12. Ela entao cria uma transacao com essas tres entradas e duas saidas. A primeira saida sera 11.7 BTC com o endereco de Bob como proprietario, e a segunda saida sera o "troco" restante de 0.3 BTC, sendo a proprietaria a propria Alice.
Bitcoin As A State Transition System
तकनीकी दृष्टिकोण से, Bitcoin जैसी cryptocurrency का लेजर एक state transition system के रूप में सोचा जा सकता है, जहां एक "state" होता है जिसमें सभी मौजूदा bitcoins की स्वामित्व स्थिति होती है और एक "state transition function" होता है जो एक state और एक transaction लेता है और एक नया state आउटपुट करता है जो परिणाम है। एक मानक बैंकिंग प्रणाली में, उदाहरण के लिए, state एक बैलेंस शीट है, transaction A से B को \(X स्थानांतरित करने का अनुरोध है, और state transition function A के खाते में मूल्य को \)X से कम करता है और B के खाते में मूल्य को \(X से बढ़ाता है। यदि A के खाते में पहले से \)X से कम है, तो state transition function एक त्रुटि लौटाता है।

Bitcoin में "state" सभी coins (तकनीकी रूप से, "unspent transaction outputs" या UTXO) का संग्रह है जो बनाए गए हैं और अभी तक खर्च नहीं किए गए हैं, जिसमें प्रत्येक UTXO का एक मूल्यवर्ग और एक स्वामी होता है (जो एक 20-byte address द्वारा परिभाषित होता है जो अनिवार्य रूप से एक cryptographic public key है)। एक transaction में एक या अधिक inputs होते हैं, जिसमें प्रत्येक input में एक मौजूदा UTXO का संदर्भ और स्वामी के address से जुड़ी private key द्वारा उत्पादित एक cryptographic signature होती है, और एक या अधिक outputs होते हैं, जिसमें प्रत्येक output में state में जोड़ा जाने वाला एक नया UTXO होता है।
State transition function APPLY(S,TX) - S' को मोटे तौर पर निम्नानुसार परिभाषित किया जा सकता है:
- TX में प्रत्येक input के लिए, यदि संदर्भित UTXO S में नहीं है, तो त्रुटि लौटाएं।
- यदि प्रदान की गई signature UTXO के स्वामी से मेल नहीं खाती, तो त्रुटि लौटाएं।
- यदि सभी input UTXO के मूल्यवर्गों का योग सभी output UTXO के मूल्यवर्गों के योग से कम है, तो त्रुटि लौटाएं।
- सभी input UTXO हटाए गए और सभी output UTXO जोड़े गए S लौटाएं।
पहले चरण का पहला भाग transaction भेजने वालों को उन coins को खर्च करने से रोकता है जो मौजूद नहीं हैं, पहले चरण का दूसरा भाग transaction भेजने वालों को अन्य लोगों के coins खर्च करने से रोकता है, और दूसरा चरण मूल्य के संरक्षण को लागू करता है। भुगतान के लिए इसका उपयोग करने के लिए, प्रोटोकॉल इस प्रकार है: मान लीजिए Alice Bob को 11.7 BTC भेजना चाहती है। सबसे पहले, Alice उपलब्ध UTXO का एक सेट खोजेगी जो वह रखती है जो कम से कम 11.7 BTC का कुल योग है। वास्तव में, Alice को ठीक 11.7 BTC नहीं मिल पाएगा; मान लें कि सबसे छोटा जो वह प्राप्त कर सकती है वह 6+4+2=12 है। फिर वह उन तीन inputs और दो outputs के साथ एक transaction बनाती है। पहला output 11.7 BTC होगा जिसका स्वामी Bob का address होगा, और दूसरा output शेष 0.3 BTC "change" होगा, जिसका स्वामी स्वयं Alice होगी।
Mining
Se tivessemos acesso a um servico centralizado confiavel, este sistema seria trivial de implementar; poderia simplesmente ser codificado exatamente como descrito, usando o disco rigido de um servidor centralizado para rastrear o estado. No entanto, com o Bitcoin estamos tentando construir um sistema de moeda descentralizado, entao precisaremos combinar o sistema de transicao de estado com um sistema de consenso para garantir que todos concordem com a ordem das transacoes. O processo de consenso descentralizado do Bitcoin requer que os nos na rede tentem continuamente produzir pacotes de transacoes chamados "blocos". A rede e projetada para produzir aproximadamente um bloco a cada dez minutos, com cada bloco contendo um carimbo de tempo, um nonce, uma referencia ao (ou seja, hash do) bloco anterior e uma lista de todas as transacoes que ocorreram desde o bloco anterior.

Com o tempo, isso cria uma "blockchain" persistente e em constante crescimento que se atualiza constantemente para representar o estado mais recente do livro-razao do Bitcoin. O algoritmo para verificar se um bloco e valido, expresso neste paradigma, e o seguinte:
- Verificar se o bloco anterior referenciado pelo bloco existe e e valido.
- Verificar que o carimbo de tempo do bloco e maior que o do bloco anterior e menor que 2 horas no futuro.
- Verificar que o proof of work do bloco e valido.
- Seja S o estado no final do bloco anterior.
- Suponha que TX e a lista de transacoes do bloco com n transacoes. Para todo i em 0...n-1, definir S = APPLY(S,TX[i]). Se qualquer aplicacao retornar um erro, sair e retornar falso.
- Retornar verdadeiro e registrar S como o estado no final deste bloco.
Essencialmente, cada transacao no bloco deve fornecer uma transicao de estado valida do que era o estado canonico antes da transacao ser executada para algum novo estado. Note que o estado nao esta codificado no bloco de nenhuma forma; e puramente uma abstracao a ser lembrada pelo no validador e so pode ser calculada (de forma segura) para qualquer bloco comecando a partir do estado genesis e aplicando sequencialmente cada transacao em cada bloco.
O minerador e recompensado por seu trabalho computacional com bitcoins recem-criados mais as taxas de transacao. O processo de mineracao funciona da seguinte forma: os mineradores pegam o cabecalho do bloco e fazem hash dele repetidamente com diferentes valores de nonce ate encontrar um hash que esteja abaixo de um certo alvo de dificuldade. Quando um minerador encontra tal hash, transmite o bloco para a rede, e outros nos verificam que o hash e valido e que todas as transacoes no bloco sao validas. O alvo de dificuldade e ajustado automaticamente pelo protocolo a cada 2016 blocos (aproximadamente duas semanas) para garantir que os blocos sejam produzidos a uma taxa aproximadamente constante.
Note que a longo prazo, a seguranca da blockchain depende dos mineradores terem um incentivo financeiro para se comportar honestamente. Se um atacante controlar mais de 50% do poder de mineracao da rede, ele pode potencialmente executar um "ataque de 51%" criando uma blockchain alternativa que cresce mais rapido que a cadeia honesta. No entanto, tal ataque exigiria enormes recursos computacionais e provavelmente resultaria nas recompensas de mineracao do atacante se tornando sem valor a medida que a rede perdesse confianca na integridade da blockchain.
Mining
यदि हमारे पास एक विश्वसनीय केंद्रीकृत सेवा तक पहुंच होती, तो इस प्रणाली को लागू करना सरल होता; इसे ठीक वैसे ही कोड किया जा सकता था जैसा वर्णित है, state का ट्रैक रखने के लिए एक केंद्रीकृत सर्वर की हार्ड ड्राइव का उपयोग करते हुए। हालांकि, Bitcoin के साथ हम एक विकेंद्रीकृत मुद्रा प्रणाली बनाने की कोशिश कर रहे हैं, इसलिए हमें state transaction system को एक consensus system के साथ जोड़ना होगा ताकि यह सुनिश्चित किया जा सके कि हर कोई transactions के क्रम पर सहमत हो। Bitcoin की विकेंद्रीकृत consensus प्रक्रिया के लिए नेटवर्क में नोड्स को लगातार transactions के पैकेज बनाने का प्रयास करने की आवश्यकता होती है जिन्हें "blocks" कहा जाता है। नेटवर्क का उद्देश्य लगभग हर दस मिनट में एक block का उत्पादन करना है, जिसमें प्रत्येक block में एक timestamp, एक nonce, पिछले block का संदर्भ (अर्थात hash), और पिछले block के बाद से हुए सभी transactions की सूची होती है।

समय के साथ, यह एक स्थायी, लगातार बढ़ता हुआ "blockchain" बनाता है जो Bitcoin लेजर की नवीनतम स्थिति का प्रतिनिधित्व करने के लिए लगातार अपडेट होता रहता है। यह जांचने का एल्गोरिदम कि क्या कोई block वैध है, इस प्रतिमान में निम्नानुसार है:
- जांचें कि block द्वारा संदर्भित पिछला block मौजूद है और वैध है।
- जांचें कि block का timestamp पिछले block के timestamp से अधिक है और भविष्य में 2 घंटे से कम है।
- जांचें कि block पर proof of work वैध है।
- मान लें S पिछले block के अंत में state है।
- मान लें TX block की transaction सूची है जिसमें n transactions हैं। 0...n-1 में सभी i के लिए, S = APPLY(S,TX[i]) सेट करें। यदि कोई भी अनुप्रयोग त्रुटि लौटाता है, बाहर निकलें और false लौटाएं।
- true लौटाएं, और S को इस block के अंत में state के रूप में पंजीकृत करें।
अनिवार्य रूप से, block में प्रत्येक transaction को एक वैध state transition प्रदान करना चाहिए उस state से जो transaction निष्पादित होने से पहले canonical state था किसी नए state तक। ध्यान दें कि state किसी भी तरह से block में एन्कोड नहीं है; यह पूरी तरह से एक अमूर्तता है जिसे validating node द्वारा याद रखा जाता है और किसी भी block के लिए केवल genesis state से शुरू करके और प्रत्येक block में प्रत्येक transaction को क्रमिक रूप से लागू करके (सुरक्षित रूप से) गणना की जा सकती है।
Miner को उनके कम्प्यूटेशनल कार्य के लिए नव-निर्मित bitcoins और transaction fees के साथ पुरस्कृत किया जाता है। Mining प्रक्रिया इस प्रकार काम करती है: miners block header लेते हैं और अलग-अलग nonce मूल्यों के साथ बार-बार hash करते हैं जब तक उन्हें एक hash नहीं मिल जाता जो एक निश्चित difficulty target से नीचे हो। जब कोई miner ऐसा hash पाता है, तो वे block को नेटवर्क में प्रसारित करते हैं, और अन्य नोड्स सत्यापित करते हैं कि hash वैध है और block में सभी transactions वैध हैं। Difficulty target को प्रोटोकॉल द्वारा प्रत्येक 2016 blocks (लगभग दो सप्ताह) में स्वचालित रूप से समायोजित किया जाता है ताकि blocks लगभग स्थिर दर पर उत्पादित हों।
ध्यान दें कि दीर्घकाल में, blockchain की सुरक्षा miners के ईमानदारी से व्यवहार करने के वित्तीय प्रोत्साहन पर निर्भर करती है। यदि कोई हमलावर नेटवर्क की mining शक्ति के 50% से अधिक को नियंत्रित करता है, तो वे संभावित रूप से एक वैकल्पिक blockchain बनाकर "51% attack" कर सकते हैं जो ईमानदार chain से तेजी से बढ़ती है। हालांकि, ऐसे हमले के लिए भारी कम्प्यूटेशनल संसाधनों की आवश्यकता होगी और संभवतः हमलावर के mining पुरस्कार बेकार हो जाएंगे क्योंकि नेटवर्क blockchain की अखंडता में विश्वास खो देगा।
Merkle Trees
Merkle trees sao uma estrutura de dados fundamental utilizada nos blocos do Bitcoin para permitir a verificacao eficiente e segura da inclusao de transacoes. Um Merkle tree e uma arvore binaria de hashes onde os nos folha contem hashes de transacoes individuais, e cada no interior contem o hash de seus dois filhos, construindo-se recursivamente ate um unico hash raiz que e armazenado no cabecalho do bloco. Essa estrutura hierarquica permite que qualquer pessoa verifique que uma transacao especifica esta incluida em um bloco baixando apenas o ramo do Merkle tree — a cadeia de hashes desde a transacao ate a raiz — em vez de baixar todas as transacoes do bloco.

Os ganhos de eficiencia sao substanciais: enquanto um no completo do Bitcoin deve armazenar toda a blockchain (aproximadamente 15GB em 2013), um no de verificacao de pagamento simplificada (SPV) so precisa baixar os cabecalhos dos blocos contendo as raizes do Merkle tree, exigindo apenas 4MB de dados. Para verificar uma transacao, um no SPV solicita o ramo do Merkle tree aos nos completos, o que requer apenas O(log n) dados onde n e o numero de transacoes em um bloco. Essa escalabilidade logaritmica torna viavel executar clientes leves em dispositivos moveis e ambientes com recursos limitados.
O uso de Merkle trees pelo Bitcoin demonstra um principio-chave: estruturas criptograficas podem reduzir drasticamente os requisitos de confianca e recursos para participar de uma rede descentralizada. Esse mesmo principio fundamenta o design do Ethereum, onde Merkle trees sao usados nao apenas para transacoes, mas tambem para armazenamento de estado e recibos, permitindo protocolos de clientes leves ainda mais sofisticados.
Merkle Trees
Merkle trees एक मौलिक डेटा संरचना है जो Bitcoin blocks में transaction समावेश के कुशल और सुरक्षित सत्यापन को सक्षम करने के लिए उपयोग की जाती है। Merkle tree hashes का एक बाइनरी ट्री है जहां leaf nodes में व्यक्तिगत transactions के hash होते हैं, और प्रत्येक interior node में उसके दो बच्चों का hash होता है, जो पुनरावर्ती रूप से एक एकल root hash तक बनता है जो block header में संग्रहीत होता है। यह श्रेणीबद्ध संरचना किसी को भी यह सत्यापित करने की अनुमति देती है कि एक विशिष्ट transaction एक block में शामिल है, केवल Merkle branch डाउनलोड करके—transaction से root तक hashes की श्रृंखला—block में सभी transactions डाउनलोड करने के बजाय।

दक्षता लाभ पर्याप्त हैं: जबकि एक पूर्ण Bitcoin node को संपूर्ण blockchain (2013 तक लगभग 15GB) संग्रहीत करना चाहिए, एक simplified payment verification (SPV) node को केवल Merkle roots वाले block headers डाउनलोड करने की आवश्यकता होती है, जिसके लिए केवल 4MB डेटा की आवश्यकता होती है। किसी transaction को सत्यापित करने के लिए, एक SPV node पूर्ण nodes से Merkle branch का अनुरोध करता है, जिसके लिए केवल O(log n) डेटा की आवश्यकता होती है जहां n block में transactions की संख्या है। यह logarithmic scaling मोबाइल उपकरणों और कम-संसाधन वातावरण पर लाइटवेट क्लाइंट चलाना संभव बनाती है।
Bitcoin का Merkle trees का उपयोग एक प्रमुख सिद्धांत को प्रदर्शित करता है: cryptographic संरचनाएं एक विकेंद्रीकृत नेटवर्क में भाग लेने के लिए विश्वास और संसाधन आवश्यकताओं को नाटकीय रूप से कम कर सकती हैं। यही सिद्धांत Ethereum के डिज़ाइन का आधार है, जहां Merkle trees का उपयोग न केवल transactions के लिए बल्कि state और receipt storage के लिए भी किया जाता है, जो और भी अधिक परिष्कृत light client प्रोटोकॉल को सक्षम करता है।
Alternative Blockchain Applications
O sucesso da blockchain do Bitcoin inspirou inumeras tentativas de estender o conceito alem da simples moeda. Namecoin, lancado em 2010, foi um dos primeiros exemplos — um banco de dados descentralizado de registro de nomes construido sobre uma blockchain, permitindo que os usuarios registrassem nomes em um espaco de nomes distribuido que nenhuma autoridade central poderia censurar ou revogar. Os colored coins surgiram como uma forma de representar ativos alternativos na blockchain do Bitcoin "marcando" saidas de transacao especificas para representar a propriedade de ativos do mundo real, acoes de empresas ou outras criptomoedas. Os metacoins e metaprotocolos como Mastercoin (posteriormente Omni) adicionaram funcionalidade extra sobre o Bitcoin codificando dados adicionais nas transacoes do Bitcoin e construindo regras de protocolo separadas por cima.
No entanto, todas essas abordagens sofriam de limitacoes fundamentais impostas pela arquitetura do Bitcoin. A linguagem de scripting do Bitcoin e intencionalmente restrita — nao pode acessar o estado da blockchain, carece de loops e fluxo de controle complexo, e fornece introspecao limitada sobre os valores das transacoes. Construir aplicacoes sofisticadas exigia solucoes alternativas desajeitadas: codificar metadados em campos de transacao que nunca foram destinados para esse proposito, depender de infraestrutura fora da cadeia para logica complexa, ou aceitar limitacoes severas no que o protocolo poderia realizar.
Essas restricoes motivaram a busca por uma plataforma blockchain de proposito mais geral. Em vez de construir mais um protocolo de proposito especial sobre a base limitada do Bitcoin, o Ethereum adota uma abordagem diferente: fornecer uma blockchain com uma linguagem de programacao Turing-completa incorporada, permitindo que qualquer pessoa escreva smart contracts e aplicacoes descentralizadas com regras arbitrarias para propriedade, formatos de transacao e funcoes de transicao de estado.
Alternative Blockchain Applications
Bitcoin के blockchain की सफलता ने अवधारणा को सरल मुद्रा से परे विस्तारित करने के कई प्रयासों को प्रेरित किया। Namecoin, 2010 में लॉन्च किया गया, सबसे शुरुआती उदाहरणों में से एक था—एक blockchain पर निर्मित विकेंद्रीकृत नाम पंजीकरण डेटाबेस, जो उपयोगकर्ताओं को एक वितरित namespace में नाम पंजीकृत करने की अनुमति देता था जिसे कोई केंद्रीय प्राधिकरण सेंसर या रद्द नहीं कर सकता था। Colored coins Bitcoin blockchain पर वैकल्पिक संपत्तियों का प्रतिनिधित्व करने के एक तरीके के रूप में उभरे, विशिष्ट transaction outputs को "टैग" करके वास्तविक-दुनिया की संपत्तियों, कंपनी शेयरों, या अन्य cryptocurrencies के स्वामित्व का प्रतिनिधित्व करते हुए। Metacoins और meta-protocols जैसे Mastercoin (बाद में Omni) ने Bitcoin transactions में अतिरिक्त डेटा एन्कोड करके और उसके ऊपर अलग प्रोटोकॉल नियम बनाकर Bitcoin के ऊपर अतिरिक्त कार्यक्षमता जोड़ी।
हालांकि, ये सभी दृष्टिकोण Bitcoin की वास्तुकला द्वारा लगाई गई मौलिक सीमाओं से ग्रस्त थे। Bitcoin स्क्रिप्टिंग भाषा जानबूझकर प्रतिबंधित है—यह blockchain state तक नहीं पहुंच सकती, लूप और जटिल control flow की कमी है, और transaction मूल्यों में सीमित introspection प्रदान करती है। परिष्कृत अनुप्रयोग बनाने के लिए अजीब समाधानों की आवश्यकता होती थी: metadata को transaction fields में एन्कोड करना जो उस उद्देश्य के लिए कभी नहीं बने थे, जटिल तर्क के लिए off-chain infrastructure पर निर्भर रहना, या प्रोटोकॉल क्या कर सकता है इसकी गंभीर सीमाओं को स्वीकार करना।
इन बाधाओं ने एक अधिक सामान्य-उद्देश्य blockchain प्लेटफॉर्म की खोज को प्रेरित किया। Bitcoin की सीमित नींव के ऊपर एक और विशेष-उद्देश्य प्रोटोकॉल बनाने के बजाय, Ethereum एक अलग दृष्टिकोण अपनाता है: एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा वाला blockchain प्रदान करना, जो किसी को भी smart contracts और विकेंद्रीकृत अनुप्रयोग लिखने की अनुमति देता है जिसमें स्वामित्व, transaction प्रारूपों, और state transition functions के लिए मनमाने नियम हों।
Scripting
Bitcoin Script, a linguagem usada para definir as condicoes de gasto das transacoes do Bitcoin, e intencionalmente projetada com severas limitacoes. Nao e Turing-completa — notavelmente, carece de loops e estruturas complexas de fluxo de controle. A linguagem opera como um ambiente de execucao simples baseado em pilha onde as operacoes empurram e extraem valores, avaliam condicoes criptograficas e finalmente retornam verdadeiro ou falso para determinar se uma transacao e valida. Embora essa simplicidade forneca beneficios de seguranca e facilite a analise formal, tambem torna impossivel implementar muitos tipos de aplicacoes.
Essas limitacoes se dividem em tres categorias principais. Primeiro, a falta de completude de Turing impede a implementacao de maquinas de estado complexas, arvores de decisao ou qualquer algoritmo que requeira iteracao. Segundo, a cegueira de valor significa que os scripts nao podem especificar controle detalhado sobre as quantias de saque — um UTXO so pode ser gasto em sua totalidade, com o troco enviado para uma nova saida. Um script nao pode, por exemplo, limitar saques a um maximo de X por dia enquanto deixa o restante bloqueado. Terceiro, a falta de consciencia do estado da blockchain significa que os UTXO estao gastos ou nao gastos sem estados intermediarios, tornando impossivel implementar contratos de multiplas etapas puramente na cadeia.
Essas restricoes tornam aplicacoes sofisticadas como organizacoes autonomas descentralizadas, carteiras de poupanca com limites de saque, exchanges descentralizadas ou mercados de predicao impossiveis ou exigem mecanismos desajeitados fora da cadeia. Um contrato financeiro avancado pode exigir acesso a dados de mercado, a capacidade de manter estado interno atraves de multiplas transacoes e logica condicional complexa — nada do que o Bitcoin Script pode fornecer. O Ethereum elimina essas limitacoes fornecendo uma linguagem Turing-completa com acesso completo ao estado da blockchain.
Scripting
Bitcoin Script, Bitcoin transactions के लिए खर्च शर्तों को परिभाषित करने के लिए उपयोग की जाने वाली भाषा, जानबूझकर गंभीर सीमाओं के साथ डिज़ाइन की गई है। यह Turing-complete नहीं है—विशेष रूप से, इसमें लूप और जटिल control flow संरचनाओं की कमी है। भाषा एक सरल stack-based execution environment के रूप में काम करती है जहां ऑपरेशन मूल्यों को push और pop करते हैं, cryptographic शर्तों का मूल्यांकन करते हैं, और अंततः यह निर्धारित करने के लिए true या false लौटाते हैं कि कोई transaction वैध है या नहीं। हालांकि यह सरलता सुरक्षा लाभ प्रदान करती है और औपचारिक विश्लेषण को आसान बनाती है, यह कई प्रकार के अनुप्रयोगों को लागू करना असंभव भी बनाती है।
ये सीमाएं तीन मुख्य श्रेणियों में आती हैं। पहला, Turing-completeness की कमी जटिल state machines, decision trees, या पुनरावृत्ति की आवश्यकता वाले किसी भी एल्गोरिदम को लागू करने से रोकती है। दूसरा, value-blindness का मतलब है कि स्क्रिप्ट निकासी राशि पर सूक्ष्म नियंत्रण निर्दिष्ट नहीं कर सकती—एक UTXO केवल अपनी संपूर्णता में खर्च किया जा सकता है, शेष राशि एक नए output को भेजी जाती है। एक स्क्रिप्ट, उदाहरण के लिए, प्रति दिन अधिकतम X तक निकासी को सीमित नहीं कर सकती जबकि शेष राशि लॉक रहे। तीसरा, blockchain state जागरूकता की कमी का मतलब है कि UTXO या तो खर्च किए गए हैं या नहीं किए गए हैं बिना किसी मध्यवर्ती स्थिति के, जो बहु-चरण contracts को पूरी तरह से on-chain लागू करना असंभव बनाती है।
ये बाधाएं decentralized autonomous organizations, निकासी सीमाओं वाले बचत वॉलेट, विकेंद्रीकृत एक्सचेंज, या prediction markets जैसे परिष्कृत अनुप्रयोगों को या तो असंभव बनाती हैं या अजीब off-chain तंत्रों की आवश्यकता होती है। एक उन्नत वित्तीय contract को बाजार डेटा तक पहुंच, कई transactions में आंतरिक state बनाए रखने की क्षमता, और जटिल सशर्त तर्क की आवश्यकता हो सकती है—जिनमें से कोई भी Bitcoin Script प्रदान नहीं कर सकती। Ethereum blockchain state तक पूर्ण पहुंच के साथ एक Turing-complete भाषा प्रदान करके इन सीमाओं को हटाता है।
Ethereum
O objetivo fundamental do Ethereum e fornecer uma blockchain com uma linguagem de programacao Turing-completa incorporada que permita a qualquer pessoa escrever smart contracts e aplicacoes descentralizadas onde possam criar suas proprias regras arbitrarias para propriedade, formatos de transacao e funcoes de transicao de estado. Em vez de projetar um protocolo para aplicacoes especificas como moeda, registro de nomes ou negociacao de ativos, o Ethereum fornece uma camada fundacional — uma plataforma de computacao distribuida baseada em blockchain que os desenvolvedores podem usar para construir qualquer aplicacao que possam imaginar.
A arquitetura difere fundamentalmente do modelo UTXO do Bitcoin. O Ethereum usa um sistema baseado em contas onde o estado da blockchain consiste em um mapeamento de enderecos para objetos de conta. Cada conta tem um saldo, um contador de transacoes (nonce), e para contas de contrato, codigo associado e armazenamento. A plataforma inclui uma linguagem de programacao Turing-completa incorporada para escrever codigo de contrato que e executado na Maquina Virtual Ethereum (EVM), um ambiente de execucao baseado em pilha que processa transacoes e transicoes de estado.
Essa generalidade permite uma vasta gama de aplicacoes: criptomoedas alternativas com regras de emissao personalizadas, derivativos financeiros e stablecoins, sistemas de identidade e reputacao, armazenamento de arquivos descentralizado, organizacoes autonomas descentralizadas (DAOs), e muito mais. O whitepaper enfatiza que o Ethereum nao e otimizado para nenhum caso de uso particular, mas sim fornece os blocos de construcao fundamentais — contas, transacoes, uma linguagem Turing-completa e execucao medida por gas — que os desenvolvedores podem combinar para criar qualquer aplicacao que o ecossistema demande.
Ethereum
Ethereum का मौलिक लक्ष्य एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा वाला blockchain प्रदान करना है जो किसी को भी smart contracts और विकेंद्रीकृत अनुप्रयोग लिखने की अनुमति देता है जहां वे स्वामित्व, transaction प्रारूपों, और state transition functions के लिए अपने स्वयं के मनमाने नियम बना सकते हैं। विशिष्ट अनुप्रयोगों जैसे मुद्रा, नाम पंजीकरण, या संपत्ति व्यापार के लिए एक प्रोटोकॉल डिज़ाइन करने के बजाय, Ethereum एक आधारभूत परत प्रदान करता है—एक blockchain-आधारित वितरित कंप्यूटिंग प्लेटफॉर्म जिसका उपयोग डेवलपर्स किसी भी अनुप्रयोग को बनाने के लिए कर सकते हैं जिसकी वे कल्पना कर सकते हैं।
वास्तुकला Bitcoin के UTXO मॉडल से मौलिक रूप से भिन्न है। Ethereum एक account-based system का उपयोग करता है जहां blockchain state addresses से account objects तक एक mapping से मिलकर बना होता है। प्रत्येक account में एक balance, एक transaction counter (nonce), और contract accounts के लिए, संबंधित code और storage होता है। प्लेटफॉर्म में contract code लिखने के लिए एक अंतर्निहित Turing-complete प्रोग्रामिंग भाषा शामिल है जो Ethereum Virtual Machine (EVM) में निष्पादित होती है, एक stack-based execution environment जो transactions और state transitions को प्रोसेस करता है।
यह सामान्यता अनुप्रयोगों की एक विशाल श्रेणी को सक्षम करती है: कस्टम जारी करने के नियमों वाली वैकल्पिक cryptocurrencies, वित्तीय derivatives और stablecoins, पहचान और प्रतिष्ठा प्रणालियां, विकेंद्रीकृत फ़ाइल स्टोरेज, decentralized autonomous organizations (DAOs), और बहुत कुछ। Whitepaper इस बात पर जोर देता है कि Ethereum किसी विशेष उपयोग के मामले के लिए अनुकूलित नहीं है बल्कि मौलिक बिल्डिंग ब्लॉक प्रदान करता है—accounts, transactions, एक Turing-complete भाषा, और gas-metered execution—जिन्हें डेवलपर्स जो भी अनुप्रयोग पारिस्थितिकी तंत्र की मांग करता है उसे बनाने के लिए जोड़ सकते हैं।
Ethereum Accounts
No Ethereum, o estado e composto por contas, e ha dois tipos fundamentais. As contas de propriedade externa (EOAs) sao controladas por chaves privadas e nao possuem codigo associado — representam usuarios humanos ou entidades externas interagindo com a blockchain. As contas de contrato sao controladas pelo seu codigo de contrato e sao ativadas quando recebem uma mensagem ou transacao. Ambos os tipos compartilham uma estrutura comum: cada conta tem um nonce (um contador usado para garantir que cada transacao so possa ser processada uma vez), um saldo de ether, e para os contratos especificamente, codigo de contrato e armazenamento persistente.
Ether e a criptomoeda interna principal do Ethereum, servindo tanto como meio de transferencia de valor quanto como unidade fundamental para pagar taxas de transacao (gas). Diferentemente do modelo UTXO do Bitcoin onde o valor esta distribuido entre multiplas saidas nao gastas, as contas do Ethereum mantem um saldo simples que aumenta quando recebem ether e diminui quando o enviam. Esse modelo baseado em contas simplifica muitos tipos de aplicacoes, particularmente aquelas que requerem estado persistente ou controle de acesso complexo, embora introduza diferentes consideracoes de seguranca comparado com a abordagem do Bitcoin.
A distincao entre EOAs e contas de contrato e crucial para entender o funcionamento do Ethereum. As EOAs podem iniciar transacoes criando e assinando mensagens com suas chaves privadas, pagando taxas de gas para que suas transacoes sejam incluidas em blocos. As contas de contrato nao podem iniciar transacoes por si mesmas, mas podem enviar mensagens para outros contratos em resposta ao recebimento de uma transacao ou mensagem, permitindo cadeias complexas de execucao onde uma unica transacao externa desencadeia multiplas interacoes de contrato para contrato.
Ethereum Accounts
Ethereum में, state accounts से बना है, और दो मौलिक प्रकार हैं। Externally owned accounts (EOAs) private keys द्वारा नियंत्रित होते हैं और उनके पास कोई संबंधित code नहीं होता—वे blockchain के साथ बातचीत करने वाले मानव उपयोगकर्ताओं या बाहरी संस्थाओं का प्रतिनिधित्व करते हैं। Contract accounts उनके contract code द्वारा नियंत्रित होते हैं और जब वे कोई message या transaction प्राप्त करते हैं तब सक्रिय होते हैं। दोनों प्रकार एक सामान्य संरचना साझा करते हैं: प्रत्येक account में एक nonce (यह सुनिश्चित करने के लिए उपयोग किया जाने वाला काउंटर कि प्रत्येक transaction केवल एक बार प्रोसेस किया जा सके), एक ether balance, और contracts के लिए विशेष रूप से, contract code और स्थायी storage होता है।
Ether Ethereum की प्राथमिक आंतरिक cryptocurrency है, जो मूल्य हस्तांतरण के माध्यम और transaction fees (gas) का भुगतान करने की मौलिक इकाई दोनों के रूप में कार्य करती है। Bitcoin के UTXO मॉडल के विपरीत जहां मूल्य कई unspent outputs में वितरित होता है, Ethereum accounts एक सरल balance बनाए रखते हैं जो ether प्राप्त करने पर बढ़ता है और भेजने पर घटता है। यह account-based मॉडल कई प्रकार के अनुप्रयोगों को सरल बनाता है, विशेष रूप से जिन्हें स्थायी state या जटिल access control की आवश्यकता होती है, हालांकि यह Bitcoin के दृष्टिकोण की तुलना में अलग सुरक्षा विचार प्रस्तुत करता है।
EOAs और contract accounts के बीच का अंतर Ethereum के संचालन को समझने के लिए महत्वपूर्ण है। EOAs अपनी private keys के साथ messages बनाकर और हस्ताक्षर करके transactions शुरू कर सकते हैं, उनके transactions को blocks में शामिल करने के लिए gas fees का भुगतान करते हैं। Contract accounts स्वयं transactions शुरू नहीं कर सकते लेकिन किसी transaction या message प्राप्त करने के जवाब में अन्य contracts को messages भेज सकते हैं, जो निष्पादन की जटिल श्रृंखलाओं को सक्षम करते हैं जहां एक बाहरी transaction कई contract-to-contract interactions को ट्रिगर करता है।
Messages and Transactions
As transacoes no Ethereum sao pacotes de dados assinados criados por contas de propriedade externa e transmitidos para a rede. Uma transacao contem o endereco do destinatario, uma assinatura criptografica provando a identidade do remetente, a quantidade de ether a transferir, um campo de dados opcional (crucial para interagir com contratos), STARTGAS (o numero maximo de passos computacionais que a transacao pode realizar) e GASPRICE (a taxa por passo computacional que o remetente esta disposto a pagar). Os mineradores coletam essas transacoes, as validam, as executam e as incluem em blocos, recebendo as taxas de gas como compensacao.
As mensagens sao conceitualmente similares as transacoes, mas sao produzidas por contratos em vez de atores externos. Quando o codigo de um contrato e executado, ele pode enviar mensagens para outros contratos — essas mensagens internas contem o remetente (o endereco do contrato), o destinatario, uma quantidade de ether a transferir, uma carga de dados opcional e um limite de STARTGAS. As mensagens permitem a comunicacao de contrato para contrato, possibilitando que aplicacoes complexas sejam construidas a partir de multiplos contratos interagindo entre si em vez de programas monoliticos.
O mecanismo de gas e crucial para prevenir abusos: cada passo computacional, operacao de armazenamento e byte de dados em uma transacao consome gas. Se uma transacao ficar sem gas antes de ser concluida, todas as mudancas de estado sao revertidas (exceto o pagamento de gas ao minerador), prevenindo que loops infinitos ou computacao excessiva paralisem a rede. O remetente especifica tanto o orcamento total de gas (STARTGAS) quanto o preco que esta disposto a pagar por unidade (GASPRICE), e qualquer gas nao utilizado e reembolsado apos a execucao ser concluida.
Messages and Transactions
Ethereum में transactions externally owned accounts द्वारा बनाए गए और नेटवर्क में प्रसारित किए गए हस्ताक्षरित डेटा पैकेज हैं। एक transaction में प्राप्तकर्ता address, भेजने वाले की पहचान साबित करने वाला एक cryptographic signature, स्थानांतरित करने के लिए ether की मात्रा, एक वैकल्पिक data field (contracts के साथ बातचीत के लिए महत्वपूर्ण), STARTGAS (transaction को लेने की अनुमत अधिकतम कम्प्यूटेशनल चरणों की संख्या), और GASPRICE (प्रति कम्प्यूटेशनल चरण भेजने वाला जो शुल्क देने को तैयार है) होता है। Miners इन transactions को एकत्र करते हैं, उन्हें मान्य करते हैं, निष्पादित करते हैं, और blocks में शामिल करते हैं, मुआवजे के रूप में gas fees प्राप्त करते हैं।
Messages अवधारणात्मक रूप से transactions के समान हैं लेकिन बाहरी अभिनेताओं के बजाय contracts द्वारा उत्पादित होते हैं। जब किसी contract का code निष्पादित होता है, तो यह अन्य contracts को messages भेज सकता है—इन आंतरिक messages में भेजने वाला (contract address), प्राप्तकर्ता, स्थानांतरित करने के लिए ether की मात्रा, एक वैकल्पिक data payload, और एक STARTGAS सीमा होती है। Messages contract-to-contract संचार को सक्षम करते हैं, जो जटिल अनुप्रयोगों को मोनोलिथिक कार्यक्रमों के बजाय कई परस्पर क्रिया करने वाले contracts से बनाने की अनुमति देते हैं।
Gas तंत्र दुरुपयोग रोकने के लिए महत्वपूर्ण है: एक transaction में प्रत्येक कम्प्यूटेशनल चरण, storage ऑपरेशन, और data byte gas की खपत करता है। यदि कोई transaction पूरा होने से पहले gas समाप्त हो जाता है, तो सभी state परिवर्तन वापस कर दिए जाते हैं (miner को gas भुगतान को छोड़कर), जो अनंत लूप या अत्यधिक computation को नेटवर्क को रोकने से बचाता है। भेजने वाला कुल gas बजट (STARTGAS) और प्रति इकाई जो कीमत वे भुगतान करने को तैयार हैं (GASPRICE) दोनों निर्दिष्ट करता है, और निष्पादन पूरा होने के बाद कोई भी अप्रयुक्त gas वापस कर दिया जाता है।
Ethereum State Transition Function
A funcao de transicao de estado do Ethereum APPLY(S,TX) - S' define como uma transacao transforma o estado da blockchain, e segue uma sequencia precisa de etapas. Primeiro, o sistema verifica a validade da transacao: verificando que a assinatura esta correta, confirmando que o nonce corresponde ao nonce da conta do remetente, e garantindo que o remetente tem saldo suficiente para pagar o custo inicial (STARTGAS x GASPRICE mais o valor enviado). Se qualquer verificacao falhar, a transacao e rejeitada antes que a execucao comece. Se valida, a taxa de transacao e deduzida da conta do remetente, o nonce do remetente e incrementado, e um contador de gas inicial e definido como STARTGAS menos uma taxa por byte para os dados da transacao.

Em seguida, o sistema transfere o valor de ether especificado do remetente para o destinatario. Se o destinatario e uma conta de propriedade externa, isso completa a transacao. Se o destinatario e uma conta de contrato, o codigo do contrato e executado na Maquina Virtual Ethereum, consumindo gas para cada operacao ate que o codigo seja concluido com sucesso, o codigo pare explicitamente, ou o gas se esgote. Durante a execucao, o contrato pode ler e modificar seu armazenamento, enviar mensagens para outros contratos e criar novos contratos.
Finalmente, se a transferencia de valor falhou (saldo insuficiente) ou a execucao do codigo falhou (ficar sem gas ou encontrar um erro), todas as mudancas de estado sao revertidas — exceto que o remetente ainda paga as taxas de gas ao minerador pela computacao realizada. Se a execucao foi bem-sucedida, o gas restante e reembolsado ao remetente, e o gas consumido e enviado ao minerador como taxa. Esse mecanismo garante que os mineradores sejam compensados pela computacao enquanto previne que a execucao descontrolada consuma recursos ilimitados.
Ethereum State Transition Function
Ethereum state transition function APPLY(S,TX) - S' परिभाषित करता है कि कैसे एक transaction blockchain state को रूपांतरित करता है, और यह चरणों के एक सटीक अनुक्रम का पालन करता है। सबसे पहले, सिस्टम transaction की वैधता की जांच करता है: signature सही है यह सत्यापित करना, nonce भेजने वाले के account nonce से मेल खाता है यह पुष्टि करना, और भेजने वाले के पास अग्रिम लागत (STARTGAS x GASPRICE और भेजा जा रहा मूल्य) का भुगतान करने के लिए पर्याप्त balance है यह सुनिश्चित करना। यदि कोई भी जांच विफल होती है, तो transaction निष्पादन शुरू होने से पहले अस्वीकार कर दिया जाता है। यदि वैध है, तो transaction शुल्क भेजने वाले के account से काट लिया जाता है, भेजने वाले का nonce बढ़ाया जाता है, और एक प्रारंभिक gas counter STARTGAS माइनस transaction data के लिए प्रति-byte शुल्क पर सेट किया जाता है।

इसके बाद, सिस्टम निर्दिष्ट ether मूल्य को भेजने वाले से प्राप्तकर्ता को स्थानांतरित करता है। यदि प्राप्तकर्ता एक externally owned account है, तो यह transaction को पूरा करता है। यदि प्राप्तकर्ता एक contract account है, तो contract का code Ethereum Virtual Machine में चलता है, प्रत्येक ऑपरेशन के लिए gas की खपत करते हुए जब तक या तो code सफलतापूर्वक पूरा नहीं हो जाता, code स्पष्ट रूप से रुक नहीं जाता, या gas समाप्त नहीं हो जाता। निष्पादन के दौरान, contract अपने storage को पढ़ और संशोधित कर सकता है, अन्य contracts को messages भेज सकता है, और नए contracts बना सकता है।
अंत में, यदि मूल्य स्थानांतरण विफल हो जाता है (अपर्याप्त balance) या code निष्पादन विफल हो जाता है (gas समाप्त होना या किसी त्रुटि से टकराना), तो सभी state परिवर्तन वापस कर दिए जाते हैं—सिवाय इसके कि भेजने वाला अभी भी किए गए computation के लिए miner को gas fees का भुगतान करता है। यदि निष्पादन सफल रहा, तो शेष gas भेजने वाले को वापस कर दिया जाता है, और जो gas खपत किया गया वह miner को शुल्क के रूप में भेजा जाता है। यह तंत्र सुनिश्चित करता है कि miners को computation के लिए मुआवजा दिया जाए जबकि भगोड़ा निष्पादन असीमित संसाधनों की खपत करने से रोका जाए।
Code Execution
A Maquina Virtual Ethereum (EVM) e o ambiente de execucao onde o codigo dos contratos e executado — uma maquina virtual de baixo nivel baseada em pilha, similar em conceito a Maquina Virtual Java ou WebAssembly. O codigo do contrato e armazenado como uma sequencia de bytes, onde cada byte representa uma operacao (opcode) que a EVM pode executar. O modelo de execucao e deliberadamente simples e deterministico: cada no executando a EVM com o mesmo estado de entrada e transacao deve chegar ao mesmo estado de saida, garantindo o consenso atraves da rede.
A EVM fornece tres tipos distintos de armazenamento para computacao. A pilha (stack) e uma estrutura de ultimo a entrar, primeiro a sair (LIFO) limitada a 1024 elementos, usada para valores de operacao imediatos. A memoria (memory) e um array de bytes infinitamente expansivel que persiste apenas durante a duracao de uma unica chamada de mensagem e e reiniciada entre execucoes. O armazenamento (storage) e o armazem persistente de chave-valor permanentemente associado a cada conta de contrato, onde os contratos mantem seu estado de longo prazo entre transacoes. Esses tipos de armazenamento tem precos diferentes em gas — as operacoes de pilha e memoria sao baratas, enquanto as operacoes de armazenamento sao caras para prevenir o inchaamento da blockchain.
Durante a execucao, o codigo do contrato tem acesso a contexto crucial: pode ler o endereco do remetente da mensagem, a quantidade de ether enviada, a carga de dados fornecida pelo invocador, e propriedades a nivel de bloco como o numero do bloco atual, o carimbo de tempo e o endereco do minerador. O codigo pode retornar um array de bytes de saida ao invocador e pode enviar mensagens para outros contratos ou criar novos contratos. Esse modelo de execucao e Turing-completo — loops e fluxo de controle complexo sao possiveis — mas o mecanismo de gas garante que toda a computacao termine em tempo limitado, resolvendo o problema da parada de forma economica em vez de atraves de restricoes da linguagem.
Code Execution
Ethereum Virtual Machine (EVM) वह runtime environment है जहां contract code निष्पादित होता है—एक low-level, stack-based virtual machine जो अवधारणा में Java Virtual Machine या WebAssembly के समान है। Contract code bytes के एक अनुक्रम के रूप में संग्रहीत होता है, जहां प्रत्येक byte एक ऑपरेशन (opcode) का प्रतिनिधित्व करता है जिसे EVM निष्पादित कर सकता है। निष्पादन मॉडल जानबूझकर सरल और deterministic है: समान input state और transaction के साथ EVM चलाने वाले प्रत्येक node को समान output state पर पहुंचना चाहिए, जो नेटवर्क में consensus सुनिश्चित करता है।
EVM computation के लिए तीन अलग-अलग प्रकार के storage प्रदान करता है। Stack एक last-in-first-out (LIFO) संरचना है जो 1024 तत्वों तक सीमित है, तत्काल ऑपरेशन मूल्यों के लिए उपयोग की जाती है। Memory एक अनंत रूप से विस्तारणीय byte array है जो केवल एक message call की अवधि के लिए बनी रहती है और executions के बीच reset हो जाती है। Storage प्रत्येक contract account से स्थायी रूप से जुड़ा हुआ persistent key-value store है, जहां contracts transactions के पार अपनी दीर्घकालिक state बनाए रखते हैं। इन storage प्रकारों की gas में अलग-अलग कीमत होती है—stack और memory ऑपरेशन सस्ते हैं, जबकि storage ऑपरेशन blockchain bloat को रोकने के लिए महंगे हैं।
निष्पादन के दौरान, contract code के पास महत्वपूर्ण संदर्भ तक पहुंच होती है: यह message भेजने वाले का address, भेजी गई ether की मात्रा, कॉलर द्वारा प्रदान किया गया data payload, और block-level गुण जैसे वर्तमान block number, timestamp, और miner address पढ़ सकता है। Code कॉलर को एक output byte array लौटा सकता है और अन्य contracts को messages भेज सकता है या नए contracts बना सकता है। यह निष्पादन मॉडल Turing-complete है—लूप और जटिल control flow संभव हैं—लेकिन gas तंत्र सुनिश्चित करता है कि सभी computation सीमित समय में समाप्त हो, भाषा प्रतिबंधों के बजाय आर्थिक रूप से halting problem को हल करते हुए।
Blockchain and Mining
A blockchain do Ethereum e fundamentalmente similar a do Bitcoin, servindo como um banco de dados contendo cada transacao ja executada. No entanto, enquanto o Bitcoin armazena apenas uma lista de transacoes, o Ethereum armazena tanto a lista de transacoes quanto o estado mais recente. Cada bloco no Ethereum contem o hash do bloco anterior, uma raiz de estado (o hash raiz do Merkle Patricia trie representando o estado completo), uma raiz de transacoes, uma raiz de recibos (armazenando dados da execucao de transacoes), junto com valores de dificuldade, carimbo de tempo e nonce. O estado em si e um grande Merkle Patricia trie mapeando enderecos para objetos de conta, onde cada conta tem um saldo, nonce, codigo (se presente) e armazenamento.

O Ethereum usa uma versao modificada do protocolo GHOST (Greedy Heaviest Observed Subtree) para abordar problemas de seguranca que surgem de tempos de bloco rapidos. Nos protocolos tradicionais de cadeia mais longa, blocos rapidos levam a altas taxas de obsolescencia, reduzindo a seguranca da rede e aumentando os riscos de centralizacao ja que grandes mineradores desperdicam menos computacao em blocos obsoletos. O GHOST inclui blocos obsoletos (chamados "tios" no Ethereum) no calculo de qual cadeia e mais longa, e fornece recompensas parciais aos blocos tio, incentivando mineradores a referencia-los. Isso permite ao Ethereum manter um tempo de bloco alvo de aproximadamente 12 segundos enquanto preserva a seguranca da rede.
O algoritmo de mineracao funciona de forma similar ao proof of work do Bitcoin, exigindo que os mineradores encontrem um nonce tal que o hash do bloco esteja abaixo de um certo alvo de dificuldade. No entanto, o algoritmo de mineracao de uso intensivo de memoria do Ethereum (Ethash) e projetado para ser resistente a ASIC, promovendo um ecossistema de mineracao mais descentralizado. A dificuldade se ajusta dinamicamente com base nos tempos de bloco para manter o alvo de ~12 segundos, garantindo uma producao de blocos consistente enquanto o protocolo GHOST fornece garantias de seguranca apesar dos tempos de bloco mais rapidos comparados com a media de 10 minutos do Bitcoin.
Blockchain and Mining
Ethereum blockchain मौलिक रूप से Bitcoin के समान है, जो कभी निष्पादित हुए प्रत्येक transaction को रखने वाले डेटाबेस के रूप में कार्य करता है। हालांकि, जबकि Bitcoin केवल एक transaction सूची संग्रहीत करता है, Ethereum transaction सूची और सबसे हालिया state दोनों को संग्रहीत करता है। Ethereum में प्रत्येक block में पिछले block का hash, एक state root (संपूर्ण state का प्रतिनिधित्व करने वाले Merkle Patricia trie का root hash), एक transaction root, एक receipt root (transaction निष्पादन से डेटा संग्रहीत करने वाला), difficulty, timestamp, और nonce मान होते हैं। State स्वयं एक बड़ा Merkle Patricia trie है जो addresses को account objects से मैप करता है, जहां प्रत्येक account में balance, nonce, code (यदि मौजूद हो), और storage होता है।

Ethereum तेज block समय से उत्पन्न होने वाली सुरक्षा समस्याओं को संबोधित करने के लिए GHOST (Greedy Heaviest Observed Subtree) प्रोटोकॉल के एक संशोधित संस्करण का उपयोग करता है। पारंपरिक longest-chain प्रोटोकॉल में, तेज blocks उच्च stale दरों की ओर ले जाते हैं, जो नेटवर्क सुरक्षा को कम करते हैं और केंद्रीकरण जोखिम बढ़ाते हैं क्योंकि बड़े miners stales पर कम computation बर्बाद करते हैं। GHOST stale blocks (Ethereum में "uncles" कहे जाते हैं) को सबसे लंबी chain की गणना में शामिल करता है, और uncle blocks को आंशिक पुरस्कार प्रदान करता है, miners को उन्हें संदर्भित करने के लिए प्रोत्साहित करता है। यह Ethereum को नेटवर्क सुरक्षा बनाए रखते हुए लगभग 12 सेकंड का लक्ष्य block समय बनाए रखने की अनुमति देता है।
Mining एल्गोरिदम Bitcoin के proof-of-work के समान काम करता है, miners को एक nonce खोजने की आवश्यकता होती है ताकि block का hash एक निश्चित difficulty target से नीचे हो। हालांकि, Ethereum का memory-hard mining एल्गोरिदम (Ethash) ASIC-resistant होने के लिए डिज़ाइन किया गया है, जो एक अधिक विकेंद्रीकृत mining पारिस्थितिकी तंत्र को बढ़ावा देता है। Difficulty block समय के आधार पर गतिशील रूप से समायोजित होती है ताकि ~12 सेकंड का लक्ष्य बनाए रखा जा सके, जो Bitcoin के 10-मिनट के औसत की तुलना में तेज block समय के बावजूद GHOST प्रोटोकॉल सुरक्षा गारंटी प्रदान करते हुए सुसंगत block उत्पादन सुनिश्चित करता है।
Applications
As aplicacoes que podem ser construidas sobre o Ethereum se dividem em tres amplas categorias. A primeira categoria sao as aplicacoes financeiras, fornecendo aos usuarios formas mais poderosas de gerenciar e participar de contratos envolvendo seu dinheiro. Isso inclui sub-moedas, derivativos financeiros, contratos de hedge, carteiras de poupanca com limites de saque, testamentos que distribuem fundos automaticamente, e ate contratos de emprego que calculam pagamentos com base na verificacao de trabalho concluido. Essas aplicacoes aproveitam a programabilidade do Ethereum para criar instrumentos financeiros complexos que seriam impossiveis ou extremamente dificeis de implementar em sistemas tradicionais ou mesmo no Bitcoin.
A segunda categoria sao as aplicacoes semi-financeiras, onde o dinheiro esta envolvido, mas tambem ha um componente nao monetario substancial no que esta sendo feito. Um exemplo perfeito sao as recompensas auto-executaveis para solucoes de problemas computacionais. Alguem poderia publicar um problema computacional junto com uma recompensa, e o contrato poderia verificar automaticamente as solucoes enviadas e pagar a recompensa para a primeira resposta correta. Essa categoria faz a ponte entre financas puras e outros dominios, usando incentivos economicos para resolver problemas ou coordenar comportamento.
A terceira categoria sao as aplicacoes que nao tem nada a ver com dinheiro, como sistemas de votacao online e governanca descentralizada. Essas aplicacoes nao financeiras demonstram a flexibilidade do Ethereum como plataforma de proposito geral. Os exemplos incluem sistemas de nomes de dominio descentralizados como Namecoin, sistemas de reputacao, armazenamento de arquivos descentralizado e ferramentas de governanca organizacional. De todos esses tipos de aplicacoes, os sistemas de tokens surgiram como os mais comuns e fundamentais, servindo como blocos de construcao para muitas outras aplicacoes.
Applications
Ethereum पर बनाए जा सकने वाले अनुप्रयोग तीन व्यापक श्रेणियों में आते हैं। पहली श्रेणी वित्तीय अनुप्रयोग है, जो उपयोगकर्ताओं को उनके धन से जुड़े contracts में प्रवेश करने और प्रबंधित करने के अधिक शक्तिशाली तरीके प्रदान करती है। इसमें उप-मुद्राएं, वित्तीय derivatives, hedging contracts, निकासी सीमाओं वाले बचत वॉलेट, स्वचालित रूप से धन वितरित करने वाली वसीयत, और यहां तक कि सत्यापित कार्य पूर्णता के आधार पर भुगतान की गणना करने वाले रोजगार contracts शामिल हैं। ये अनुप्रयोग जटिल वित्तीय साधन बनाने के लिए Ethereum की प्रोग्रामेबिलिटी का लाभ उठाते हैं जो पारंपरिक प्रणालियों या Bitcoin पर भी लागू करना असंभव या अत्यंत कठिन होगा।
दूसरी श्रेणी अर्ध-वित्तीय अनुप्रयोग है, जहां धन शामिल है लेकिन जो किया जा रहा है उसमें एक पर्याप्त गैर-मौद्रिक घटक भी है। एक आदर्श उदाहरण कम्प्यूटेशनल समस्याओं के समाधान के लिए स्व-प्रवर्तित इनाम है। कोई व्यक्ति इनाम के साथ एक कम्प्यूटेशनल समस्या पोस्ट कर सकता है, और contract स्वचालित रूप से प्रस्तुत समाधानों को सत्यापित कर सकता है और पहले सही उत्तर को इनाम का भुगतान कर सकता है। यह श्रेणी शुद्ध वित्त और अन्य क्षेत्रों के बीच पुल बनाती है, समस्याओं को हल करने या व्यवहार को समन्वित करने के लिए आर्थिक प्रोत्साहनों का उपयोग करती है।
तीसरी श्रेणी ऐसे अनुप्रयोग हैं जिनका धन से कोई संबंध नहीं है, जैसे ऑनलाइन मतदान और विकेंद्रीकृत शासन प्रणालियां। ये गैर-वित्तीय अनुप्रयोग एक सामान्य-उद्देश्य प्लेटफॉर्म के रूप में Ethereum की लचीलापन प्रदर्शित करते हैं। उदाहरणों में Namecoin जैसी विकेंद्रीकृत डोमेन नाम प्रणालियां, प्रतिष्ठा प्रणालियां, विकेंद्रीकृत फ़ाइल स्टोरेज, और संगठनात्मक शासन उपकरण शामिल हैं। इन सभी अनुप्रयोग प्रकारों में, token systems सबसे आम और मौलिक के रूप में उभरे हैं, जो कई अन्य अनुप्रयोगों के लिए बिल्डिंग ब्लॉक के रूप में कार्य करते हैं।
Token Systems
Os sistemas de tokens sao surpreendentemente simples de implementar no Ethereum, apesar de serem uma das aplicacoes mais poderosas e comuns. Em sua essencia, os sistemas de tokens sao simplesmente um banco de dados com uma unica operacao: subtrair X unidades da conta A e adicionar X unidades a conta B, com a condicao de que A tinha pelo menos X unidades antes da transacao e a transacao e autorizada por A. A implementacao requer manter um mapeamento de enderecos para saldos e fornecer uma funcao de transferencia que realize as verificacoes apropriadas antes de mover tokens entre contas.
O codigo do contrato para um sistema de tokens basico e notavelmente simples e pode ser escrito em apenas algumas linhas. Consiste em uma estrutura de dados mapeando enderecos para saldos, uma funcao de inicializacao que atribui o fornecimento inicial de tokens, e uma funcao de transferencia que verifica o saldo e a autorizacao do remetente antes de executar a transferencia. Essa simplicidade contrasta fortemente com a complexidade necessaria para implementar sistemas semelhantes no Bitcoin, que exigiria solucoes alternativas significativas e limitacoes devido as capacidades restritas de scripting do Bitcoin.
Os tokens no Ethereum podem representar virtualmente qualquer coisa de valor. Podem representar sub-moedas com suas proprias politicas monetarias, derivativos financeiros que rastreiam ativos externos, acoes de empresas com direitos a dividendos, pontos de fidelidade em programas de clientes, commodities como ouro ou petroleo, ou ate representacoes de propriedade fisica. A programabilidade do Ethereum permite que esses tokens tenham regras arbitrarias governando seu comportamento, como restricoes de transferencia, mecanismos de queima automatica, distribuicoes de dividendos ou direitos de governanca. Essa flexibilidade tornou os sistemas de tokens o bloco de construcao fundamental para grande parte do ecossistema Ethereum.
Token Systems
Token systems Ethereum पर लागू करने में आश्चर्यजनक रूप से सरल हैं, सबसे शक्तिशाली और आम अनुप्रयोगों में से एक होने के बावजूद। अपने मूल में, token systems बस एक डेटाबेस हैं जिसमें एक एकल ऑपरेशन है: account A से X इकाइयां घटाएं और account B में X इकाइयां जोड़ें, इस शर्त के साथ कि transaction से पहले A के पास कम से कम X इकाइयां थीं और transaction A द्वारा अधिकृत है। कार्यान्वयन के लिए addresses से balances तक एक mapping बनाए रखना और एक transfer function प्रदान करना आवश्यक है जो accounts के बीच tokens स्थानांतरित करने से पहले उचित जांच करता है।
एक बुनियादी token system के लिए contract code उल्लेखनीय रूप से सरल है और कुछ ही पंक्तियों में लिखा जा सकता है। इसमें addresses को balances से मैप करने वाली डेटा संरचना, प्रारंभिक token supply आवंटित करने वाला एक initialization function, और transfer निष्पादित करने से पहले भेजने वाले के balance और authorization की जांच करने वाला एक transfer function शामिल है। यह सरलता Bitcoin पर समान प्रणालियों को लागू करने के लिए आवश्यक जटिलता के विपरीत है, जिसके लिए Bitcoin की प्रतिबंधित स्क्रिप्टिंग क्षमताओं के कारण महत्वपूर्ण समाधानों और सीमाओं की आवश्यकता होगी।
Ethereum पर tokens वस्तुतः मूल्य की किसी भी चीज़ का प्रतिनिधित्व कर सकते हैं। वे अपनी मौद्रिक नीतियों वाली उप-मुद्राओं, बाहरी संपत्तियों को ट्रैक करने वाले वित्तीय derivatives, लाभांश अधिकारों वाले कंपनी शेयरों, ग्राहक कार्यक्रमों में loyalty points, सोने या तेल जैसी वस्तुओं, या यहां तक कि भौतिक संपत्ति के प्रतिनिधित्व का प्रतिनिधित्व कर सकते हैं। Ethereum की प्रोग्रामेबिलिटी इन tokens को उनके व्यवहार को नियंत्रित करने वाले मनमाने नियम रखने की अनुमति देती है, जैसे transfer प्रतिबंध, स्वचालित burning तंत्र, लाभांश वितरण, या शासन अधिकार। इस लचीलेपन ने token systems को Ethereum पारिस्थितिकी तंत्र के अधिकांश भाग का मूलभूत बिल्डिंग ब्लॉक बना दिया है।
Financial Derivatives and Stable-Value Currencies
Os derivativos financeiros representam uma das aplicacoes mais fundamentais e importantes dos smart contracts do Ethereum. Um simples contrato de hedge demonstra o mecanismo basico: a parte A deposita uma certa quantidade de ether no valor de \(1000, a parte B deposita uma quantidade equivalente, e o contrato registra o valor em USD do ether naquele momento usando um feed de dados. Apos 30 dias, o contrato recalcula o valor e envia ether no valor de \)1000 para A e o restante para B. Se o preco do ether subiu, A recebe menos ether mas mantem o valor de $1000; se caiu, A recebe mais ether para manter esse valor. Isso permite que A se proteja contra a volatilidade enquanto B especula sobre os movimentos de preco.
A implementacao de tais contratos requer acesso a dados externos atraves de contratos oraculo ou feeds de dados. Esses oraculos fornecem informacoes de precos, dados meteorologicos ou outras informacoes do mundo real que os contratos precisam para executar corretamente. Embora os oraculos introduzam uma dependencia de confianca, podem ser projetados com redundancia e incentivos criptoeconomicos para fornecer dados confiaveis. O contrato em si simplesmente consulta o oraculo, realiza calculos com base nesses dados e distribui fundos de acordo com sua logica programada.
Stablecoins e instrumentos financeiros mais complexos podem ser construidos usando mecanismos similares. Um contrato de stablecoin poderia manter uma reserva de ether e emitir tokens atrelados a uma moeda fiduciaria, ajustando automaticamente o fornecimento ou os requisitos de colateral com base em feeds de precos. Contratos de opcoes, futuros, swaps e outros derivativos que normalmente exigiriam marcos legais complexos e intermediarios confiaveis podem ser codificados como smart contracts auto-executaveis. Essa infraestrutura de financas programaveis permite engenharia financeira sofisticada mantendo as garantias de transparencia e seguranca da tecnologia blockchain.
Financial Derivatives and Stable-Value Currencies
वित्तीय derivatives Ethereum smart contracts के सबसे मौलिक और महत्वपूर्ण अनुप्रयोगों में से एक का प्रतिनिधित्व करते हैं। एक सरल hedging contract बुनियादी तंत्र को प्रदर्शित करता है: पक्ष A \(1000 मूल्य की एक निश्चित मात्रा में ether जमा करता है, पक्ष B समतुल्य राशि जमा करता है, और contract एक data feed का उपयोग करके उस समय ether का USD मूल्य दर्ज करता है। 30 दिनों के बाद, contract मूल्य की पुनर्गणना करता है और A को \)1000 मूल्य का ether भेजता है और शेष B को भेजता है। यदि ether की कीमत बढ़ी है, तो A को कम ether मिलता है लेकिन $1000 मूल्य बनाए रखता है; यदि गिरी है, तो A को उस मूल्य को बनाए रखने के लिए अधिक ether मिलता है। यह A को अस्थिरता के खिलाफ hedge करने की अनुमति देता है जबकि B मूल्य आंदोलनों पर अटकलें लगाता है।
ऐसे contracts के कार्यान्वयन के लिए oracle contracts या data feeds के माध्यम से बाहरी डेटा तक पहुंच की आवश्यकता होती है। ये oracles मूल्य जानकारी, मौसम डेटा, या अन्य वास्तविक-दुनिया की जानकारी प्रदान करते हैं जो contracts को ठीक से निष्पादित करने के लिए चाहिए। जबकि oracles एक विश्वास निर्भरता प्रस्तुत करते हैं, उन्हें विश्वसनीय डेटा प्रदान करने के लिए अतिरेक और cryptoeconomic प्रोत्साहनों के साथ डिज़ाइन किया जा सकता है। Contract स्वयं बस oracle से क्वेरी करता है, उस डेटा के आधार पर गणना करता है, और अपने प्रोग्राम किए गए तर्क के अनुसार धन वितरित करता है।
Stablecoins और अधिक जटिल वित्तीय साधन समान तंत्रों का उपयोग करके बनाए जा सकते हैं। एक stablecoin contract ether का भंडार बनाए रख सकता है और fiat मुद्रा से जुड़े tokens जारी कर सकता है, मूल्य feeds के आधार पर supply या collateral आवश्यकताओं को स्वचालित रूप से समायोजित करते हुए। Options contracts, futures, swaps, और अन्य derivatives जिन्हें सामान्यतः जटिल कानूनी ढांचों और विश्वसनीय मध्यस्थों की आवश्यकता होती है, उन्हें इसके बजाय स्व-निष्पादन smart contracts के रूप में एन्कोड किया जा सकता है। यह प्रोग्रामेबल वित्त अवसंरचना blockchain प्रौद्योगिकी की पारदर्शिता और सुरक्षा गारंटियों को बनाए रखते हुए परिष्कृत वित्तीय इंजीनियरिंग को सक्षम करती है।
Identity and Reputation Systems
Um sistema de registro de nomes similar ao Namecoin e trivialmente implementavel no Ethereum e serve como o exemplo mais simples de um sistema de identidade. O contrato mantem um banco de dados com uma tabela chave-valor mapeando nomes para dados associados (como enderecos IP, chaves publicas ou outras informacoes). Qualquer pessoa pode registrar um nome enviando uma transacao para o contrato junto com uma pequena taxa de registro, desde que esse nome ainda nao esteja em uso. O proprietario pode atualizar os dados associados a qualquer momento, e os nomes podem ser tornados transferiveis ou permanentes de acordo com as regras codificadas no contrato.
Sistemas de identidade mais avancados podem ser construidos sobre essa base para incluir pontuacoes de reputacao, relacoes de rede de confianca e verificacao de identidade descentralizada. Por exemplo, um contrato poderia manter pontuacoes de reputacao baseadas em transacoes verificadas, avaliacoes de pares ou conclusao de tarefas. Essas pontuacoes seriam publicamente visiveis e criptograficamente vinculadas a enderecos especificos, criando uma reputacao portatil que segue os usuarios atraves das aplicacoes. Os sistemas de rede de confianca poderiam permitir que os usuarios atestassem a identidade de outros, construindo grafos sociais que ajudam a distinguir usuarios legitimos de atores maliciosos.
Tais sistemas de identidade e reputacao se tornam particularmente poderosos quando integrados com outras aplicacoes. Um marketplace poderia exigir pontuacoes minimas de reputacao para vendedores, uma plataforma de emprestimos poderia ajustar as taxas de juros com base na reputacao do tomador, ou uma rede social poderia usar a rede de confianca para filtrar spam e conteudo fraudulento. Ao fornecer uma infraestrutura compartilhada de identidade que qualquer aplicacao pode consultar, o Ethereum permite uma nova classe de aplicacoes baseadas em confianca que nao dependem de provedores de identidade centralizados ou sistemas de reputacao proprietarios.
Identity and Reputation Systems
Namecoin के समान एक नाम पंजीकरण प्रणाली Ethereum पर सरलता से लागू की जा सकती है और एक पहचान प्रणाली का सबसे सरल उदाहरण है। Contract एक key-value table के साथ एक डेटाबेस बनाए रखता है जो नामों को संबंधित डेटा (जैसे IP addresses, public keys, या अन्य जानकारी) से मैप करता है। कोई भी व्यक्ति एक छोटे पंजीकरण शुल्क के साथ contract को एक transaction भेजकर एक नाम पंजीकृत कर सकता है, बशर्ते वह नाम पहले से लिया न गया हो। स्वामी किसी भी समय संबंधित डेटा को अपडेट कर सकता है, और contract में एन्कोड किए गए नियमों के अनुसार नामों को हस्तांतरणीय या स्थायी बनाया जा सकता है।
अधिक उन्नत पहचान प्रणालियां इस नींव पर प्रतिष्ठा स्कोर, web of trust संबंधों, और विकेंद्रीकृत पहचान सत्यापन को शामिल करने के लिए बनाई जा सकती हैं। उदाहरण के लिए, एक contract सत्यापित transactions, सहकर्मी रेटिंग, या कार्यों के पूर्ण होने के आधार पर प्रतिष्ठा स्कोर बनाए रख सकता है। ये स्कोर सार्वजनिक रूप से दृश्य होंगे और cryptographically विशिष्ट addresses से जुड़े होंगे, जो एक पोर्टेबल प्रतिष्ठा बनाते हैं जो अनुप्रयोगों में उपयोगकर्ताओं का अनुसरण करती है। Web of trust प्रणालियां उपयोगकर्ताओं को दूसरों की पहचान की पुष्टि करने की अनुमति दे सकती हैं, सामाजिक ग्राफ बनाते हुए जो वैध उपयोगकर्ताओं को बुरे अभिनेताओं से अलग करने में मदद करते हैं।
ऐसी पहचान और प्रतिष्ठा प्रणालियां अन्य अनुप्रयोगों के साथ एकीकृत होने पर विशेष रूप से शक्तिशाली हो जाती हैं। एक marketplace विक्रेताओं के लिए न्यूनतम प्रतिष्ठा स्कोर की आवश्यकता कर सकता है, एक ऋण प्लेटफॉर्म उधारकर्ता की प्रतिष्ठा के आधार पर ब्याज दरों को समायोजित कर सकता है, या एक सोशल नेटवर्क स्पैम और धोखाधड़ी सामग्री को फ़िल्टर करने के लिए web of trust का उपयोग कर सकता है। एक साझा पहचान अवसंरचना प्रदान करके जिसे कोई भी अनुप्रयोग क्वेरी कर सकता है, Ethereum विश्वास-आधारित अनुप्रयोगों का एक नया वर्ग सक्षम करता है जो केंद्रीकृत पहचान प्रदाताओं या मालिकाना प्रतिष्ठा प्रणालियों पर निर्भर नहीं करता।
Decentralized File Storage
O armazenamento descentralizado de arquivos pode ser implementado atraves de contratos Ethereum que coordenam entre usuarios que precisam de armazenamento e provedores que o oferecem. Em um modelo de "Dropbox descentralizado", os usuarios pagariam uma taxa mensal para enviar arquivos, com o contrato distribuindo pagamentos aos provedores de armazenamento que provem que estao realmente armazenando os dados. O mecanismo de prova funciona atraves de desafios criptograficos periodicos: o contrato seleciona aleatoriamente porcoes de arquivos e pede aos provedores que fornecam provas de Merkle tree demonstrando que possuem aqueles dados. Os provedores que falharem nos desafios ou ficarem offline perderiam seus depositos e fluxo de pagamentos futuros.
Essa abordagem oferece varias vantagens sobre o armazenamento centralizado. As provas de Merkle tree permitem verificacao eficiente — os usuarios e o contrato podem confirmar a disponibilidade de arquivos sem baixar arquivos inteiros. O sistema distribui naturalmente os arquivos entre multiplos provedores independentes, criando redundancia sem exigir protocolos de replicacao explicitos. Os incentivos economicos alinham o comportamento do provedor com as necessidades do usuario: os provedores ganham dinheiro armazenando dados de forma confiavel e perdem dinheiro se nao o fizerem. Isso elimina o requisito de confianca inerente nas solucoes de armazenamento centralizado.
Os custos de armazenamento em tal sistema podem ser potencialmente mais baixos que as alternativas centralizadas por varias razoes. A eliminacao de precos monopolistas permite que a competicao de mercado reduza os custos para perto do custo real de armazenamento. A redundancia implicita de multiplos usuarios armazenando arquivos semelhantes pode reduzir os requisitos totais de armazenamento. Nao ha necessidade de infraestrutura cara de data centers ou custos corporativos gerais. No entanto, permanecem desafios em torno dos mecanismos de pagamento, garantir participacao adequada de provedores e gerenciar o equilibrio entre redundancia e custo. Apesar desses desafios, o armazenamento descentralizado demonstra como o Ethereum pode coordenar interacoes complexas de multiplas partes apenas atraves de incentivos economicos.
Decentralized File Storage
विकेंद्रीकृत फ़ाइल स्टोरेज को Ethereum contracts के माध्यम से लागू किया जा सकता है जो storage की आवश्यकता वाले उपयोगकर्ताओं और इसे प्रदान करने वाले प्रदाताओं के बीच समन्वय करते हैं। एक "विकेंद्रीकृत Dropbox" मॉडल में, उपयोगकर्ता फ़ाइलें अपलोड करने के लिए मासिक शुल्क का भुगतान करेंगे, contract storage प्रदाताओं को भुगतान वितरित करेगा जो साबित करते हैं कि वे वास्तव में डेटा संग्रहीत कर रहे हैं। प्रमाण तंत्र आवधिक cryptographic चुनौतियों के माध्यम से काम करता है: contract यादृच्छिक रूप से फ़ाइलों के भागों का चयन करता है और प्रदाताओं से Merkle tree proofs प्रदान करने के लिए कहता है जो प्रदर्शित करते हैं कि उनके पास वह डेटा है। जो प्रदाता चुनौतियों में विफल होते हैं या ऑफ़लाइन हो जाते हैं वे अपनी जमा राशि और भविष्य की भुगतान धारा खो देंगे।
यह दृष्टिकोण केंद्रीकृत storage पर कई फायदे प्रदान करता है। Merkle tree proofs कुशल सत्यापन सक्षम करते हैं—उपयोगकर्ता और contract पूरी फ़ाइलें डाउनलोड किए बिना फ़ाइल उपलब्धता की पुष्टि कर सकते हैं। सिस्टम स्वाभाविक रूप से कई स्वतंत्र प्रदाताओं में फ़ाइलें वितरित करता है, स्पष्ट replication प्रोटोकॉल की आवश्यकता के बिना redundancy बनाता है। आर्थिक प्रोत्साहन प्रदाता व्यवहार को उपयोगकर्ता आवश्यकताओं के साथ संरेखित करते हैं: प्रदाता विश्वसनीय रूप से डेटा संग्रहीत करके पैसा कमाते हैं और ऐसा करने में विफल होने पर पैसा खोते हैं। यह केंद्रीकृत storage समाधानों में अंतर्निहित विश्वास आवश्यकता को समाप्त करता है।
ऐसी प्रणाली में storage लागत कई कारणों से केंद्रीकृत विकल्पों से संभावित रूप से कम हो सकती है। एकाधिकार मूल्य निर्धारण का उन्मूलन बाजार प्रतिस्पर्धा को लागत को storage की वास्तविक लागत के करीब ले जाने की अनुमति देता है। समान फ़ाइलें संग्रहीत करने वाले कई उपयोगकर्ताओं से अंतर्निहित redundancy कुल storage आवश्यकताओं को कम कर सकती है। महंगी data center अवसंरचना या कॉर्पोरेट overhead की कोई आवश्यकता नहीं है। हालांकि, भुगतान तंत्र, पर्याप्त प्रदाता भागीदारी सुनिश्चित करने, और redundancy और लागत के बीच संतुलन प्रबंधित करने के आसपास चुनौतियां बनी हुई हैं। इन चुनौतियों के बावजूद, विकेंद्रीकृत storage प्रदर्शित करता है कि कैसे Ethereum केवल आर्थिक प्रोत्साहनों के माध्यम से जटिल बहु-पक्षीय बातचीत को समन्वित कर सकता है।
Decentralized Autonomous Organizations
Uma Organizacao Autonoma Descentralizada (DAO) e uma entidade virtual que possui um conjunto de membros ou acionistas que coletivamente tem o direito de gastar os fundos da entidade e modificar seu codigo. Uma DAO tipica opera com uma regra simples: 67% dos membros sao necessarios para tomar decisoes de gasto ou modificar o codigo da organizacao. Os membros podem enviar propostas, votar nelas, e se uma proposta receber apoio suficiente, o contrato executa automaticamente a decisao. As participacoes de membresia podem ser transferiveis, permitindo um mercado liquido para a participacao na DAO, e diferentes classes de participacoes podem ter diferentes direitos de voto ou reivindicacoes economicas.
O design mais simples de uma DAO e um contrato auto-modificavel que mantem uma lista de membros e requer maioria de 2/3 de votos para alterar qualquer aspecto do contrato, incluindo suas proprias regras de votacao. Os membros enviariam mudancas de codigo como transacoes, outros membros votariam, e ao atingir o limiar, o contrato se atualizaria. Designs mais sofisticados poderiam incluir sistemas de votacao delegada onde os membros podem atribuir seu poder de voto a representantes, ou democracia liquida onde os votos podem ser delegados mas reivindicados a qualquer momento para decisoes importantes.
As DAOs podem servir a diversos propositos alem da simples gestao de fundos. Uma DAO poderia funcionar como uma corporacao descentralizada, contratando prestadores de servicos, comprando servicos e distribuindo lucros aos acionistas — tudo governado por codigo de smart contract em vez de estruturas legais tradicionais. Poderia operar como um fundo de investimento descentralizado, com os membros votando sobre quais projetos financiar. Poderia gerenciar um recurso comum, com as partes interessadas votando sobre as regras de alocacao. A ideia-chave e que ao codificar as regras de governanca em codigo transparente e imutavel e vincula-las a uma participacao economica, as DAOs podem coordenar decisoes de grupo sem exigir gestao hierarquica tradicional ou aplicacao legal.
Decentralized Autonomous Organizations
एक Decentralized Autonomous Organization (DAO) एक आभासी इकाई है जिसके सदस्यों या शेयरधारकों का एक समूह होता है जो सामूहिक रूप से इकाई के धन को खर्च करने और उसके code को संशोधित करने का अधिकार रखते हैं। एक विशिष्ट DAO एक सरल नियम के साथ संचालित होता है: खर्च निर्णय लेने या संगठन के code को संशोधित करने के लिए 67% सदस्यों की आवश्यकता होती है। सदस्य प्रस्ताव प्रस्तुत कर सकते हैं, उन पर मतदान कर सकते हैं, और यदि किसी प्रस्ताव को पर्याप्त समर्थन मिलता है, तो contract स्वचालित रूप से निर्णय को निष्पादित करता है। सदस्यता शेयर हस्तांतरणीय हो सकते हैं, DAO भागीदारी के लिए एक तरल बाजार की अनुमति देते हुए, और शेयरों के विभिन्न वर्गों में अलग-अलग मतदान अधिकार या आर्थिक दावे हो सकते हैं।
सबसे सरल DAO डिज़ाइन एक स्व-संशोधित contract है जो सदस्यों की एक सूची बनाए रखता है और contract के किसी भी पहलू को बदलने के लिए 2/3 बहुमत मतदान की आवश्यकता होती है, जिसमें इसके अपने मतदान नियम भी शामिल हैं। सदस्य transactions के रूप में code परिवर्तन प्रस्तुत करेंगे, अन्य सदस्य मतदान करेंगे, और threshold तक पहुंचने पर, contract स्वयं को अपडेट करेगा। अधिक परिष्कृत डिज़ाइन में प्रत्यायोजित मतदान प्रणालियां शामिल हो सकती हैं जहां सदस्य अपनी मतदान शक्ति प्रतिनिधियों को सौंप सकते हैं, या liquid democracy जहां मतों को प्रत्यायोजित किया जा सकता है लेकिन महत्वपूर्ण निर्णयों के लिए किसी भी समय वापस लिया जा सकता है।
DAOs सरल धन प्रबंधन से परे विभिन्न उद्देश्यों की सेवा कर सकते हैं। एक DAO एक विकेंद्रीकृत निगम के रूप में कार्य कर सकता है, ठेकेदारों को काम पर रखना, सेवाएं खरीदना, और शेयरधारकों को लाभ वितरित करना—सब पारंपरिक कानूनी संरचनाओं के बजाय smart contract code द्वारा शासित। यह एक विकेंद्रीकृत निवेश कोष के रूप में संचालित हो सकता है, सदस्य मतदान करते हैं कि किन परियोजनाओं को वित्तपोषित किया जाए। यह एक सामान्य संसाधन का प्रबंधन कर सकता है, हितधारक आवंटन नियमों पर मतदान करते हुए। मुख्य अंतर्दृष्टि यह है कि शासन नियमों को पारदर्शी, अपरिवर्तनीय code में एन्कोड करके और उन्हें आर्थिक हिस्सेदारी से जोड़कर, DAOs पारंपरिक श्रेणीबद्ध प्रबंधन या कानूनी प्रवर्तन की आवश्यकता के बिना समूह निर्णयों को समन्वित कर सकते हैं।
Further Applications
Alem das categorias principais ja discutidas, o Ethereum possibilita numerosas outras aplicacoes. Carteiras de poupanca com recursos de seguranca sofisticados podem impor limites de saque diarios enquanto fornecem chaves de emergencia para recuperacao, protegendo os usuarios contra roubo enquanto mantem o controle final. Contratos de seguro agricola podem pagar automaticamente aos agricultores com base em feeds de dados meteorologicos, eliminando o processamento de sinistros e reduzindo os custos administrativos. Aplicacoes de apostas peer-to-peer podem operar sem nenhum intermediario confiavel, com smart contracts mantendo as apostas e pagando automaticamente aos vencedores com base em numeros aleatorios verificaveis ou dados de eventos do mundo real.
Os mercados de predicao on-chain permitem que os usuarios apostem em eventos futuros, criando poderosos mecanismos de previsao atraves da sabedoria das massas. Estes podem ser aprimorados com protocolos do tipo SchellingCoin para criar oraculos descentralizados: os participantes reportam dados independentemente (como resultados eleitorais ou condicoes meteorologicas), e aqueles cujos relatorios correspondem a maioria recebem recompensas enquanto os valores discrepantes sao penalizados. Essa abordagem criptoeconomica incentiva o relato honesto e pode fornecer dados do mundo real confiaveis para outros contratos sem exigir confianca em nenhum provedor de oraculo individual.
As carteiras multisig representam outra aplicacao importante, permitindo o controle compartilhado de fundos entre multiplas partes. Uma carteira multisig 2-de-3 poderia exigir que duas de tres partes designadas aprovem uma transacao antes que os fundos possam ser gastos, util para acordos de garantia, tesourarias corporativas ou seguranca pessoal. Os marketplaces descentralizados podem combinar sistemas de identidade, pontuacoes de reputacao, contratos de garantia e mecanismos de resolucao de disputas para permitir o comercio peer-to-peer sem plataformas centralizadas. Cada uma dessas aplicacoes demonstra como a programabilidade do Ethereum permite novos modelos de confianca e estruturas organizacionais.
Further Applications
पहले से चर्चित प्रमुख श्रेणियों के अलावा, Ethereum कई अन्य अनुप्रयोगों को सक्षम करता है। परिष्कृत सुरक्षा सुविधाओं वाले बचत वॉलेट दैनिक निकासी सीमा लगा सकते हैं जबकि पुनर्प्राप्ति के लिए आपातकालीन keys प्रदान करते हैं, चोरी से सुरक्षा करते हुए अंतिम नियंत्रण बनाए रखते हैं। फसल बीमा contracts मौसम data feeds के आधार पर स्वचालित रूप से किसानों को भुगतान कर सकते हैं, दावा प्रसंस्करण को समाप्त करते हुए और प्रशासनिक overhead को कम करते हुए। Peer-to-peer जुआ अनुप्रयोग किसी भी विश्वसनीय मध्यस्थ के बिना संचालित हो सकते हैं, smart contracts दांव रखते हुए और सत्यापन योग्य random numbers या वास्तविक-दुनिया की घटना डेटा के आधार पर स्वचालित रूप से विजेताओं को भुगतान करते हुए।
On-chain prediction markets उपयोगकर्ताओं को भविष्य की घटनाओं पर दांव लगाने की अनुमति देते हैं, भीड़ की बुद्धि के माध्यम से शक्तिशाली पूर्वानुमान तंत्र बनाते हैं। इन्हें विकेंद्रीकृत oracles बनाने के लिए SchellingCoin-शैली प्रोटोकॉल के साथ बढ़ाया जा सकता है: प्रतिभागी स्वतंत्र रूप से डेटा (जैसे चुनाव परिणाम या मौसम की स्थिति) रिपोर्ट करते हैं, और जिनकी रिपोर्ट बहुमत से मेल खाती हैं उन्हें पुरस्कार मिलता है जबकि विचलन करने वालों को दंडित किया जाता है। यह cryptoeconomic दृष्टिकोण ईमानदार रिपोर्टिंग को प्रोत्साहित करता है और किसी एक oracle प्रदाता पर विश्वास की आवश्यकता के बिना अन्य contracts को विश्वसनीय वास्तविक-दुनिया डेटा प्रदान कर सकता है।
Multi-signature wallets एक और महत्वपूर्ण अनुप्रयोग का प्रतिनिधित्व करते हैं, जो कई पक्षों के बीच धन का साझा नियंत्रण सक्षम करते हैं। एक 2-of-3 multi-sig wallet में धन खर्च करने से पहले तीन निर्दिष्ट पक्षों में से किन्हीं दो को transaction को मंजूरी देने की आवश्यकता हो सकती है, जो escrow व्यवस्थाओं, कॉर्पोरेट treasuries, या व्यक्तिगत सुरक्षा के लिए उपयोगी है। विकेंद्रीकृत marketplaces पहचान प्रणालियों, प्रतिष्ठा स्कोर, escrow contracts, और विवाद समाधान तंत्रों को जोड़कर केंद्रीकृत प्लेटफॉर्म के बिना peer-to-peer वाणिज्य को सक्षम कर सकते हैं। इनमें से प्रत्येक अनुप्रयोग प्रदर्शित करता है कि कैसे Ethereum की प्रोग्रामेबिलिटी नए विश्वास मॉडल और संगठनात्मक संरचनाओं को सक्षम करती है।
Miscellanea And Concerns
A implementacao do Ethereum do protocolo GHOST modificado inclui regras especificas para inclusao e recompensas de tios. Os tios devem ser filhos diretos de um ancestral do bloco atual (entre 2 e 7 geracoes atras), devem ser cabecalhos de bloco validos, devem ser distintos de tios anteriores e nao devem ser ancestrais diretos do bloco atual. Os blocos tio recebem 87.5% da recompensa padrao de bloco, enquanto o bloco que os inclui recebe um adicional de 3.125% por cada tio incluido (ate dois tios). Essa estrutura de incentivos encoraja os mineradores a referenciar blocos obsoletos que observam, fortalecendo a seguranca da rede enquanto recompensa mineradores que tiveram ma sorte temporaria com a propagacao da rede.
O sistema de taxas e baseado no conceito de "gas", onde cada operacao computacional tem um custo fixo em gas. Por exemplo, uma operacao de multiplicacao custa 5 gas, um hash SHA256 custa 20 gas, e cada transacao tem um custo base de 21.000 gas. Os usuarios especificam tanto um limite de gas (maximo de gas que estao dispostos a consumir) quanto um preco de gas (quanto ether pagarao por unidade de gas). Esse sistema serve a multiplos propositos: previne loops infinitos e ataques de negacao de servico garantindo que toda computacao seja paga, cria um mercado para espaco de bloco onde os usuarios fazem lances via precos de gas, e permite que mineradores definam um preco minimo de gas que estao dispostos a aceitar, protegendo os recursos da rede.

A escalabilidade continua sendo uma preocupacao significativa, ja que cada no completo deve processar cada transacao para verificar o estado. As arquiteturas blockchain atuais lutam para igualar o throughput de transacoes dos sistemas centralizados. Solucoes potenciais incluem sharding de estado, onde diferentes nos processam diferentes subconjuntos de transacoes, e uma transicao de proof of work para consenso proof of stake, que poderia permitir producao de blocos mais eficiente. Clientes leves usando provas de Merkle podem verificar transacoes sem processar todos os blocos, mas alguem ainda precisa processar tudo. Esses desafios de escalabilidade representam areas ativas de pesquisa e desenvolvimento criticas para a viabilidade de longo prazo do Ethereum.
Miscellanea And Concerns
Ethereum के संशोधित GHOST प्रोटोकॉल के कार्यान्वयन में uncle समावेश और पुरस्कारों के लिए विशिष्ट नियम शामिल हैं। Uncles वर्तमान block के पूर्वज के प्रत्यक्ष बच्चे होने चाहिए (2 से 7 पीढ़ियों के बीच), वैध block headers होने चाहिए, पिछले uncles से अलग होने चाहिए, और वर्तमान block के प्रत्यक्ष पूर्वज नहीं होने चाहिए। Uncle blocks मानक block reward का 87.5% प्राप्त करते हैं, जबकि शामिल करने वाला block प्रति uncle अतिरिक्त 3.125% प्राप्त करता है (अधिकतम दो uncles तक)। यह प्रोत्साहन संरचना miners को उनके द्वारा देखे गए stale blocks को संदर्भित करने के लिए प्रोत्साहित करती है, नेटवर्क सुरक्षा को मजबूत करते हुए उन miners को पुरस्कृत करती है जिन्हें नेटवर्क प्रसार में अस्थायी दुर्भाग्य का अनुभव हुआ।
शुल्क प्रणाली "gas" की अवधारणा पर आधारित है, जहां प्रत्येक कम्प्यूटेशनल ऑपरेशन की एक निश्चित gas लागत होती है। उदाहरण के लिए, एक multiplication ऑपरेशन की लागत 5 gas है, एक SHA256 hash की लागत 20 gas है, और प्रत्येक transaction की आधार लागत 21,000 gas है। उपयोगकर्ता gas limit (अधिकतम gas जो वे खपत करने को तैयार हैं) और gas price (प्रति gas इकाई कितना ether वे भुगतान करेंगे) दोनों निर्दिष्ट करते हैं। यह प्रणाली कई उद्देश्यों की सेवा करती है: यह सभी computation का भुगतान सुनिश्चित करके अनंत लूप और denial-of-service हमलों को रोकती है, यह block space के लिए एक बाजार बनाती है जहां उपयोगकर्ता gas prices के माध्यम से बोली लगाते हैं, और यह miners को न्यूनतम gas price सेट करने की अनुमति देती है जिसे वे स्वीकार करने को तैयार हैं, नेटवर्क संसाधनों की रक्षा करती है।

Scalability एक महत्वपूर्ण चिंता बनी हुई है, क्योंकि प्रत्येक पूर्ण node को state सत्यापित करने के लिए प्रत्येक transaction को प्रोसेस करना होगा। वर्तमान blockchain आर्किटेक्चर केंद्रीकृत प्रणालियों के transaction throughput से मिलान करने में संघर्ष करते हैं। संभावित समाधानों में state sharding शामिल है, जहां विभिन्न nodes transactions के विभिन्न उपसमूहों को प्रोसेस करते हैं, और proof-of-work से proof-of-stake consensus में संक्रमण, जो अधिक कुशल block उत्पादन सक्षम कर सकता है। Merkle proofs का उपयोग करने वाले light clients सभी blocks को प्रोसेस किए बिना transactions को सत्यापित कर सकते हैं, लेकिन किसी को फिर भी सब कुछ प्रोसेस करना होगा। ये scalability चुनौतियां Ethereum की दीर्घकालिक व्यवहार्यता के लिए महत्वपूर्ण अनुसंधान और विकास के सक्रिय क्षेत्रों का प्रतिनिधित्व करती हैं।
Conclusion
O protocolo Ethereum foi originalmente concebido como uma versao aprimorada de uma criptomoeda, fornecendo recursos avancados como garantias on-blockchain, limites de saque e contratos financeiros atraves de uma linguagem de programacao altamente generalizada. No entanto, o protocolo Ethereum vai muito alem de apenas moeda. Os protocolos em torno de armazenamento descentralizado de arquivos, computacao descentralizada e mercados de predicao descentralizados, entre dezenas de outros conceitos, tem o potencial de aumentar substancialmente a eficiencia da industria computacional e fornecer um impulso massivo para outros protocolos peer-to-peer ao adicionar pela primeira vez uma camada economica.
Em vez de fornecer um conjunto limitado de operacoes projetadas para casos de uso especificos, o Ethereum fornece uma linguagem de programacao Turing-completa que permite aos desenvolvedores construir qualquer aplicacao que possam projetar. Quer inventar seu proprio derivativo financeiro? Criar sua propria moeda? Estabelecer um governo na blockchain? Tudo isso e trivialmente implementavel com o sistema de scripting do Ethereum. O poder da plataforma nao reside em prever quais aplicacoes serao construidas, mas em fornecer a infraestrutura fundacional que torna facil construi-las.
O conceito de uma funcao de transicao de estado arbitraria implementada pelo protocolo Ethereum fornece uma plataforma com potencial unico. Em vez de ser um protocolo fechado, de proposito unico, destinado a aplicacoes especificas em armazenamento de dados, apostas ou financas, o Ethereum e aberto por design, e acreditamos que e extremamente adequado para servir como camada fundacional para um grande numero de protocolos tanto financeiros quanto nao financeiros nos anos vindouros. As aplicacoes que serao construidas sobre o Ethereum no futuro podem ser aquelas que nem podemos imaginar hoje, e essa possibilidade aberta representa a verdadeira promessa da plataforma.
Conclusion
Ethereum प्रोटोकॉल मूल रूप से एक cryptocurrency के उन्नत संस्करण के रूप में कल्पना किया गया था, जो एक उच्च सामान्यीकृत प्रोग्रामिंग भाषा के माध्यम से on-blockchain escrow, निकासी सीमा, और वित्तीय contracts जैसी उन्नत सुविधाएं प्रदान करता था। हालांकि, Ethereum प्रोटोकॉल केवल मुद्रा से बहुत आगे जाता है। विकेंद्रीकृत फ़ाइल स्टोरेज, विकेंद्रीकृत computation, और विकेंद्रीकृत prediction markets के आसपास के प्रोटोकॉल, दर्जनों अन्य अवधारणाओं के साथ, कम्प्यूटेशनल उद्योग की दक्षता को काफी बढ़ाने और पहली बार एक आर्थिक परत जोड़कर अन्य peer-to-peer प्रोटोकॉल को एक बड़ा बढ़ावा प्रदान करने की क्षमता रखते हैं।
विशिष्ट उपयोग मामलों के लिए डिज़ाइन किए गए ऑपरेशनों का एक सीमित सेट प्रदान करने के बजाय, Ethereum एक Turing-complete प्रोग्रामिंग भाषा प्रदान करता है जो डेवलपर्स को कोई भी अनुप्रयोग बनाने में सक्षम बनाता है जिसे वे डिज़ाइन कर सकें। अपना स्वयं का वित्तीय derivative आविष्कार करना चाहते हैं? अपनी स्वयं की मुद्रा बनाना चाहते हैं? Blockchain पर एक सरकार स्थापित करना चाहते हैं? ये सभी Ethereum की स्क्रिप्टिंग प्रणाली के साथ सरलता से कार्यान्वित करने योग्य हैं। प्लेटफॉर्म की शक्ति यह भविष्यवाणी करने में नहीं है कि कौन से अनुप्रयोग बनाए जाएंगे, बल्कि मूलभूत अवसंरचना प्रदान करने में है जो उन्हें बनाना आसान बनाती है।
Ethereum प्रोटोकॉल द्वारा कार्यान्वित एक मनमाने state transition function की अवधारणा अद्वितीय क्षमता वाला एक प्लेटफॉर्म प्रदान करती है। डेटा स्टोरेज, जुए, या वित्त में विशिष्ट अनुप्रयोगों के लिए एक बंद-अंत, एकल-उद्देश्य प्रोटोकॉल होने के बजाय, Ethereum डिज़ाइन द्वारा खुले-अंत वाला है, और हम मानते हैं कि यह आने वाले वर्षों में बड़ी संख्या में वित्तीय और गैर-वित्तीय दोनों प्रोटोकॉल के लिए एक मूलभूत परत के रूप में सेवा करने के लिए अत्यंत उपयुक्त है। भविष्य में Ethereum पर बनाए जाने वाले अनुप्रयोग ऐसे हो सकते हैं जिनकी हम आज कल्पना भी नहीं कर सकते, और वह खुली संभावना प्लेटफॉर्म का वास्तविक वादा है।
References and Further Reading
O whitepaper do Ethereum se baseia em um extenso trabalho previo em pesquisa de criptomoedas e sistemas distribuidos. O protocolo fundacional do Bitcoin e descrito no artigo original de 2008 de Satoshi Nakamoto "Bitcoin: A Peer-to-Peer Electronic Cash System", que introduziu o conceito de moeda digital baseada em blockchain. As primeiras tentativas de estender a funcionalidade do Bitcoin incluem o Namecoin, um sistema de registro de nomes descentralizado que demonstra aplicacoes de blockchain alem da moeda, embora limitado pelas capacidades restritas de scripting do Bitcoin.
O whitepaper de colored coins propos um metodo para representar ativos alternativos na blockchain do Bitcoin "colorindo" bitcoins especificos para representar outros ativos, enquanto o Mastercoin tentou criar uma camada de protocolo sobre o Bitcoin para instrumentos financeiros mais complexos. Ambos destacaram as limitacoes de construir sobre o Bitcoin e motivaram a necessidade de uma plataforma mais flexivel. O conceito de corporacoes autonomas descentralizadas, explorado na Bitcoin Magazine, forneceu fundamentos teoricos para governanca organizacional atraves de smart contracts.
Os componentes tecnicos chave incluem verificacao de pagamento simplificada (SPV) para clientes leves, Merkle trees para verificacao eficiente de dados e Patricia tries para a representacao de estado do Ethereum. O protocolo GHOST (Greedy Heaviest Observed Subtree), descrito em um artigo de criptografia de 2013, aborda problemas de seguranca que surgem de tempos de bloco rapidos e forma a base do mecanismo de consenso do Ethereum. Essas referencias representam os fundamentos intelectuais sobre os quais o Ethereum foi construido, combinando conhecimentos de criptomoedas, sistemas distribuidos, criptografia e teoria dos jogos para criar uma plataforma blockchain de proposito geral.
References and Further Reading
Ethereum whitepaper cryptocurrency और वितरित प्रणालियों के अनुसंधान में व्यापक पूर्व कार्य पर आधारित है। मूलभूत Bitcoin प्रोटोकॉल का वर्णन Satoshi Nakamoto के मूल 2008 पेपर "Bitcoin: A Peer-to-Peer Electronic Cash System" में किया गया है, जिसने blockchain-आधारित डिजिटल मुद्रा की अवधारणा पेश की। Bitcoin की कार्यक्षमता का विस्तार करने के शुरुआती प्रयासों में Namecoin शामिल है, एक विकेंद्रीकृत नाम पंजीकरण प्रणाली जो मुद्रा से परे blockchain अनुप्रयोगों को प्रदर्शित करती है, हालांकि Bitcoin की प्रतिबंधित स्क्रिप्टिंग क्षमताओं द्वारा सीमित।
Colored coins whitepaper ने विशिष्ट bitcoins को अन्य संपत्तियों का प्रतिनिधित्व करने के लिए "coloring" करके Bitcoin blockchain पर वैकल्पिक संपत्तियों का प्रतिनिधित्व करने की एक विधि प्रस्तावित की, जबकि Mastercoin ने अधिक जटिल वित्तीय साधनों के लिए Bitcoin के ऊपर एक प्रोटोकॉल परत बनाने का प्रयास किया। दोनों ने Bitcoin पर निर्माण की सीमाओं को उजागर किया और एक अधिक लचीले प्लेटफॉर्म की आवश्यकता को प्रेरित किया। Bitcoin Magazine में खोजी गई विकेंद्रीकृत स्वायत्त निगमों की अवधारणा ने smart contracts के माध्यम से संगठनात्मक शासन के लिए सैद्धांतिक आधार प्रदान किया।
प्रमुख तकनीकी घटकों में light clients के लिए simplified payment verification (SPV), कुशल डेटा सत्यापन के लिए Merkle trees, और Ethereum के state प्रतिनिधित्व के लिए Patricia tries शामिल हैं। 2013 के एक cryptography पेपर में वर्णित GHOST (Greedy Heaviest Observed Subtree) प्रोटोकॉल तेज block समय से उत्पन्न सुरक्षा मुद्दों को संबोधित करता है और Ethereum के consensus तंत्र का आधार बनाता है। ये संदर्भ उन बौद्धिक नींवों का प्रतिनिधित्व करते हैं जिन पर Ethereum बनाया गया था, एक सामान्य-उद्देश्य blockchain प्लेटफॉर्म बनाने के लिए cryptocurrency, वितरित प्रणालियों, cryptography, और game theory से अंतर्दृष्टि को जोड़ते हुए।