[{"data":1,"prerenderedAt":246},["ShallowReactive",2],{"project-10123375":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":42,"post_text":44,"what":45,"said":64,"maker_in_thread":141,"shape":153,"grid":156,"attempts":207,"same_week":208,"maker_shows":37,"maker_hidden":238,"reader_version":239,"card":240},"10123375","EtherPot","A decentralized, autonomous, provably fair lottery","title","Show HN: EtherPot – A decentralized, autonomous, provably fair lottery","http:\u002F\u002Fetherpot.github.io\u002F","etherpot.github.io","aakilfernandes",1440601702,2015,61,25,465,2565,19,"notable","finance_crypto","blockchain lottery","web_app",[24,25,26,27],"ethereum lottery","smart contract","provably fair","decentralized gambling","roasted",-0.143,{"positive":31,"neutral":31,"mixed":32,"critical":33},3,0,6,12,{"privacy":36,"performance":38,"idea":39,"docs":40},{"positive":32,"critical":37},2,{"positive":32,"critical":37},{"positive":37,"critical":32},{"positive":41,"critical":32},1,[41,32,41,32,41,32,32,32,43,43,41,41,31,32,32,32,32,32,32,43,41,32,31,32,31],5,null,{"problem":46,"audience":44,"pricing":53,"motivation":44,"time_to_build":44,"stack":57,"openness":62,"stage":63,"team_size":62},{"value":47,"source":48,"evidence":49},"Running a lottery where no one can steal funds or rig the winner.","maker",[50],{"id":51,"by":11,"text":52},"10123400","Hey everyone, EtherPot is a smart contract on the Ethereum Blockchain. That means that no one can steal the funds or cheat to win. The lottery is provably fair. 100% of finds…",{"value":54,"source":48,"evidence":55},"Entry tickets; 100% of pot returned to players except transaction costs.",[56],{"id":51,"by":11,"text":52},[58],{"value":59,"source":48,"evidence":60},"Ethereum smart contract",[61],{"id":51,"by":11,"text":52},"unknown","launched",{"praise":65,"objections":86,"requests":122,"questions":123,"alternatives":129},[66],{"value":67,"source":68,"evidence":69},"Clear explanation of Ethereum and the idea is exciting.","commenter",[70,74,78,82],{"id":71,"by":72,"text":73},"10125343","vdaniuk","This is fantastic, straight from cyberpunk stories! Thanks for a reason to look into ethereum.",{"id":75,"by":76,"text":77},"10125494","nickpsecurity","Thanks for the English description for the rest of us. :)",{"id":79,"by":80,"text":81},"10126540","Nadya","In one paragraph you've given me a better understanding of Ethereum than several blog posts and even the Ethereum website itself. Good job and thank you.",{"id":83,"by":84,"text":85},"10148441","tinybike","Wow, that's a really good, easy-to-understand description of Ethereum.",[87,103,111],{"value":88,"source":68,"evidence":89},"Winner selection via block hash modulo ticket count is biased.",[90,94,97,100],{"id":91,"by":92,"text":93},"10126079","doomrobo","This is really cool, but I think there might be issues with this: 1) The \"random\" selection of a winner seems to come from the modulo of the hash of a determinidtically selected…",{"id":95,"by":92,"text":96},"10126233","Ah, gotcha. I'll try to explain and correct my claimed in #2. So the winning ticket index is chosen as H % n (read: H mod n) where H is a uniformly distributed number between 0…",{"id":98,"by":92,"text":99},"10136114","I think the bias is much greater than that. The number of \"extra chances\" that are created from random H and the number of tickets n is 2^256 mod n. So if there are 6 tickets in…",{"id":101,"by":92,"text":102},"10163475","My apologies. Yes that's correct. My mistake was reducing the set of choices to n + (|H| mod n). Your worst-case estimate of a total bias of n\u002F|H| seems to be correct. I guess…",{"value":104,"source":68,"evidence":105},"Miners could rig the outcome by withholding blocks.",[106,107],{"id":91,"by":92,"text":93},{"id":108,"by":109,"text":110},"10126098","coderzach","The entropy comes from the mined hash. Could a cartel of miners all decide to not submit hashes where they don't win? Wouldn't that make this technically exploitable?",{"value":112,"source":68,"evidence":113},"May be illegal gambling under US law.",[114,118],{"id":115,"by":116,"text":117},"10125477","computer","I have some questions about the legality: Since the miners mine this contract (or include it in the blockchain, or whatever it is for Ether), does that make them violate the…",{"id":119,"by":120,"text":121},"10125521","nadams","I think this would be illegal. Could this be considered a raffle?",[],[124],{"value":125,"source":68,"evidence":126},"Is it legal under gambling laws?",[127,128],{"id":115,"by":116,"text":117},{"id":119,"by":120,"text":121},[130],{"value":131,"source":68,"evidence":132},"Bitcoin scripting",[133,137],{"id":134,"by":135,"text":136},"10125487","Uptrenda","You have no idea how hard this would be to do with a normal blockchain OP. In fact, I have spent literal months just thinking of ways to hack Bitcoin to do more complex smart…",{"id":138,"by":139,"text":140},"10126521","FatalLogic","As I'm sure you know, Bitcoin's scripting language, as originally designed, is deliberately not Turing complete[1]. That's one of Ethereum's key points of difference with…",{"comments":142,"answered":37,"key":143},7,[144,147,150],{"id":145,"text":146},"10126147","1. By failing to submit a block, a miner loses the block reward of mining that block (5 ether). The lottery is set up in subpots of 5 ether each, and each subpot is decided by a…",{"id":148,"text":149},"10132072","Thanks for the detailed explanation, I never thought about this. If my understanding is correct, the overall level of bias is extremely small ~(total#oftickets\u002F2^256) but its…",{"id":151,"text":152},"10152181","I don't think your math is right there. You can check that by plugging in the values of a much simpler lottery. Imagine a lottery where instead of 2^256 there are only 100…",{"commenters":154,"max_depth":142,"maker_replies":142,"first_comment_mins":37,"lifespan_hours":155},14,182,[157,159,161,163,165,166,167,168,170,171,173,175,176,178,182,184,186,188,191,192,196,197,199,203,205],[91,32,41,158,92,32],"project\u002Fcritical\u002Fprivacy",[145,32,32,160,11,41],"maker\u002Fneutral\u002Fnone",[95,32,41,162,92,32],"project\u002Fcritical\u002Fperformance",[148,32,32,164,11,41],"commenter\u002Fneutral\u002Fnone",[98,32,41,162,92,32],[151,32,32,164,11,41],[101,32,32,164,92,32],[51,41,32,169,11,41],"project\u002Fpositive\u002Fidea",[71,41,43,169,72,32],[75,41,43,172,76,32],"maker\u002Fpositive\u002Fdocs",[115,37,41,174,116,32],"project\u002Fcritical\u002Fnone",[119,37,41,174,120,32],[134,31,31,177,135,32],"project\u002Fneutral\u002Fidea",[179,31,32,180,181,32],"10125912","other\u002Fneutral\u002Fnone","natrius",[79,31,32,183,80,32],"commenter\u002Fneutral\u002Fdocs",[185,31,32,164,181,32],"10126716",[83,31,32,187,84,32],"other\u002Fneutral\u002Fdocs",[189,31,32,190,11,41],"10125990","maker\u002Fneutral\u002Fidea",[138,31,32,180,139,32],[193,194,43,169,195,32],"10126267",4,"misiti3780",[108,43,41,158,109,32],[198,43,32,164,11,41],"10126134",[200,33,31,201,202,32],"10126435","project\u002Fneutral\u002Fnone","patcon",[204,33,32,160,11,41],"10126454",[206,33,31,201,202,32],"10126708",[],[209,214,218,223,228,233],{"id":210,"name":211,"points":212,"category":213},"10117072","Tonedear",230,"learning_science",{"id":215,"name":216,"points":217,"category":213},"10094326","Nihongo",139,{"id":219,"name":220,"points":221,"category":222},"10100155","react-form-generator",107,"dev_tools",{"id":224,"name":225,"points":226,"category":227},"10089772","SpaCy",93,"languages",{"id":229,"name":230,"points":231,"category":232},"10112354","InstaPainting",73,"creative",{"id":234,"name":235,"points":236,"category":237},"10111645","Siderly",54,"web_saas",false,"v2",{"id":241,"name":5,"line":6,"ai":238,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":242,"top":18,"kw":243,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":244,"url":9,"mix":245,"praise":67,"objection":88,"sub":21},10123375,-0.14,[24,25,26,27],"1010100055113000000510303",[31,31,32,33],1793990929792]