[Ndn-interest] [EXT]Re: fractalide NDN browser (hackathon proposal)

Junxiao Shi shijunxiao at email.arizona.edu
Sun Jul 19 07:55:53 PDT 2020

Hi Spandana

Fractalide is a project at 7th NDN hackathon, held in October 2018.
According to their report, the team was able to compile NDN-CPP and get a
very simple function callable from Rust.
Since NDN-CPP is now obsolete, this project would no longer work.

Fractalide https://fractalide.com/ has since then evolved into "a privacy
preserving platform for communications". Their whitepaper acknowledges that
the platform originates from NDN (section 3.3).
A key difference is that their network protocol, Copernica, does not use
hierarchical names, but adopts Sparse Distributed Representations (SDR).
This causes every content object to appear in a flat namespace, and brings
all the problems associated with it.

Non-exact mapping of CopernicaNet terminology to NDN terminology:

   - SDRI: Name
   - RequestData: Interest
   - ResponseData: Data
   - Response Store: CS, cache
   - interface SDR: 2048-bit Bloom filter
   - Pending Request SDR: per-face Bloom filter of PIT downstream records
   - Forwarding Hint SDR: per-face Bloom filter of FIB
   - Forwarded Request SDR: per-face Bloom filter of PIT upstream records
   - broadcast list: a list of self-learning eligible face

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.
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.

The whitepaper does not mention anything about routing. Currently nobody is
populating the Forwarding Hint SDR.
A blog post https://fractalide.com/blog/2019-05-16-revuln-talk.html
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.

Copernica code repository is at https://github.com/fractalide/copernica and
it appears to be in active development.
It contains the CopernicaNet described in the whitepaper, and a file
sharing app.
Core forwarding logic is here:
>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.
There's also a "partially forget" logic on the Bloom filters that randomly
unset some bits, and I don't understand how it works.

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.

Yours, Junxiao

On Tue, Jul 14, 2020 at 11:23 AM Spandana Banala <banalas at tcd.ie> wrote:

> *External Email*
> Hi
> 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
> *you secure the data directly. Not the pipes!*
> >* A connected system, where you've got the data flow of this environment which then talks Named Data Networking. *
> *Instead of using point to point communication systems, our browser operates over a broadcast networking protocol*
> *Regards*
> *Spandana *
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20200719/c4777a36/attachment.html>

More information about the Ndn-interest mailing list