An implicit transaction occurs when selecting over a dblink.
When Oracle performs a distributed SQL statement Oracle reserves an entry in the rollback segment area for the two-phase commit processing. This entry is held until the SQL statement is committed even if the SQL statement is a query
More on this here. I'll try to dig up an Oracle link if I can.
More from the horses mouth:)
Two-Phase Commit Mechanism
A database must guarantee that all statements in a transaction, distributed or non-distributed, either commit or roll back as a unit. The effects of an ongoing transaction should be invisible to all other transactions at all nodes; this transparency should be true for transactions that include any type of operation, including queries, updates, or remote procedure calls.
More from Oracle's Distributed Database Concepts guide