Ouroboros is a peer-to-peer packet network prototype. It unifies all packet communications –whether it is two programs the same machine or a set of programs in computers on different continents – using a small set of abstractions, which we call layers and flows. The Ouroboros architecture improves security, privacy and efficiency through simplicity. It provides a very compact API for writing distributed software and networked application libraries, with support for both unicast and multicast communications. Being rebuilt from the ground up, Ouroboros is not directly compatible with IP or UNIX sockets, but it can run on top of and/or below UDP/IP and Ethernet.