Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Edmund Edgar
    @edmundedgar
    So there are 2 different ways a contract can use realitycheck: It can either tie to a particular question ID, which implies a particular arbitrator, or it can tie to the content hash, which can be asked multiple times with different arbitrators. But with subjectivocracy, you need to be able to get an answer on any given branch, and you can't guarantee that the branch has the arbitrator you chose whitelisted, so you instead use the content hash, then a minimum bond and timeout. This is what getFinalAnswerIfMatches() is for.
    josojo
    @josojo
    Need to read getFinalAnswerIfMatches again. But in my implementation, there is a guarantee that the arbitrator nr n will be there. You don't know who will have the nth place on the arbitrator list, but you know that there will be one.
    it could also happen that a arbitrator is delisted without a substitution, but then that would correspond to the same event as the arbitrator corresponds "invalid".
    In the normal case, arbitrator would just be replaced with another arbitrator. Someone who would give the right answer to the question.
    Edmund Edgar
    @edmundedgar
    Hang on, so what are you actually setting as the arbitrator to realitycheck? Not the actual arbitrator but a wrapper contract for it?
    josojo
    @josojo
    yes, a number on the arbitratorlist
    it's no longer an "address', but a number in the list
    My assumption is that arbitrators stay in the list and keep their listing nr on the arbitrator list, until they make some bad decision. So, if a question is asked against a nr in the list, you will get the answer of this specific arbitrator, unless he reported something bad while your question was open.
    That means your question will only not be arbitrated by the "predefined" arbitrator, if the arbitrator had a reputation lost anyways.
    josojo
    @josojo
    I mean the arbitrator wrapper mechanism has advanatages and disadvantages. Disadvantages: wrapper could change the arbitrator and you question could be answered by someone else. Advantage: If the original arbitrator can no longer arbitrate (maybe be has a lawsuit or lost his private keys, still another arbitrator could be elected to arbitrate the bets made for a specific questionID.
    Edmund Edgar
    @edmundedgar
    Right, so I'm actually envisaging arbitrator contracts representing multiple parties, eg 3 companies, any 2 can settle, after a timeout any 1 can settle etc. And depending on the contract there may be a provsion for 2 arbitrators to replace the key of the third. But the thinking is that the user knows in advance who they are, or what their rules are.
    josojo
    @josojo

    If one does not use a wrapper for the arbitrator, this has one additional significant disadvantage:
    Let's look at your example again:

    • Weather insurance contract wants to know the weather as of day 10
    • You make your insurance agreement on branch A of reality token on day 1
    • Somebody makes a Reality Check question backstopped by arbitrator X, maybe someone else makes a different question backstopped by arbitrator Y
    • On day 10, the answer is reported by the Reality Check Arb X question and the Reality Check Arb Y question. For these purposes it doesn't matter whether it was reported by somebody posting the highest bond, or whether someone asked the selected arbitrator to settle it
    • On day 10, there is a branch A-A with arbitrator X, and a different branch A-B with arbitrator Y
    • You can claim the funds from the weather contract on branch A-A, and also on branch A-B. If arbitrators X and Y gave different responses, maybe different parties will be claiming the funds on those different branches

    If the arbitrator X was a good arbitrator over many years, but suddenly turns malicious between day 1 and 10, then the all the people bet on his correct answer in realitycheck will loose their money. RealityToken would only ensure, that the people bet on the weather contract get the right answer. But people betting in realitycheck on arbitrator X would loose their money, right? (They transfer money on branch A, and not matter whether branch A-A or branch A-B is valid, they will not regain access to these transfered realityTokens )
    In my wrapper approach, even the bets on realitycheck will be secured by the realitytoken approach.

    Edmund Edgar
    @edmundedgar
    Yes, that's correct, my realitytoken requires participants to trust the arbitrator, whereas in theory the subjectivocracy approach could avoid the need to do that. But I think this is practical in that not everyone is going to want to go for the subjectivocracy approach, and it's probably harder to convince arbitrators to do this if they're getting paid in this very experimental token.
    For people who are convinced the subjectivocracy will work, I guess it should be fairly straightforward to make a way to insure against an arbitrator going bad
    josojo
    @josojo
    the arbitration fee could still be paid in a normal currency. Only the bets should be in realityTokens. The great thing about realityToken is that not the bbc or thomas reuter needs to be arbitrators, but people could even trust me with this approach. So convincing crypto geeks to become arbitrators should not be hard.
    Insurance has the disadvantages that it always costs some money.
    :) these fundamental decision are soo hard to make. Everything has advantages and disadvantages
    Edmund Edgar
    @edmundedgar
    yup
    maybe worth coding them both up including our sample weather insurance contract or whatever and seeing what they both look like
    josojo
    @josojo
    Yes, this would help to think things through
    You made already some example. Do you have the wheather insurance contract as an example as well?
    Edmund Edgar
    @edmundedgar
    no, I can't remember what my example was
    josojo
    @josojo
    k
    josojo
    @josojo

    Over night I prepared a first look/draft of tokenized-events for the realitytoken eco system. It's super basic, but still I put some thought into it.
    https://preview.webflow.com/preview/alexander-herrmanns-first-project?preview=a3fa69b7a21677865395fe37a2eff727

    Contracts are also nearly finished.
    I hope that this enables everyone to quickly create long and short bets on any event. The long and short tokens could then be traded on exchanges like instex (it's like idex, but for arbitrary tokens.) This would have a much much better performance than any trading experience augur is offering their clients.

    Edmund Edgar
    @edmundedgar
    sweet, I'll take a proper look tomorrow
    josojo
    @josojo
    yeah, it's nothing special. It just gives me some imagination how it could look like/ work out
    Edmund Edgar
    @edmundedgar
    ah, it's gone...
    Edmund Edgar
    @edmundedgar
    I think I worked out how you could do a nice utxo system with this
    you could lock up some reality tokens from a particular branch in a different contract, which then starts making transactions looking like this:
    tx
    [
    -> input
    -> current_window
    -> arbitrator
    -> amount
    ]
    [
    -> output
    -> amount
    ]
    You could then validate a chain of utxos on any given future branch by making sure that each one has the full valid chain up to where you started, and that the arbitrator for that chain was on the whitelist at the right point
    If I've got this right, the chain should be unaffected by reorgs, unless the arbitrator that one of the utxos relied on had been removed by the reorg
    If you're using a utxo chain where all the arbitrators are valid, it wouldn't matter that there had been some reorg involving other arbitrators being added or removed
    Edmund Edgar
    @edmundedgar
    If I've got this right we could add this as a separate contract with no changes to our current reality token design
    probably a nice fit with plasma utxo chains, but I don't understand that stuff well enough to say
    josojo
    @josojo

    Ah, this solves the replication system within forward looking systems.
    In general I do not like utxo models, as you can not easily build smart contracts on them. Referring to some number stored in the realitytoken contract is so much easier than referencing to many utxos and splitting them.

    But the idea is good. Currently we are storing balance_changes(address=>amount), maybe we can store them differently balacne_changes(address=> arbitrator=>amount)
    ... hm just thinking out loud

    Edmund Edgar
    @edmundedgar
    whoa, maybe you're right
    josojo
    @josojo
    although this would make the amount_lookup costs higher
    if we want to know the amount stored on a person account, if we have more than 1 arbitrator
    Edmund Edgar
    @edmundedgar
    ah, yes, and also it breaks the layering, ie it builds in assumptions about how you settled your bet using a particular arbitrator
    (my utxo suggestion also does this, but I imagine it as a parallel system so the original one is still there)
    josojo
    @josojo
    I see
    josojo
    @josojo
    @edmundedgar Hey, could you please upload the code from London to github somewhere?Thank you
    Edmund Edgar
    @edmundedgar
    Yup, gimme a minute
    Edmund Edgar
    @edmundedgar
    btw I followed your example on structuring the realitio repo, now has an npm package called realitio-contracts etc https://github.com/realitio
    I've been cleaning up the token contract so it compiles etc, will also put it there with some examples reading the realitio code from the npm repo like you do with gnosis-contracts
    josojo
    @josojo
    great! thank you
    josojo
    @josojo

    @edmundedgar
    I am currently reading the book, the intelligent investor from graham, a very old classic. He keeps on pointing out that investing in assets such as gold is not so favorable, because gold is just a collectible and is not "working for you", as stocks do.
    Bitcoin and other cryptocurrencies are in some manner also just a collectible. The thought, which is kinda stuck in my head, is that actually, we do not need any cryptocurrency to keep a decentralized worldcomputer running.
    We could also create a decentralized index fond (DIF100) on ethereum, which would hold the top 100 most valuable ico's ( like the Nasdaque 100). This DIF100 could be a smart contract that holds these top 100 ico coins and issues DIF100-tokens representing an owernship in all the top 100 tokens.
    Now, these DIF100-tokens could be used for staking and for paying fees on the blockchain. And suddenly there is no longer any need for any cryptocurrencies.
    I think this is very valuable idea, as index fonds are just the better investment compared to a cryptocurrency, a collectible.

    Why do I write this to you? Because it also applies to the realitytoken concept. We could also create an index fund of companies, which profit from some oracle businesses. All these companies could issue some kind of token, which support the fork-economics protocol. I.e. they are easily forkable on the blockchain using subjectivocracy. These companies could be bundled in a decentralized forkable index fond (DFIF100). The tokens of the DFIF100 could then be used instead of realitytokens. This would give users of the eco system a much better protection, as DFIF100 would be a better investment as realitytokens.

    Edmund Edgar
    @edmundedgar
    wow, yes, I assumed every transaction using the subjectivocracy system would have to use the subjectivocracy token, but you're right, anybody could issue their token on a subjectivocracy system...