How is Mining Verified/Secured?

SilentCiceroSilentCicero Toronto, CAMember Posts: 159 ✭✭✭
edited November 2014 in Mining
Before I begin, I Just want to say, that I'm both new to the Ethereum community and to Ethereum. I've spent the whole day reading and only feel like I've scratched the surface of this project. I'll be showing up to the next meetup here in Toronto for sure.

My first question is this:
When mining, is my CPU/Hard Drive/GPU kind of like computer power for hire... and my payment/incentive ETH? ** Kind of a renting of my resources. How is the verification of this even possible?

Say at a certain address I send a contract with some gas, is it the case that a miner will come along, accept to process that contract and as incentive, will receive ETH as payment. Am I on the right track here?


Cheers & thank you for furthering the decentralization of society--God's speed.
SC.

Comments

  • GeorgeHallamGeorgeHallam Member, Administrator, Moderator Posts: 229 admin
    edited November 2014
    Hi there and welcome to the community @SilentCicero!

    You've pretty much aced it understanding wise:

    When mining, is my CPU/Hard Drive/GPU kind of like computer power for hire... and my payment/incentive ETH?

    - Yes, though other tokens of value could also be created on top of Ethereum to incentivise CPU sharing for things other than securing the network, like lending power to SETI @Home :)

    The difficult part as you say is how can you prove all that is fair and no one is cheating the system. That is the main thing that Vitalik and Vlad are trying to crack by getting the proof of work algorithm right.

    Check out V's Formalising Distributed Consensus white paper.

    For the rented hard disk space, I guess you could create a hash from a piece of data, then check the hash again when you need to retrieve the information. This would allow you to identify your data as well as whether or not it had been tampered with (as the hash would have changed).


  • JasperJasper Eindhoven, the NetherlandsMember Posts: 514 ✭✭✭
    edited November 2014
    When mining, is my CPU/Hard Drive/GPU kind of like computer power for hire... and my payment/incentive ETH? ** Kind of a renting of my resources. How is the verification of this even possible?
    Depends on exactly what thing you are talking about.

    For blockchain Tried to explain here.. Not sure if i succeed to make it as easy as i wanted to.

    In the case of bitcoin, you have a function H(x) that is "psuedorandom, and hard to invert", you're trying to find an x so that H(x) is small enough to win. Basically you do this by trying a lot .So how does that prove you have handled any transactions? It doesnt! But then next to checking the score of that problem, nodes also check if all the things in the block were validly done. So then you need to have all that stuff done properly to gain anything for finding that low H(x). However, it does not prove that you did that computation to create a block. Indeed in bitcoin they usually dont, and large mining pools exist, were for each mining pool there are somewhat centralized block creators. There is still an extent of protection, as miners can switch pools. (edit: of course, people have looked at this, for instance considering use of random input to contracts as mining attempts, another approach is to try make the pooling less harmful)

    But blockchains arent the only thing where you can ask that question for. For instance there are proof-of-storage ideas, for instance the dropbox example. Actually if you have multiple takes, you dont know if they're cheating, and just have one copy. A solution is to have signatures "close to" important private keys of the participants. You then use some micropayment scheme for transfers.('use once on id', probabilistic payment) But i am sure there are more schemes out there than that!
  • SilentCiceroSilentCicero Toronto, CAMember Posts: 159 ✭✭✭
    Thanks @thehighfiveghost‌ "Check out V's Formalising Distributed Consensus white paper."

    I have my reading material for tonight.


    & Cheers @Jasper for the run through. "For blockchain Tried to explain here.. Not sure if i succeed to make it as easy as i wanted to."

    I'll be reading through this tonight aswell.

    Now, correct me if I'm wrong, but the merkle tree implementation in the blockchain will allow us to create new genesis blocks with relative ease?
  • JasperJasper Eindhoven, the NetherlandsMember Posts: 514 ✭✭✭
    I think genesis blocks with different states are easy to create anyway.

    Merkle trees are useful. For instance you could create a sub-name-registry called namecoin, with owners of names corresponding to original namecoin owners. None of the owners or names have to be listed; you just put in the merkle root, and people use software proving they own a name.

    You could do the same for ether ownership of the Ethereum genesis block, in principle.
Sign In or Register to comment.