Dev Blog #11

Cody Sandwith
Mar 9, 2018 · 3 min read

Hey folks, welcome back to another TopiaCoin Dev Blog.

This week, we’ve been working on the implementation of the Peer-to-Peer transfer of file data at a high level — we’ve been writing inline documentation to the code, framing interfaces and implementations, loosely wiring things together (conceptually, if not programmatically), and writing Unit Test suites for the various components. Thus far, it has been going really well, and it has been really refreshing to start turning design work into actual code.

Now, I wonder how many of you involuntarily (or otherwise) cringed at the words “Peer-to-Peer transfer”. I can’t say I blame you, seeing as how some of the biggest names in this category have historically been Napster, Limewire, and BitTorrent, which bring up memories of some of the more chaotic times of the internet, as well as the heyday of Anti-Virus. Sure, the standard Upload/Download model of transferring data is far from impervious to viral data, but it’s not an immediate and automatic association, right?

I’m sure many of you understand, however, that it was not the protocol that is to blame for these issues, but instead, it was the content uploaders — Limewire didn’t dish out viruses, it was just a mechanism for sharing files. If somebody wanted to upload a virus and somebody else got duped and downloaded it, that really wasn’t in Limewire’s control. This, coupled with the psuedo-anonymity of uploaders, lent itself to a system plagued by distrust. Thus, it has become easier to trust content uploaders when they create an account and upload their content to a centralized system, all shrouded in a sense of identity and a 20-page ToS document.

Blockchain does not have a central authority. There is no “cloud” we send data “up” to and pull data “down” from. Instead, moving data is inherently Peer-to-Peer. The terms “upload” and “download” simply do not make sense in this environment — instead, one “sends” and “receives” data (though I’ll concede that “upload” and “download” are so firmly entrenched in the technological lexicon that I doubt we’ll ever see them truly disappear — instead, we’ll use them analogously).

So, yes, SDFS will use Peer-to-Peer data transfer technology. It will likely stand on the shoulders of the giants that came before, utilizing technologies such as DHT and µTP to achieve its goals. What separates SDFS from Limewire or BitTorrent, however, is that SDFS provides controls for an explicit level of trust with the people you are sharing with. Furthermore, SDFS secures your data at the origin, in transit, and at rest such that potential man-in-the-middle attacks are stymied before they can even truly begin. Finally, by incorporating the blockchain, SDFS provides an immutable record of actions taken within the context of your data, so you’ll know, beyond a shadow of a doubt, all the actions taken surrounding your content. This is the substantial difference between what SDFS is doing versus the wild west of the early aughts.

About the Author:

Cody Sandwith is a University of Washington graduate, and has been working for Topia Technology since 2011 on Secrata, a highly-encrypted File Sync and Share Platform.

More From Medium

Also tagged Development

Top on Medium

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade