The document describes a reliable data transfer protocol called rdt1.0 that operates over a perfectly reliable channel. Rdt1.0 uses finite state machines (FSMs) to specify the operation of the sender and receiver. The FSMs each have a single state, and transitions back to themselves upon events. The sender accepts data from the upper layer and sends it on the channel. The receiver receives data from the channel and delivers it to the upper layer. As the channel is perfectly reliable, rdt1.0 provides simple, trivial reliable data transfer with no loss or corruption of data.