  We present a framework for random access that is based on three elements:
physical-layer network coding (PLNC), signature codes and tree splitting. In
presence of a collision, physical-layer network coding enables the receiver to
decode, i.e. compute, the sum of the packets that were transmitted by the
individual users. For each user, the packet consists of the user's signature,
as well as the data that the user wants to communicate. As long as no more than
K users collide, their identities can be recovered from the sum of their
signatures. This framework for creating and transmitting packets can be used as
a fundamental building block in random access algorithms, since it helps to
deal efficiently with the uncertainty of the set of contending terminals. In
this paper we show how to apply the framework in conjunction with a
tree-splitting algorithm, which is required to deal with the case that more
than K users collide. We demonstrate that our approach achieves throughput that
tends to 1 rapidly as K increases. We also present results on net data-rate of
the system, showing the impact of the overheads of the constituent elements of
the proposed protocol. We compare the performance of our scheme with an upper
bound that is obtained under the assumption that the active users are a priori
known. Also, we consider an upper bound on the net data-rate for any PLNC based
strategy in which one linear equation per slot is decoded. We show that already
at modest packet lengths, the net data-rate of our scheme becomes close to the
second upper bound, i.e. the overhead of the contention resolution algorithm
and the signature codes vanishes.
