Application Example: Silktorrent WWW, Type 01
Not logged in

Currently this page is being edited.

The Silktorrent WWW, Type 1 (hereafter: SilkWWW1),is a Silktorrent based World Wide Web analogue, where web pages are replaced with Silktorrent packets and different versions of the same web page, which are not the same as modified copies of the web page, form a chain that is built by using the help of time stamping services. 



Time Stamping Services

The end user has to trust the Time Stamping Service (hereafter: TSS). If the end user does not trust other people to run it for them, then they have to run their own TSS, but there exist pairs of people, who do not trust each other's TSS and there exist pairs of people, who are not aware of each other's existence. In the context of the SilkWWW1, a TSS has the following mandatory functions as part of its API:


// The prefix meanings are explained elsewhere.
si_hash_max_len=i_get_hash_max_length() 
si_ID_max_len=i_get_ID_max_length() 
si_timestamp_data_volume_max=i_get_timestamp_max_number_of_base_10_digits() 
sb_registration_failed=sb_create_timestamp(s_hash_as_an_UTF8_string, s_ID_as_an_UTF8_string) 
sfd_timestamp=sfd_get_timestamp(s_hash_as_an_UTF8_string, s_ID_as_an_UTF8_string, si_max_n_of_digits) 


Web page Version Incrementation Mechanism


Web pages are Silktorrent packets that have custom headers, which are text files:

During the creation of the Silktorrent packet the content of the silkWWW1_onetime_password_2_for_version_N_minus_1.txt of the next version(hereafter: s_onetimepwd_2_next) of the web page is stored and kept secret till the creation of the next version of the web page. Hashes for the current version of the web page are calculated like that:


s_pwd1_current=read_from_file(silkWWW1_onetime_password_1_for_version_N.txt)

s_pwd2_next=generate_random_string()  ;  store_2_db_or_file_for_later_use(s_pwd2_next)

s_ concated=s_concat_strings( s_pwd1_current, s_pwd2_next )

s_hash_1=func_hash_1_(s_ concated)   ;  ht_progfte

<Hash 1 name>=s_hash_1

s_hash_2=func_hash_2_(s_ concated)   ;  ht_progfte<Hash 2 name>=s_hash_2

...

s_hash_2=func_hash_3_(s_ concated)   ;  ht_progfte<Hash 3 name>=s_hash_3



Some Related Ideas