Actors and Roles

There are three roles a node can assume participating in the IAN: the Uploader, Downloader, and Farmer. The roles are not mutually exclusive; in fact, a nodes role in a given interaction is likely to depend on the specific Artifact and algorithm the node is participating in.
Uploaders Uploaders seed the IAN with Artifacts. Uploaders deploy Artifacts via smart contracts and serve those Artifacts to the Farmers and Downloaders. The number and price of Farmers enlisted is up to the Uploader, allowing the Uploader flexibility between affordability and availability.
Downloaders Downloaders are the Artifact consumers and the most common role in the IAN. Downloaders receive their Artifacts from Farmers or Uploaders. Downloaders typically pay the Farmers for their bandwidth in transmitting the Artifact. If the Artifact is encrypted, the Downloader must acquire the encryption key from the Uploader by telling them which Farmer their Artifact came from. Once the Downloader has the Artifact, they can then act as Farmers and serve the Artifact themselves for the bandwidth reward.
Farmers The Farmers are extremely important to the scalability of the Icarus network. Farmers store Artifacts for Uploaders, distribute Artifacts to Downloaders, and execute analytics against their Artifacts for the Guru. Farmers are typically compensated for their storage by the Uploaders and their bandwidth by the Downloaders. On the launch of the network, Icarus will be offering free farming to help seed the IAN.