gzz-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz] Re: [GISP] Finally using GISP


From: Benja Fallenstein
Subject: [Gzz] Re: [GISP] Finally using GISP
Date: Fri, 09 May 2003 13:09:21 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030430 Debian/1.3-5


Dear Brad,

Brad Neuberg wrote:
What is Storm? It sounds interesting.  Do you have a
more full-fledged description?

Thanks for your interest, and sorry for not replying earlier. As Toni has said, I've been off-line.

I hope you don't mind if I simply copy & paste part of our README: then if you have questions, I can use them to improve the README ;-)

--- snip ---
The Storm (STORage Module) library provides an alternative
to traditional file-based storage. Storm stores data
in *blocks*. A block is like a file but it cannot be changed,
and instead of a file name it is identified by a
cryptographic content hash, like this::


nkownd7c3yvtk2ll7b3c7m2abg25etb3.3ghrsnouwddhjm4uh6vv4qk6yvdaw46o2jvsmxq

A content hash is a number computed from the content
of a block. In practice it's impossible to find two blocks
with the same hash (as long as the algorithm isn't broken).

Don't worry about the 'cannot be changed' part. You can create
a *reference* that can point to different blocks over time.
(However, while we used to have an implementation of this,
this is unimplemented currently; stay tuned.)

Here are a few reasons why you would want to use this
instead of files:

- When you make a new version of something, the old one
  doesn't get overwritten. The new version has a new
  'name' (content hash).
- You can check whether the content of a block matches
  its id. If you download a block from somewhere, you
  can check you got the correct data.
- Thus, it doesn't matter where you find a block. No matter
  if it's on your harddisk, sent to you by e-mail, stored
  in your Web cache, or downloaded from the Web.
- You don't have to store a block twice, even if you
  use it in different places. For example, an image used
  in many different documents would only need to be
  stored once.
- Network transparency: When you have a block locally,
  your computer can use it; when you don't, your computer
  can go find it on the 'net. (Or on another one of your
  machines, if the computer you're currently using
  is connected to them.)
- When you're offline, any blocks stored on your computer--
  or a computer connected to it-- can be used just as if
  you were online.

We are building a P2P system that allows you to find and
download a block if *anybody* on the 'net publishes it.
So when the original site is down, or the content
was removed from it, you can still download

Don't worry that accidentally, there may be two *different* blocks
with the *same* hash floating around on the Internet.  In theory there
is an extremely slim possiblity that it *could* happen. But in
practice, since the number of possible hashes is about an octillion
times larger than the estimated number of atoms in the universe, we
can treat it as impossible. We suggest that you worry about something
more likely instead, like, say, the destruction of Earth through an
asteroid ;-)

Our software can:

- import existing files as Storm blocks
- store new data as blocks
- download blocks from a peer-to-peer (P2P) network
- check that the hashes of downloaded blocks are correct
- act as a gateway serving block requests made by http clients
  (allowing you to browse Storm blocks in your web browser)
--- snip ---

If you have time, please tell me whether this was helpful! Thanks,
- Benja





reply via email to

[Prev in Thread] Current Thread [Next in Thread]