Here were mine
Here were a few of mine, I’ve tried to get into ethereum a couple times
- installing mist and getting it to sync is very difficult and time consuming
- connecting to a testnet and getting ether on the testnet is also very difficult
- most ‘cool’ dapp ideas rely on oracles to publish data about the real world into the block chain. When you dive into it you realize that such an Oracle would be very very expensive to run for even trivial usecases.
> most ‘cool’ dapp ideas rely on oracles to publish data about the real world into the block chain. When you dive into it you realize that such an Oracle would be very very expensive to run for even trivial usecases.
For example, if the problem domain is football games and gambling, well, scraping the results of those games from existing apis isn't too hard nor expensive.
If it's based on real-world stuff with no existing consistent API (e.g. you want a app based on housing), you'll either need to build that API, find a company to research and enter the data, etc.
There are implementations like Chainlink running decentralized oracles. At the end of the day, the data-source is still the bottleneck but they try to discourage bad actors through e.g. reputation mechanisms.
An Oracle is just a program that movies data onto the blockchain for dapps to use.
The data is an input to a transaction that eventually results in the EVM storing that data into a contracts (dapps) memory (which you pay per byte) that can then be exposed to other dapps.
So both instructions and memory uses something called gas. Right now 1 gas = 0.00000002 eth.
Now a MUL costs 5 gas and a ADD costs 3 for example. So you have to pay for contract complexity.
Now memory costs are not linear. The current gas cost equation for memory is Gmem * a * (a^2/512) where Gmem is a constant that is currently 3 and 'a' is the number of 255bit words (ints) you are storing.
This is for EVM internal memory that can later be accessed by the smart contract or other contracts. There is a way for contracts to output data that can be read out-of-band called logs but that is for getting data out of the EVM, not in.