<oembed><type>rich</type><version>1.0</version><author_name>npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2</author_name><author_url>https://nostr.ae/npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2013-07-18&#xA;📝 Original message:On Thu, Jul 18, 2013 at 08:13:08AM -0400, Peter Todd wrote:&#xA;&gt; A more sophisticated approach would be possible if there existed a&#xA;&gt; version of H() with a computational trap-door - that is if there existed&#xA;&gt; H&#39;(s, i)=H(i) where H&#39; had significantly faster running time than H(),&#xA;&gt; but required knowledge of a secret. Our peers would then be able to&#xA;&gt; answer our challenges quickly only if they stored the intermediate&#xA;&gt; results in a lookup table, while we could check those challenges cheaply&#xA;&gt; without that table.&#xA;&gt; &#xA;&gt; Adam: you&#39;re our local crypto-expert, what can we use for H&#39;? Seems that&#xA;&gt; maybe some kind of asymmetric crypto system would work by requiring the&#xA;&gt; peer to crack weak secret keys that we generate deterministicly.&#xA;&#xA;Actually, come to think of it a really easy way to create H&#39; is for the&#xA;node to create some expensive to compute set of data associated with&#xA;their identity. The data set is then stored once by the node, cheap, but&#xA;the clients have to store one set for every unique node they connect&#xA;too, expensive. A set of the function scrypt(k | i) for i in 0..n is an&#xA;obvious way to do it.&#xA;&#xA;This can equally be used as a proof-of-work to make creating lots of&#xA;nodes expensive given a cheap way to verify the POW; easily done with a&#xA;non-interactive zero-knowledge proofs. It&#39;d be nice if that POW could&#xA;incorporate blockchain data, showing that the identity had access to&#xA;that data and thus could have computed the UTXO set honestly. (the POW&#xA;should be incrementally extendable as new data becomes available)&#xA;However that is back to using a bunch of bandwidth at startup if our&#xA;peer doesn&#39;t have access to blockchain data, so both mechanisms would&#xA;probably have to be done independently. Note how we also make MITM&#xA;attacks on encrypted P2P connections expensive this way too even without&#xA;any form of authentication. (works best when the proof-of-work is&#xA;dependent on your IP addresses)&#xA;&#xA;-- &#xA;&#39;peter&#39;[:-1]@petertodd.org&#xA;00000000000000762784b647ede3678f172d73dd0c72c2180ab451b00d756959&#xA;-------------- next part --------------&#xA;A non-text attachment was scrubbed...&#xA;Name: signature.asc&#xA;Type: application/pgp-signature&#xA;Size: 198 bytes&#xA;Desc: Digital signature&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20130718/4f4bcc2e/attachment.sig&gt;</html></oembed>