Node.js is a JavaScript runtime built on Chrome's V8 engine that uses an event-driven, non-blocking I/O model. It was created by Ryan Dahl in 2009 and is used for building fast and scalable network applications. Node uses an event loop model that makes it lightweight and efficient as opposed to the thread-based model that is typically used for servers. It allows for real-time web applications and helps solve the C10K problem of handling a large number of concurrent connections efficiently.