millix

spend aggregated inputs

overview

the millix node user interface operates with an active wallet that is loaded when the node starts. the active wallet is associated with a key identifier and all the addresses associated with that key identifier. the sum of all the funds sent to those addresses that have not yet been spent (unspents) form the balance of available funds for the wallet. from this perspective, the balance of a particular address is less significant than the wallet balance of all the addresses added together.

when the user sends millix, the millix node user interface decides which available unspents will be used to fund the transaction. the millix node user interface only allows one destination address per transaction. the logic in this document is only applicable to the millix node user interface. it does not apply to transactions that are constructed in json with specific unspents and submitted via API

problem: aggregating and selecting unspents

without aggregating unspents to fund transactions, users would have to fund each new transaction strictly with the balance of an individual address. this would mean a user couldn't send a transaction larger than the balance of any individual address, even if their wallet balance was adequate. this becomes even less convenient if the user has unspents that are approaching expiration but are unavailable to fund a transaction because they exist on an address whose balance is smaller than the size of the transaction.

solution: first in first out

there are a variety of strategies used by cryptocurrency wallets to optimize how unspents are selected to fund transactions. traditionally it's been a difficult problem because each strategy has costs and benefits; so much so that it's not uncommon for the strategy to merely be selecting unspents randomly.

the millix user interface uses a first-in-first-out, random strategy with a variation depending on the recipient of the transaction. in other words the oldest unspents are used first, and if a group of unspents are the same age, random selections are made from that group until the amount of the selected unspents meets or exceeds the amount being sent by the transaction.

if the user is not sending millix to themself the unspents cannot be expired. if the user is sending millix to themself (based on the key indicator of the receiving address and the active key identifier being run by the node) the selected unspents can be expired.

whitepaper

overview

millix is an open source cryptocurrency project. millix is fully decentralized, designed for simplicity, transacts at very high speed and very large scale.

work began on the project in spring of 2018 by a diverse group of developers and business professionals. their motivation to create a cryptocurrency protocol with the use case potential of millix came from their backgrounds building:

  • social network platforms

  • content management systems

  • e-commerce systems

  • data distribution systems

  • online financial services

  • communication services

  • affiliate marketing

  • manufacturing and logistics operations

  • gaming platforms

  • accounting and legal practices

fundamentally, there was a recognition that

“all activity benefits from trusted
transactions at scale”

which influenced the following set of first principles:

  • currencies should not be created with debt

  • currencies should operate at infinite scale

  • the cost of securing value can't exceed the value it secures

  • a currency's market value should be proportionate to its fundamental value

  • participants that increase fundamental value should be compensated

  • currencies should function without carrying the weight of previous transactions

  • currencies should work the same throughout the spectrum of transaction values

  • modern currencies should be at least as simple to use as primitive currencies

  • simplicity at the edge is only possible with equal simplicity in the foundation

to the extent there is an inverted correlation between utility and a store of value, millix is not intended to compete with the use case or feature set of blockchain projects. the utility that comes from scale and speed has been prioritized, leading to the principles and methodologies described above.

learn more: meet the millix team

case study: the speed and scale of millix

Developers: millix certification for technical and non-technical careers

economy

the total allocation of 9,000,000,000,000,000 mlx (nine quadrillion millix) were created in a genesis event on January 20th , 2020. millix is not being offered directly for sale. instead it will be distributed to participants who support and improve the millix ecosystem.

participants running millix software constantly receive millix for performing protocol related tasks that improve the millix ecosystem, such as storing transaction data and verifying transactions.

the economy is envisioned to allow any participant to incentivize any computing activity by any other participant via fees.

learn more: how can I earn, buy or sell millix?

use case: millix turns unused computer power into income

technology

unlike blockchain cryptocurrencies, millix is built on the logic of Directed Acyclic Graph (DAG) for transaction speed and capacity that increases as more transactions and users are added.

millix is original work and was not built on a copied code base of existing work. millix has no points of centralization. millix has no designed bottlenecks. millix has no hierarchy of participants of capabilities. millix data is natively sharded.

learn more: how does millix data sharding work

learn more: the millix toolbox of trust

learn more: how do transactions work

learn more: how do transactions get verified

learn more: how does the millix network work

developers: full API documentation and tutorials

roadmap

the initial millix road map consisted of the following themes:

  • base organization and functionality

  • connecting millix protocol to machines for large scale transactions

  • large scale transaction speed and storage

  • a community of earning

  • store and own your personal data

developers: contribute to the millix project

learn more: see the current millix road map with dates

get started

millix is available to download for windows, mac, and linux at millix.org/client.