From the below assertions, I undertood that BNS is a state machine built on the Virtualchain. But its a bit confusing how it is associated with Atlas (especially because of (2.))
Blockstack uses BNS as the default naming system. BNS is implemented by deﬁning a state machine and rules for state transitions in a new virtualchain
– Blockstack technical whitepaper
Each BNS node implements an Atlas peer.
The Blockstack Naming Service (BNS) is a network system that binds names to off-chain state