[{"data":1,"prerenderedAt":321},["ShallowReactive",2],{"project-30088537":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":35,"aspects":36,"strip":42,"post_text":44,"what":45,"said":79,"maker_in_thread":176,"shape":183,"grid":188,"attempts":282,"same_week":283,"maker_shows":34,"maker_hidden":313,"reader_version":314,"card":315},"30088537","Zero-Knowledge Proof Treasure Hunt","Simple Zero-Knowledge Proof Treasure Hunt Game","title","Show HN: Simple Zero-Knowledge Proof Treasure Hunt Game","https:\u002F\u002Fzk-treasure-hunt.glitch.me\u002F","zk-treasure-hunt.glitch.me","mattdesl",1643218049,2022,82,45,715,2570,28,"notable","learning_science","zero-knowledge proof demo","web_app",[24,25,26,27],"zero knowledge proof","zk-snark","snarkjs","circom","curious",-0.111,{"positive":31,"neutral":32,"mixed":33,"critical":34},2,10,0,6,18,{"idea":37,"execution":40,"docs":41},{"positive":38,"critical":39},1,3,{"positive":38,"critical":31},{"positive":33,"critical":38},[39,39,33,33,33,39,39,39,33,33,33,33,33,33,33,33,33,33,33,33,38,33,38,38,38,33,39,33,39,33,43,38,38,39,33,33,33,33,33,43],5,null,{"problem":46,"audience":56,"pricing":44,"motivation":64,"time_to_build":44,"stack":69,"openness":76,"stage":77,"team_size":78},{"value":47,"source":48,"evidence":49},"Demonstrates zero-knowledge proofs by proving knowledge of treasure coordinates without revealing them","inferred",[50,53],{"id":51,"by":11,"text":52},"30094432","Hi HN! Author here, this is my first experiment with circom and snarkjs, I wanted to do something basic that shows a small sample of their potential. :) Comments & questions…",{"id":54,"by":11,"text":55},"30094314","The demo does not disclose any coordinates—only verifies a proof that you know the coordinates. Not even the demo knows the coordinates of a valid proof that you submit (check…",{"value":57,"source":48,"evidence":58},"People learning zero-knowledge proofs",[59,60],{"id":51,"by":11,"text":52},{"id":61,"by":62,"text":63},"30098023","aib","I think there is an impedance mismatch in how easy the game is to understand versus how the ZK proof part has required reading. Some (if not most) of the questions or comments…",{"value":65,"source":66,"evidence":67},"First experiment with circom and snarkjs to show their potential","maker",[68],{"id":51,"by":11,"text":52},[70,73],{"value":27,"source":66,"evidence":71},[72],{"id":51,"by":11,"text":52},{"value":26,"source":66,"evidence":74},[75],{"id":51,"by":11,"text":52},"open_source","launched","unknown",{"praise":80,"objections":93,"requests":129,"questions":146,"alternatives":164},[81],{"value":82,"source":83,"evidence":84},"Nice demo and interesting idea","commenter",[85,89],{"id":86,"by":87,"text":88},"30090368","nicexe","Nice demo. I found up to \"harder\". I assume you would need to bruteforce to find the \"impossible\". proof: ``` {\"proof\":…",{"id":90,"by":91,"text":92},"30091088","shhsshs","Really interesting idea. I'm also stuck on the last proof: ``` {\"proof\":…",[94,108,122],{"value":95,"source":83,"evidence":96},"Does not clearly prove zero knowledge; proof may leak coordinate information",[97,101,105],{"id":98,"by":99,"text":100},"30090907","dfdz","I did verify that you found the \"harder\" treasure, but I am not sure this is a good example of zero knowledge proof. The author claims that > you can Download the JSON Proof…",{"id":102,"by":103,"text":104},"30093268","relaunched","This doesn't seem like a zero knowledge proof to me. It seems like, for this to work, you have to have a prover, a validator and a 3rd party. By revealing the authentication to…",{"id":106,"by":103,"text":107},"30095573","I'm not sure why that matters. By inputting coordinates, you have giving extra information. There is a difference between verifying that someone knows the coordinates and sharing…",{"value":109,"source":83,"evidence":110},"Does not work on mobile and breaks on long number input",[111,114,118],{"id":112,"by":11,"text":113},"30097795","It doesn't seem to work on mobile (maybe a limitation of snarkjs)—I've been testing only on macOS Chrome.",{"id":115,"by":116,"text":117},"30104206","amflare","If you try to input a number longer than 10 digits in either field it'll break and you have to refresh. You can see the error in the console. Its not stuck on searching, it just…",{"id":119,"by":120,"text":121},"30094939","eruleman","The website is stuck on “searching” for me? Is this expected?",{"value":123,"source":83,"evidence":124},"Proof output shown without explanation",[125],{"id":126,"by":127,"text":128},"30091748","zamadatix","I don't think anything is being doubted just dumps you the numbers and tells you it is so without explaining why or how making for a weak example.",[130,135],{"value":131,"source":83,"evidence":132},"Explain how the proof works and why it hides coordinates",[133,134],{"id":126,"by":127,"text":128},{"id":98,"by":99,"text":100},{"value":136,"source":83,"evidence":137},"Better handling of signed proofs to prevent proof theft",[138,142],{"id":139,"by":140,"text":141},"30090943","cvoss","It's not mentioned on the website, but, empirically, at least, I see the generated proof file is different if you find the same treasure multiple times. That means if someone…",{"id":143,"by":144,"text":145},"30112343","pepesza","The trick is to sign the secret, not the proof. And than to prove inside the circuit following claims: 1) secret (provided as a hidden input) is correct a solution to the puzzle…",[147,154],{"value":148,"source":83,"evidence":149},"How to tie a proof to a user so stolen proofs can be detected",[150,151],{"id":139,"by":140,"text":141},{"id":152,"by":144,"text":153},"30091930","> Does such a mechanism exist? Sign the puzzle solution with your private key. Check signature inside the circuit. This obviously can't be applied to this particular game since…",{"value":155,"source":83,"evidence":156},"Whether the hashed coordinates reveal information",[157,161],{"id":158,"by":159,"text":160},"30098176","minism","I haven't looked at the game implementation in detail yet, but in order to verify \"This person has found the treasure\" is signed with the key for coordinates (X,Y), we need to…",{"id":162,"by":11,"text":163},"30098280","Thanks! You may be correct in that this application could be better achieved with a simple signed message—this is my first time playing with ZK proofs. The main issue is that the…",[165,169],{"value":166,"source":83,"evidence":167},"Signed messages",[168],{"id":61,"by":62,"text":63},{"value":170,"source":83,"evidence":171},"Blockchain token reward systems",[172],{"id":173,"by":174,"text":175},"30091534","can16358p","I have the feeling someone's going to put this game on blockchain with token rewards.",{"comments":32,"answered":43,"key":177},[178,179,182],{"id":162,"text":163},{"id":180,"text":181},"30094271","It is possible to embed a users public key (from a private\u002Fpublic key pair) in the zk circuit, so that the proof would be tied to it. In a blockchain setting this could tie each…",{"id":51,"text":52},{"commenters":184,"max_depth":185,"maker_replies":32,"first_comment_mins":186,"lifespan_hours":187},19,13,112,182,[189,193,195,197,199,201,202,205,206,208,210,212,214,216,218,220,221,223,225,228,230,231,232,234,236,237,240,241,242,245,246,248,250,252,254,255,257,259,263,265,268,271,274,276,280],[190,33,39,191,192,33],"30091973","project\u002Fneutral\u002Fnone","abalaji",[61,38,39,194,62,33],"project\u002Fneutral\u002Fidea",[158,38,33,196,159,33],"commenter\u002Fneutral\u002Fidea",[198,38,33,196,62,33],"30098373",[162,38,33,200,11,38],"maker\u002Fneutral\u002Fidea",[139,31,39,194,140,33],[203,31,39,194,204,33],"30091921","skulk",[152,31,39,194,144,33],[207,31,39,194,127,33],"30092012",[209,31,33,196,144,33],"30092160",[211,31,33,196,127,33],"30094418",[213,31,33,196,144,33],"30098413",[215,31,33,196,127,33],"30099905",[217,31,33,196,144,33],"30101923",[219,31,33,196,127,33],"30104225",[143,31,33,196,144,33],[222,31,33,196,127,33],"30133113",[224,31,33,196,144,33],"30136333",[226,31,33,227,127,33],"30171509","commenter\u002Fneutral\u002Fnone",[229,31,33,227,144,33],"30189818",[180,31,33,194,11,38],[51,39,33,191,11,38],[119,39,38,233,120,33],"project\u002Fcritical\u002Fexecution",[112,39,33,235,11,38],"project\u002Fneutral\u002Fexecution",[115,39,38,233,116,33],[102,238,38,239,103,33],4,"project\u002Fcritical\u002Fidea",[54,238,33,194,11,38],[106,238,38,239,103,33],[243,238,33,244,11,38],"30097292","project\u002Fneutral\u002Fprivacy",[173,43,39,194,174,33],[247,43,33,194,11,38],"30093827",[249,43,39,194,174,33],"30098832",[251,43,33,194,11,38],"30099237",[86,34,43,253,87,33],"project\u002Fpositive\u002Fexecution",[98,34,38,239,99,33],[256,34,39,194,140,33],"30091095",[126,34,38,258,127,33],"project\u002Fcritical\u002Fdocs",[260,34,39,261,262,33],"30092397","project\u002Fneutral\u002Fdocs","chrisco255",[264,34,33,194,11,38],"30093803",[266,34,33,267,91,33],"30091114","commenter\u002Fneutral\u002Fprivacy",[269,34,33,267,270,33],"30093272","Tomuus",[272,34,33,227,273,33],"30104157","drdeca",[275,34,33,244,11,38],"30093773",[277,34,33,278,279,33],"30090930","other\u002Fneutral\u002Fnone","sturza",[90,34,43,281,91,33],"project\u002Fpositive\u002Fidea",[],[284,289,294,299,304,309],{"id":285,"name":286,"points":287,"category":288},"30057442","Let's Block It",261,"security_privacy",{"id":290,"name":291,"points":292,"category":293},"30047455","Marginalia",236,"consumer_social",{"id":295,"name":296,"points":297,"category":298},"30089895","Electric Tables",231,"productivity",{"id":300,"name":301,"points":302,"category":303},"30045901","Webutils",188,"creative",{"id":305,"name":306,"points":307,"category":308},"30051902","bangBang",146,"games",{"id":310,"name":311,"points":312,"category":293},"30039692","Hacker XP",136,false,"v2",{"id":316,"name":5,"line":6,"ai":313,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":317,"top":18,"kw":318,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":319,"url":9,"mix":320,"praise":82,"objection":95,"sub":21},30088537,-0.11,[24,25,26,27],"3300033300000000000010111030305113000005",[31,32,33,34],1793991040040]