DistOS 2014W Lecture 15

From Soma-notes
Revision as of 03:54, 25 April 2014 by Ronak (talk | contribs)

Designing Exercise

Can we do any kind of distributed system without crypto? We can't trust crypto...

What are the main features we need to consider for such a system ?

  • Limited Sharing
  • Integrity
  • Availability

Perhaps probabilistically...

Want to be able to put data in, have it distributed, and be able to get it out on some other machine. This kind of sharing would need identification or authentication process.

Availability: "distribute the crap out of it", doesn't need crypto. No corruption of data.

Integrity: hashing, but we assume hashes can be forged. If we want to know that we got the same file, then simply send each other the file and compare.

Big Takeaway

Everything you do with crypto is a refinement of what you can already do in weaker forms with weaker assumptions.


Note on Project Proposal

  • Date has been extended until next week. As Prof said some of the proposals are not completely up to mark.

===Farsite

This paper describes Farsite, a serverless distributed file system that logically functions as a centralized file server but whose physical realization is dispersed among a network of untrusted desktop workstations. An important assumption they mentioned is files are both read by many users and also frequently updated by at least one user which is a disadvantage in Farsite. Two technology trends are fundamental in rendering Farsite's design practical:The large amount of unused disk capacity enables the use of replication for reliability, and the relatively low cost of strong cryptography enables distributed security. Every machine in Farsite may perform three roles: It is a client, a member of a directory group, and afile host. A client is a machine that directly interacts with a user. A directory group is a set of machines that collectively manage file information using a Byzantine-fault-tolerant protocol. Every member of the group stores a replica of the information, and as the group receives client requests, each member processes these requests deterministically, updates its replica, and sends replies to the client.

When a client wishes to read a file, it sends a message to the directory group, which replies with the contents of the requested file. Advantage of Farsite are (1)It adds local caching of file content on the client to improve read performance. (2)Farsite delays pushing updates to the directory group, because most file writes are deleted or overwritten shortly after they occur. (3)Performing encryption on a block level enables a client to write an individual block without having to rewrite the entire file. It also enables the client to read individual blocks without having to wait for the download of an entire file from a file host.