<div dir="ltr"><div>Hi Spandana</div><div><br></div><div>Fractalide is a project at 7th NDN hackathon, held in October 2018.</div><div><a href="https://github.com/7th-ndn-hackathon/rkt-ndn">https://github.com/7th-ndn-hackathon/rkt-ndn</a></div><div>According to their report, the team was able to compile NDN-CPP and get a very simple function callable from Rust.</div><div>Since NDN-CPP is now obsolete, this project would no longer work.</div><div><br></div><div><br></div><div>Fractalide <a href="https://fractalide.com/">https://fractalide.com/</a> has since then evolved into "a privacy preserving platform for communications". Their whitepaper acknowledges that the platform originates from NDN (section 3.3).</div><div><div>
<div>A key difference is that their network protocol, Copernica, does not use hierarchical names, but adopts Sparse Distributed Representations (SDR).</div><div>This causes every content object to appear in a flat namespace, and brings all the problems associated with it.<br></div><div><br></div><div>
</div>

</div>

</div><div>Non-exact mapping of CopernicaNet terminology to NDN terminology:</div><div><ul><li>SDRI: Name</li><li>RequestData: Interest<br></li><li>ResponseData: Data</li><li>Response Store: CS, cache<br></li><li>interface SDR: 2048-bit Bloom filter<br></li><li>Pending Request SDR: per-face Bloom filter of PIT downstream records<br></li><li>Forwarding Hint SDR: 
per-face 

Bloom filter of FIB</li><li>Forwarded Request SDR: 
per-face 

Bloom filter of PIT upstream records</li><li>broadcast list: a list of self-learning eligible face<br></li></ul></div><div></div><div>
<div><div>The forwarding procedure uses flooding: if an SDRI is no in the Forwarding Hint SDR, the request is flooded to every face in the broadcast list.</div><div>However, unlike NDN self-learning, the Forwarding Hint SDR is not populated
when the response comes back

, so that the next request would have to be flooded again.</div><div><br></div><div>The whitepaper does not mention anything about routing. Currently nobody is populating the Forwarding Hint SDR.<br></div></div>

</div><div></div><div>A blog post <a href="https://fractalide.com/blog/2019-05-16-revuln-talk.html">https://fractalide.com/blog/2019-05-16-revuln-talk.html</a> mentions cryptocurrency "to facilitate trade".However, the focus of Fractalide does not seem to be selling coins, which differs from NDN Link that is all about coins.<br></div><div><br></div><div><br></div><div>Copernica code repository is at <a href="https://github.com/fractalide/copernica">https://github.com/fractalide/copernica</a> and it appears to be in active development.<br></div><div>It contains the CopernicaNet described in the whitepaper, and a file sharing app.</div><div>Core forwarding logic is here: <a href="https://github.com/fractalide/copernica/blob/2976e32886da33d95551a0261bb200ad47641441/copernica/src/node/router.rs#L148-L246">https://github.com/fractalide/copernica/blob/2976e32886da33d95551a0261bb200ad47641441/copernica/src/node/router.rs#L148-L246</a></div><div>From the code, I can see that the Forwarding Hint SDR is populated after every successful retrieval, so that it it more similar to NDN self-learning.</div><div>There's also a "partially forget" logic on the Bloom filters that randomly unset some bits, and I don't understand how it works.<br></div><div><br></div><div>I wonder how well this Bloom filter based PIT works. I meant to try it (using counting Bloom filter, not "partially forget") on the ESP8266 so that I can have a forwarder in a small amount of memory, but never got around to that.<br></div><div><br></div><div>Yours, Junxiao<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 14, 2020 at 11:23 AM Spandana Banala <<a href="mailto:banalas@tcd.ie">banalas@tcd.ie</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><p style="text-align:center"><font color="red"><b>External Email</b><br></font></p><div dir="auto">Hi <div dir="auto"><br></div><div dir="auto">I  want to know more about ndn browser. If there is a link can you please provide me I am doing similar project I am using min browser which is running on  electron(build cross platform )  and I am trying to change the network and achive below </div><div dir="auto"><i style="white-space:pre-wrap"><br></i></div><div dir="auto"><i style="white-space:pre-wrap"><br></i></div><div dir="auto"><i style="white-space:pre-wrap">you secure the data directly. Not the pipes!</i><br></div><div dir="auto"><pre style="white-space:pre-wrap">><i> A connected system, where you've got the data flow of this environment which then talks Named Data Networking. </i></pre><pre style="white-space:pre-wrap"><i>Instead of using point to point communication systems, our browser operates over a broadcast networking protocol</i></pre><pre style="white-space:pre-wrap"><i><br></i></pre><pre style="white-space:pre-wrap"><i>Regards</i></pre><pre style="white-space:pre-wrap"><i>Spandana </i></pre></div></div><br>
</blockquote></div></div>