Can ethereum process data that won't end up on the blockchain?

For example, can an ethereum miner download some file over bittorrent and verify it, without having to publish the file itself to the blockchain, but perhaps publishing the verification in a tx with some contract?

Answers

  • chris613chris613 Member Posts: 93 ✭✭
    Ethereum itself, in terms of contracts, transaction verification, and the blockchain, no. A custom application built on libethereum could certainly do exactly what you describe, though. You'd essentially be interfacing an torrent client with an ethereum client, and maybe using a hash you found on the blockchain to find a tracker-less torrent from the DHT network, and then, if it suits your application (though I'm having trouble imagingin the scenario you have in mind), you can certainly "verify" that file and report back to a contract via ethereum.
  • work2heatwork2heat Member Posts: 8
    edited April 2014
    suppose I want to monetize bittorrent seeding with a currency on ethereum. I need ethereum to be able to verify that the node is in fact hosting the content he says he is. if ethereum doesnt handle the verification itself, im afraid it can be spoofed. of course, I'm trying to keep the data itself off the ethereum block chain.
  • chris613chris613 Member Posts: 93 ✭✭
    You can have every downloader report success back to the contract once they have received the block they asked for. Once some criteria surrounding the reports are met, funds could be released to the seeder. You would also need to add some way to incentivize the downloaders to report accurate results, though.
  • work2heatwork2heat Member Posts: 8
    "You would also need to add some way to incentivize the downloaders to report accurate results, though. "

    Exactly. this is the tricky bit :)
  • chris613chris613 Member Posts: 93 ✭✭
    The ethereum whitepaper actually discussed this topic from a slightly different angle. The idea described is to incentivise proof of storage and then reward successful downloading by paying per block as you go, limiting counter-party risk.

    https://github.com/ethereum/wiki/wiki/[English]-White-Paper#decentralized-file-storage
  • lunchtimelunchtime VancouverMember Posts: 11
    You may need a plugin for the torrent client to report the MD5 hash back to the contract as proof, or a query to the tracker with the seeder's ID. I'm sure it can be done, and I like your idea :)
  • robmyersrobmyers Member Posts: 65 ✭✭✭
    If the torrent is its own reward, that's an incentive. ;-)
  • JasperJasper Eindhoven, the NetherlandsMember Posts: 514 ✭✭✭
    If you have something like a DHT, like bittorrent magnet links, you can refer to them in contracts. That way, clients can have access to it but not contracts. (contracts can only do things that are in the protocol) Here is a project doing this.

    No matter how the file is distributed, sharing files off-blockchain can be used on-blockchain using a Merkle tree, and storing the root to the merkle tree. Clients might be able to prove that parts of the file have some value. For example of a use is that someone makes a name registry, promising all users of the current DNS system that they can get their name registered, if they prove they own the corresponding domain name. However, it would be probitive to store all the domain names in the contract. But a file can be distributed with the domain names the contract accepts, and it can be proven that a particular domain name is on the list.

    Limitations are that the contract cannot assure that the file is actually distributed, and i currently dont see a way to prove that something is not in the file. Especially the former limits the usefulness of 'hanging blocks'.

Sign In or Register to comment.