It's closer to 2, although with content stored as "BLOBs" without system caring about contents, whereas CouchDB does. Backend storage uses a local DB (BDB?) for nodes of clusters used to store multiple copies. Reads can go to any node that has a copy, as can writes, but writes need to be resolved to get rid of conflicts. As Kevin mentions, this guarantees "eventual consistency", but gives no strict guarantees of when, or which write wins (from external POV; internally that is defined).
Reading Dynamo docs is useful in understanding many of the concepts, but AFAIK implementation is different. Dynamo is used internally by Amazon for other uses. There are also open source implementations of both; one interesting one is Project Voldemort.
CouchDB is obviously very interesting as well.