This is a short resume of the nice article from Arvind Narayanan and Jeremy Clark found here (http://queue.acm.org/detail.cfm?id=3136559)
This is a really interesting article that details different key features found in Bitcoin from previous academic work.
The document starts from the Linked Timestamping (establish that a "document" has been created at a certain point in time), how and why Merkle trees have been introduced (security, speed, and to reduce the number of transactions to be sent/receive).
Then it goes to the Byzantine fault tolerance (fault-tolerant distributed computing) and how Bitcoin is related to.
After, they describe the origin of the Proof of Work, Sybil attacks.
Finally, it is a description of Bitcoin and how Sakamoto puts all this together.