Node.js is an asynchronous and event-driven JavaScript runtime built on Chrome's V8 JavaScript engine. It uses an event loop to handle asynchronous I/O in a non-blocking way without threads. The event loop listens for events like file system operations or network connections and queues microtasks or callbacks for execution when the events occur. A thread pool handles I/O-bound tasks like file system operations to improve performance. This single-threaded asynchronous model improves concurrency and scalability compared to traditional threaded models.