Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how to read web pages from rholang smart contracts? build a market for consensus (oracle) #28

Open
6 tasks
dckc opened this issue Nov 5, 2020 · 3 comments

Comments

@dckc
Copy link

dckc commented Nov 5, 2020

Description: suppose I want to verify someone's identity by issuing a challenge (a large random number) and having them show proof of authority of their linkedin profile by putting that number into their profile. How can I tell, from an rchain contract, if the profile was updated?

In traditional programming languages, we'd use http(s) to read the web page. But that's not so straightforward on the blockchain where computation has to be independently verifiable. A web page might change between when one validator reads it and another. This is known as the oracle problem.

Various sophisticated solutions to this problem have been proposed and even built, but one simple approach is: start by paying people to read web pages. People who do it faster and more reliably should earn more reward, so they are inherently motivated to automate the solution. (This approach extends beyond ingesting data from web pages to any data that you might want ingested into the blockchain.)

In the example above, I might offer $1 for an answer to "does 32432 occur on linkedin.com/bob ?" and pay out only if at least 3 independent reputable parties agree. But how can we tell that answers are coming from independent parties? That is: how can we protect against a Sybil attack?

We can start with the 100+ registered members of the RChain cooperative. (And/or registered participants in the hackathon.)

For its 2020 annual meeting, the RChain cooperative instituted a process of registering REV addresses for its members. These members have been through an identity verification process that ensures that each member is distinct from all the others. Hackathon registration isn't as thorough but it should work fine for demonstration purposes.

Motivation/Impact/Importance: Oracles are a key to many blockchain applications; for example, the covid-19 "results focused" incentive discussed in the Oct 28 community debrief.

Completion/Success Criteria:

  • a set of contracts that
    • lets anyone offer a reward for answering questions from the web or other sources that rewards prompt agreement.
    • lets any registered participate submit answers and be rewarded for prompt answers that agree with other answers
  • a user interface for interacting with these contracts to build markets

Bonus points:

  • governance for the participants to admit additional parties to the market
  • a staking / reputation system to reward building brand / reputation and penalize incorrect answers

Link to specs and additional info:

Mentors: @dckc (@nzpr? @jimscarver ?)

Team :

Skills: rholang, web development

RChain Priority:

@dckc
Copy link
Author

dckc commented Nov 5, 2020

https://www.publiceditor.io/faq looks interesting, but they don't seem to have economic incentives integrated. We could perhaps borrow some of their governance structures etc.

@dckc
Copy link
Author

dckc commented Nov 5, 2020

@dckc
Copy link
Author

dckc commented Nov 5, 2020

a natural source of data to ingest: COVID-19 pandemic in the United States - Wikidata

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant