Do you have to pay Gas if you create the smart contract?
You have to pay Gas when you deploy the smart contract, and when you interact with it.
Is there a cost to the Miners to keep their doors open?
The Miners are paying for their electricity and hardware costs. Power supplies, CPUs, and graphics cards will need to be maintained and upgraded for the Miners to stay operational and profitable, and these come at a significant cost right now.
Is Solidity native to only Ethereum?
Possibly, but if the blockchain has an Ethereum Virtual Machine, or any Ethereum Virtual Machine, you could compile Solidity down to its bytecode. It’s all in how you write the compiler.
Why is the blockchain not able to scale at this time?
The reason the blockchain is not able to scale currently is that the size of the blocks are increasing and the time that it takes to broadcast the block to the network is also increasing. So let’s say I mine a really small block and sent that to the network, others can download it and verify it really quickly because it is tiny, say about 2 bytes, but if I mine a very large block with a lot of transactional data in it that is 8 megabytes in size, that takes a bit longer for people to download.
If I just want to keep scaling, and I say ‘Hey, let’s have a block that’s a gigabyte in size, and we can include all the transactions that might be necessary’ it is going to take people much much longer. When people don’t have the current block, they are building on an old chain. When they build on an old chain and they then send the block to the network and they say ‘Hey, this is actually the real chain.’ the Miners who have the current block are going tto say ‘No, it’s actually not.’ and their block is going to get rejected and they have wasted all that electricity mining on an old block when they could have been mining on a new block.
So for that reason, Miners probably wouldn’t want to participate in a blockchain that was like that. They would most likely lose money. That’s one reason, but there are tonnes of other that we don’t need to get into. So solving the problem of scaling is quite difficult.
What’s the difference between Gas and Ether?
Gas is a fixed unit. The bytecode you saw on the previous page for the illustrated contract, that bytecode is translated by the Ethereum Virtual Machine into machine code instructions. If you have never seen machine code instructions it’s like interacting with memory directly.
Each of those instructions has a static Gas cost. So let’s say an ‘add’ instruction costs 100 Gas, a ‘multiple’ instruction costs 1,000 Gas, that then creates the Gas cost, as a fixed Gas cost for a transaction. So if you’re doing the same transaction over and over, it’s going to cost the same in Gas. That Gas is related to Ether by a floating value called ‘Gas Price’ which is in a roundabout way set by Miners. The Miners say how much Ether by units of Gas they are willing to accept to mine a transaction. You can find out how much Gas is currently required per transaction on ETH Gas Station.
How complex can a smart contract be?
It can essentially be as complex as the block Gas limit. So there is a limit on the units of Gas that can currently go in a block on Ethereum, which I think is about 8 million Gas, if you build a contract that has a function that tries to use more than 8 million units of Gas, by virtue of all the machine code instructions that it is using, it can’t execute.
Would it be fair to describe a DAO as a series of smart contracts, or is a DAO a distinctly different thing?
It wouldn’t be fair to describe a DAO (Decentralised Autonomous Organisation) as a series of smart contracts, but you could make a DAO with a series of smart contracts. You can have a DAO without any smart contracts, but you can make one with a series of smart contracts. Linguistically it’s not a series of smart contracts, but you can make one with a series of smart contracts.
Is Bitcoin riding on the Ethereum network?
Can you kill a contract?
Yes, you just need to write in the suicide instruction into the code, then you have to call it. This needs to be done before you deploy the contract. You can’t write a suicide instruction into a contract after it has been deployed. Once you have sent it out into the wild, it’s out there in that form and is unchangeable, you can’t update it after the fact. And that’s good because if the suicide instruction is written into the contract and people can see that it could die at any point, they are less likely to experience a loss through unwittingly leaving money in it. If you don’t write a suicide instruction into the contract it can never die, and that may be a good thing too. It depends on the purpose and the function of the contract.
Is there a limit to the number of smart contracts you can put onto Ethereum?
Probably, technically no. It would depend on the capacity of people’s storage that the blockchain is stored on. Currently, the Ethereum blockchain, if you download all of it, is about 160 gigabytes, maybe more. That’s a full node with all of the ancient blocks, however, a lot of the node software does include this thing called ‘pruning’ which means you only need to store the last 20 or 30 states of the blockchain. If you need to go through the archives you can, but it’s heavily pruned so the instant access is only for the last 20 states.
Why would I write a smart contract if the money goes to the Miners? In my smart contract disrupts, for example, Uber, if I don’t get paid for writing the smart contract, why do it?
This is exactly the reason why tokens and ICOs (Initial Coin Offerings) exist. People build a token, they make it integral to that smart contract, they make it so that you cannot use that smart contract without that token, and then they sell it to a bunch of people and they make a lot of money. That’s kind of how to distinguish between a good token model and a bad token model as well. The use case is very important. The token needs to be required to use the platform, and the platform needs to be necessary and useful.
But someone could still take my idea and copy it, market it really well and effectively steal my idea?
They could steal your idea, but a lot of these are built on network effects, which is that ‘We have the best Developers. We have all of the people that are going to make this thing a success. You should trust us and buy our token instead of someone else’s.’ So the reason they would trust your company is for the network effects.
There’s nothing really stopping someone doing that?
Correct. There’s nothing stopping someone using the same tech as Uber and releasing it, but you would use Uber because it has more Drivers.
Is there a way to stop a smart contract, say if someone hires a Hitman or an Assasin, how can you stop that. Can Developers do something?
Developers can’t stop a ‘bad’ smart contract. This is where it gets kind of crazy-interesting I suppose, good and bad are concepts, right? Miners technically could blacklist transaction to that address and they could refuse to mine them. It’s not in their best interests to do so, because someone using the network to hire a hitman may be prepared to pay a lot of money to get somebody killed. The thing is with blockchain is that you have to tell them what the truth is.
I was at a talk of Vitalik Buterin’s where somebody asked him a similar question, and what he said was ‘If somebody put a hit on me, I would just go to the Police and say ‘Hey, Policeman, will you just say to this smart contract that I’m dead, and then we’ll just split the money?’. Smart contracts don’t know what is happening in the real world, you have to tell them. So you could just find someone who is willing to pretend that you’re dead, and you split the money.
Is Ethereum’s value proposition that you can build on top of it?
Pretty much, yes.
A bank can reverse a transaction after it has been transmitted, whereas Ethereum can’t, so what happens in a case of ‘error’, can you transmit a second contract that will make the first one redundant?
No, once you have transmitted a contract it cannot be undone.
Why is the price of Ether going up?
I can’t give financial advice, if we had to speculate, I would say ‘speculation’.
Is there a hard limit on the number of Ether?
Not technically a hard limit, there is a theoretical limit of 118 million or something like that, but there have been conversations around having an inflation policy because if we want to use Ether for anything useful then it would be handy if it stayed stable, and it didn’t keep jumping in price and the Gas doesn’t keep jumping in price. Yes, there is no hard limit, there is a sort of soft limit, but there are also talks to have inflation. It may or may not happen. No one really knows.
How would inflation happen?
Inflation would happen by a hard fork, changing the protocol. There would simply be more coins added. Hopefully, this helps you understand the answer to your question ‘What is Ethereum?’