+++
title = "Ouroboros"
linkTitle = "Ouroboros"
+++

{{< blocks/cover title="Ouroboros" image_anchor="top" color="primary" >}}
<div class="mx-auto">
  <a class="btn btn-lg btn-primary mr-3 mb-4"
     href="/wiki">
    Learn More <i class="fas fa-arrow-alt-circle-right ml-2"></i>
  </a>
  <a class="btn btn-lg btn-secondary mr-3 mb-4"
     href="/wiki/Ouroboros_Prototype">
    Download <i class="fab fa-git ml-2 "></i>
  </a>
  <p class="lead mt-5">
    Packet networking rebuilt from the ground up
  </p>
  <div class="mx-auto mt-5">
    {{< blocks/link-down color="info">}}
  </div>
</div>
{{< /blocks/cover >}}

{{% blocks/lead color="secondary" %}} Ouroboros is a <b>peer-to-peer
packet network prototype</b>. 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 <b>layers</b> and <b>flows</b>. The
Ouroboros architecture improves security, privacy and efficiency
through <b>simplicity</b>. It provides a very
<b>compact API</b> for writing distributed software and networked
application libraries, with support for both <b>unicast</b>
and <b>multicast</b> 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 <b>UDP/IP and Ethernet</b>.
{{%/blocks/lead %}}
