Bitcoin Forum
May 30, 2024, 01:33:06 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Is Ethereum essentially Bitcoin with a Turing-complete Script?  (Read 588 times)
Geremia (OP)
Sr. Member
****
Offline Offline

Activity: 505
Merit: 251


View Profile WWW
January 13, 2016, 06:55:12 PM
 #1

Is Ethereum essentially Bitcoin with a Turing-complete scripting language and, if I understand correctly, where the script to be executed (not its hash) is placed in the Ethereum blockchain?
  • If so, why doesn't Ethereum just put hashes of its scripts in the Bitcoin blockchain, send the scripts to be executed through another secure means such as via a P2P network (which would greatly reduce blockchain bloat), and avoid being an altcoin altogether?
  • If not, is the gas limit the real distinguishing feature of Ethereum compared to Bitcoin? Or is gas really Ethereum's equivalent of Bitcoin's transaction fees? Also, would Ethereum's adoption of proof-of-stake further differentiate Ethereum from Bitcon?
cf. Ethereum's white paper

(cf. the related Bitcoin StackExchange question)

BTC tip jar | my BTC wiki, BTC StackExchange | Tox ID: 65C3E8810738AD9D175234808FCB317A1103632903436203D45411AE97C03F54C34861AB6663
Join Kraken. | The best, free book on Bitcoin: Mastering Bitcoin
Nos cum prole pia benedicat Virgo Maria.
Geremia (OP)
Sr. Member
****
Offline Offline

Activity: 505
Merit: 251


View Profile WWW
January 14, 2016, 06:48:19 PM
 #2

Nick ODell answered this very well on Bitcoin StackExchange:
Quote from: Nick ODell
Quote from: Geremia
Is Ethereum essentially Bitcoin with a Turing-complete scripting language and, if I understand correctly, where the script to be executed (not its hash) is placed in the Ethereum blockchain?
That's a bit of a simplification, (Ethereum has other improvements like GHOST) but for our purposes (discussing how a Turing complete scripting language could be implemented) it's essentially accurate.
Quote from: Geremia
If so, why doesn't Ethereum just put hashes of its scripts in the Bitcoin blockchain, send the scripts to be executed through another secure means such as via a P2P network (which would greatly reduce blockchain bloat), and avoid being an altcoin altogether?
One of the important features of Ethereum is that you can condition spending funds on the output of a script. For example, you could write a lottery script that accepts money from a bunch of different people, and randomly sends all of the money to the winner. Imagine that we change this system so that only the hash of the script is included in the blockchain:

  • If it's not a consensus rule, then other nodes will accept a transaction that doesn't satisfy the attached script. In other words, if nodes can't see the entire script, how can a node know whether someone claiming the lottery winnings is actually authorized to do that?
  • If it is a consensus rule, that introduces a new set of problems. First, in order to tell if a block is valid, you need to download the scripts from the P2P network, and check that all of the scripts are valid. That increases the amount of time it takes to verify blocks, and therefore increases the amount of orphan blocks.

    The second problem that this introduces is that full nodes synchronizing for the first time need these scripts, or they won't be able to check that the blocks are valid. Therefore, the scripts need to be stored indefinitely, in case new nodes join the network.

    This doesn't really solve the blockchain bloat - it just moves the problem around.

There's one more solution that does use the Bitcoin blockchain, though. You could follow Counterparty's example, and create a system where you send a Bitcoin transaction with additional metadata to identify it as a colored coin. You don't change transaction validity rules on the main network; rather, you say that if the transaction doesn't follow certain rules, then it is not a valid TuringCoin transaction for the purpose of establishing ownership of TuringCoins. (Other TuringCoin transactions within the same block would still be valid, though.)

That's not an altcoin in the traditional sense (you're using Bitcoin's blockchain, and you must pay Bitcoin transaction fees) but it is an altcoin in the sense that you're creating your own token that isn't fungible with Bitcoin.
Quote from: Geremia
If not, is the gas limit the real distinguishing feature of Ethereum compared to Bitcoin?
The gas limit in Ethereum is present for essentially the same reason that people have proposed making transactions in Bitcoin larger than 100KB invalid: otherwise, it becomes possible to create a block that takes a really long time to validate.

BTC tip jar | my BTC wiki, BTC StackExchange | Tox ID: 65C3E8810738AD9D175234808FCB317A1103632903436203D45411AE97C03F54C34861AB6663
Join Kraken. | The best, free book on Bitcoin: Mastering Bitcoin
Nos cum prole pia benedicat Virgo Maria.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!