SafeDrop (dropbox alternative)

I’m proposing a very simple (at least for now) dropbox alternative for safe. It would
be useful with what has been released already and especially with the MVP.

It checks what files in your “drop” folder has changed since last scan and the uploaded
the new or changed files to safe. So for now it’s only for backup but it could
be extended to sync in the future.

This should be simple to implement and pretty useful since the files are always on your
computer and therefor safe from network resets.

I’ve started implementing this in go. Any suggestions/comments would be appreciated.

7 Likes

I think an interesting question is how different file versions could be handled in the future. Since storage on safe is permanent, you would have all versions of a file on the network anyway (but you would have to pay for each version). More economical would be to upload only file changes (like lines with + and - in git), but then the software has to reconstruct the new file versions upon download of the original and all subsequent changes. I also think that the safe network has some file versioning built-in (but I don’t know anything specific about it, and I am not a computer scientist/programmer, so don’t ask me for details…) I am not at all sure this built-in file versioning is economical in the sense that only differences are uploaded.

As I understand it “private” files are not permanent and can be deleted.

All chunks (thus files) are permanent,

1 Like

No, it’s not to do with private v public.

The difference currently is immutable (all versions stored forever) versus structured data (re-writable).

You can “forget” immutable data - by removing a file’s entry from your data map. So that’s possibly what you mean by being able to delete private data, while with public/shared data you can’t ensure other people also “forget” a file. In this sense you are correct, so it depends what is meant by “delete”.

2 Likes

And as I understand it, you will not be refunded safecoin when you delete files from your datamap, right? Can you briefly explain what structured data are used for (I’ve read the term over and over again here on the forum, but was never sure what was meant by it…) Is it for messaging? Datamaps? Accounts? Do you pay for structured data? Thanks!

Yes that is what I meant :slight_smile: Basicly you pay for your uploaded chucks is my understanding.

1 Like

I can’t say what structured data is/will be used for, only a bit about what it is - but that had been described many times so I won’t do it again unless it’s really what you want.

never mind…

I notice with Dropbox (on Windows) that it synchs block by block (i.e., cluster) which is 4KB, and also that Truecrypt updates its containers block by block (because it encrypts each block individually, and not the file as a whole). What that means is that if I have a 1GB Truecrypt container on Dropbox, although it takes a day or more to upload the file the first time, after that a small change to the data in the container (and then dismount the container) will synch in Dropbox in a minute or two.

In other words, there’s reason to hope that you don’t have to upload a large file each time you make a small change.

Data on the SAFE Network is “pay once, store forever”. No refund.

Immutable data is stored in chunks of 1mb or less, and is as the name says, immutable, can’t be erased, only lost track of.

Structured Data on the other hand is cryptographically owned, transferable, editable and deletable. It has a 100kb max size. The use cases for structured data are huge, so it’s impossible to say “how they will be used”, which I think was @happybeing’s point above.

SD is capable of multisig, versioning, and all sorts of other stuff. You pay the same amount of safecoin to score a 100kb-max SD as a 1mb-max Immutable data chunk, but revisions of the SD are unlimited.

Safecoin is a special use case of SD which the network recognizes universally. DNS similarly, and other SDs will be reserved for overall network tasks that the core software will recognize and handle in certain defined ways.

All other SD types are app definable and will take an app programmed to handle it to recognize and carry out those functions.

Recommend the SAFE Network School series of podcasts, especially Class IX (Episode #28) for a better idea of SOME of the aspects of Structured Data. Didn’t cover it as thoroughly as it could be and documentation is not yet up to speed. But that’s a start.

10 Likes

Thanks, your explanation is very good. I was not aware of these details, even though I was following the forum for over a year now…

SD is 100kb I believe, not 1kb :slight_smile:

2 Likes

Wasn’t me. My hand did it!!

Thanks. Fixed.

2 Likes

Thanks, that’s how I’ve understood it as well :slight_smile: But nice to get a confirmation :slight_smile:

1 Like

Working on this now an MVP :stuck_out_tongue: is getting close. Any good name suggestions? Is safedrop good?

How about EverBox? … Or better yet, SafeSync

4 Likes

Pandora? … :slight_smile:

1 Like

SaveSafe? :stuck_out_tongue:

Well I now have a working prototype :slight_smile: Of course not the best thing ever written but it does work :slight_smile: Nothing fancy just re-uploads every file that has changed.

EverBox does sound good, thanks @fergish

3 Likes