|
From: Zlatin B. <zba...@br...> - 2003-07-31 18:49:49
|
We may want to do this before message threading, because it will
improve download/sharing of files greatly, even more than native FEC.
* We change the format of index files as follows:
each entry is:
<file>
<name>myfile.mp3</name>
<size>100000</size>
<owner>myNick@asdf...</owner> //optional
<SHA1>asdf...</SHA1>
<key>CHK@asdf...</key> //optional
<date>2003.1.1</date> //optional - last date of insertion
</file>
* How to download/upload:
when sharing only, user1 calculates the SHA1 only, not the CHK and
doesn't put anything in the date field. If user1 choses to sign the
files, we put the <owner> tag in each entry, then sign the entire file
before zipping and inserting. (we can optimize this)
When user2 receives that .idx.zip file, its frost displays the files as
"shared", and when user2 tries to download one of those files, its frost
immediately inserts a request for the file without trying to get the
file itself.
When user1 receives the request for the file, its frost inserts the file
in freenet, then inserts an update to the .idx file with the same format
above, only with the <key> and <date> tags included.
User2 waits until its frost receives an update to the .idx.zip file
signed by user1. If that update includes the <key> and <date> tags,
only then its frost tries to download the actual file.
Anyone can update files that are not signed, so that will encourage
users to sign their files.
* How to re-insert .idx files:
suppose user3 wants to refresh the .idx file for a board where user1 has
shared some files. user3's frost will include those files _only_ if
user3 trusts user1.
* * * * * * * * * * ** *
This scheme has the following benefits:
1. users can decide whether to trust other users based on what files
they share, and can block users who share fake files / child porn
2. Frost will know when a file is not inserted and will not waste time
trying to request it
3. Sharing of files will be very fast because only SHA1 needs to
calculated, no CHK of the mapfile, no FEC, etc.
|