First generation cryptocurrencies were primarily designed as payment systems. IEP recognizes that decentralized blockchains can enable a broad range of applications and services, but is not prescriptive about what those services should be or how they should be built. By design, IEP strips away unnecessary complexity in its core, leaving only the most successful components of its predecessors intact.
As a result, IEP functions like a low level, foundational protocol: it defines the interfaces and operations required to operate a lightweight blockchain, a decentralized communication system, and a rapid transaction processing framework, allowing higher-order components to build on those features. Transactions in IEP make simple adjustments to account balances instead of tracing sets of “input” or “output” credits.
In addition, the core software does not support any form of scripting language. By providing a set of basic, flexible transaction types that can quickly and easily be processed, IEP creates a foundation that does not limit the ways in which those transaction types can be used, and does not create significant overhead for using them. This flexibility is further amplified by IEP’s low resource and energy requirements, and its highly readable, highly organized object oriented source code.