newsence
來源篩選

Solid: A Fixed-Supply ERC-20 Primitive Without Initial Allocation (Clones of NOTHING)

Ethereum Magicians

Solid is a fixed-supply ERC-20 primitive that removes discretionary initial allocation. This sits near the design space discussed here: https://ethereum-magicians.org/t/add-erc-token-with-built-in-amm/22336 However, Solid is not an ERC proposal and not a generalized AMM standard. It is a single canonical implementation contract named NOTHING, from which all Solids are made. The structural issue Fixed supply does not imply neutral allocation. In a typical ERC-20 deployment, the full supply must be assigned at creation. Even if minting is permanently disabled, that initial assignment is a structural privilege. Solid removes that step entirely. There is no premine. There is no allocation event. There is no initial assignment to an externally owned account. What it is A Solid is an ERC-20 token that implements its own constant-product trading logic inside the token contract itself. There is no external pair contract. There is no separate AMM deployment. The pricing invariant and the token live in the same contract. Every Solid: has a fixed total supply maintains its own in-contract constant product pool can always be bought or sold directly against that pool has no owner, admin, upgrade path, or fees The constant product curve is standard. The constraint is the elimination of discretionary initial allocation. NOTHING and “making” a Solid All Solids are ERC-1167 minimal proxy clones of NOTHING. New Solids are created by calling make(name, symbol) on NOTHING: make is not payable the full supply is placed directly into the pool the maker receives zero tokens only name and symbol are configurable No new logic is deployed when making a Solid. Clones delegate to the canonical NOTHING implementation while maintaining independent state. Calling make (or made ) on any Solid behaves identically to calling it on NOTHING. Mechanism Pricing follows a constant product invariant: k = S * E Where: S is the Solid balance held by the contract balance is address(this).balance E = balance + 1 The +1 is a constant virtual native reserve. It exists only to define the invariant at initialization and cannot be extracted. At creation, balance = 0 , so E = 1 . The maker must acquire tokens by trading against the same invariant as everyone else. The only structural advantage is temporal ordering. Canonical references Spec: https://solid.uniteum.one/protocol NOTHING: https://solid.uniteum.one/nothing Code (jekyll branch): https://github.com/uniteum/solid NOTHING on mainnet: https://etherscan.io/address/0xB1c5929334BF19877faBBFC1CFb3Af8175b131cE Example Solid (Uniteum 1): https://etherscan.io/token/0x7D5B1349157335aEEB929080a51003B529758830 Feedback I’m looking for prior art I may have missed, obvious structural failure modes, or reasons this constraint does not meaningfully change the launch surface. 1 post - 1 participant Read full topic

newsence

Solid:無初始分配的固定供應ERC-20基礎架構(NOTHING的克隆)

Ethereum Magicians
16 天前

AI 生成摘要

Solid 是一種創新的 ERC-20 代幣設計,它透過將恆定乘積 AMM 直接嵌入代幣合約本身,消除了任意的初始分配,並將固定供應的代幣創建為標準 NOTHING 合約的克隆。

Solid:無初始分配的固定供應量 ERC-20 代幣(NOTHING 的克隆)- 原始湯 - 以太坊魔法師團體

This is a proposal for a simple, fixed-supply ERC-20 token that is deployed with zero tokens allocated to the deployer or any other address. All tokens are minted via a public, permissionless mint function. This is inspired by the NOTHING token.

這是一個關於簡單、固定供應量的 ERC-20 代幣的提案,該代幣在部署時不會將任何代幣分配給部署者或任何其他地址。所有代幣都通過公開、無需許可的鑄造函數來鑄造。這受到了 NOTHING 代幣的啟發。

Motivation

  • Fair Launch: Ensures a truly fair launch where no one has an unfair advantage.
  • Community Ownership: Fosters a strong sense of community ownership from the outset.
  • Simplicity: Easy to understand and audit, reducing the risk of bugs and exploits.
  • Experimentation: Provides a base for interesting experiments in token distribution and governance.

動機

  • 公平啟動: 確保真正的公平啟動,沒有人擁有不公平的優勢。
  • 社群所有權: 從一開始就培養強烈的社群所有權意識。
  • 簡潔性: 易於理解和審計,降低錯誤和漏洞的風險。
  • 實驗性: 為代幣分配和治理方面的有趣實驗提供基礎。

Proposed Implementation

The contract would implement the ERC-20 standard with the following key features:

  • totalSupply: A fixed, immutable value defined at deployment.
  • balanceOf: Returns the balance of a given address.
  • transfer: Allows users to transfer tokens to other addresses.
  • approve and allowance: Standard ERC-20 allowance mechanism.
  • mint(address to, uint256 amount): A public, permissionless function that allows anyone to mint tokens up to the totalSupply. This function would:
    • Revert if totalSupply is reached.
    • Update the balanceOf the recipient.
    • Emit a Transfer event from address 0x0 to the recipient.
  • No initial allocation to the deployer or any other address.

提議的實施方案

該合約將實現 ERC-20 標準,並具有以下關鍵特性:

  • totalSupply:在部署時定義的固定、不可變的值。
  • balanceOf:返回給定地址的餘額。
  • transfer:允許用戶將代幣轉移到其他地址。
  • approveallowance:標準的 ERC-20 授權機制。
  • mint(address to, uint256 amount):一個公開、無需許可的函數,允許任何人鑄造代幣,直到達到 totalSupply。此函數將:
    • 如果達到 totalSupply,則回滾。
    • 更新接收者的 balanceOf
    • 從地址 0x0 向接收者發出 Transfer 事件。
  • 沒有初始分配給部署者或任何其他地址。

Example Solidity Code (Simplified)

範例 Solidity 程式碼(簡化)

Considerations

  • Gas Costs: The mint function will incur gas costs for users.
  • Front-Running: Potential for front-running on the mint function. Consider implementing a mechanism to mitigate this, such as a Merkle tree or a lottery system.
  • Sybil Resistance: Consider mechanisms to prevent Sybil attacks during the minting process.
  • Governance: How will the token be governed after distribution?

考量

  • Gas 成本: mint 函數將為用戶產生 gas 成本。
  • 搶先交易: mint 函數存在搶先交易的可能性。考慮實施一種機制來減輕這種情況,例如 Merkle 樹或抽獎系統。
  • 女巫攻擊抵抗: 考慮在鑄造過程中防止女巫攻擊的機制。
  • 治理: 代幣分配後將如何治理?

Next Steps

  • Develop a more robust and secure smart contract implementation.
  • Explore different mechanisms for mitigating front-running and Sybil attacks.
  • Discuss potential governance models for the token.

下一步

  • 開發更強大和安全的智能合約實施方案。
  • 探索用於減輕搶先交易和女巫攻擊的不同機制。
  • 討論代幣的潛在治理模型。