Skip to content

주소 ​

모든 NeuroChain 주소는 neuro:<name>.<type> 형식입니다. 접미사가 주소의 종류를 나타냅니다.

접미사무엇인가얻는 방법비용
.human여러분의 지갑시드 단어에서 파생무료
.node검증자.human 소유자가 등록min_stake(기본값 10 000 NRO), 검증자의 스테이크로 잠김
.app스마트 컨트랙트 주소배포 시 할당되거나, .human 소유자가 읽기 쉬운 이름으로 등록배포: 배포 수수료만. 읽기 쉬운 이름: min_stake(기본값 10 000 NRO), 소각
.vault다중 서명 트레저리.human 소유자가 등록min_stake(기본값 10 000 NRO), 소각
.agentAI 에이전트용 스마트 계정 (세션 키, 스폰서 가스).human 소유자가 등록이름 길이에 따름, 가격 참고

min_stake는 거버넌스 파라미터입니다. 기본값을 가정하지 말고 거버넌스 파라미터 API에서 현재 값을 읽으세요.

지갑 주소: .human ​

.human 주소는 공개 키로부터 계산되므로, 누구도 이를 등록할 수 없고 다른 누구도 소유할 수 없습니다.

주소 파생: 시드 단어를 정규화하고 NC_KDF_v3 레이블과 함께 SHA3-256으로 해시하여 32바이트 시드를 만들고, 이 시드로 ML-DSA-65 키 쌍을 생성합니다. 주소는 공개 키의 SHA3-256 값 앞 15개 16진 문자입니다

  1. 시드 단어를 소문자로 바꾸고 공백 하나로 이어 붙입니다.
  2. seed = SHA3-256("NC_KDF_v3|" + words) — 32바이트.
  3. 시드로 ML-DSA-65 키 쌍(Dilithium3, FIPS 204)을 생성합니다.
  4. address = "neuro:" + SHA3-256(공개 키)의 앞 15개 16진 문자 + ".human".

같은 키 쌍이 주소를 정의하는 동시에 모든 트랜잭션에 서명합니다. 비밀번호는 브라우저 키스토어에서 시드를 암호화하는 데만 쓰이며, 주소나 키에는 아무 영향을 주지 않습니다.

소유권 증명. .human 주소에 대한 서명된 작업을 받아들일 때, 노드는 함께 전송된 공개 키로부터 주소를 다시 계산합니다. 일치하지 않으면 작업은 거부됩니다 — 레지스트리도, "먼저 등록한 키가 이긴다"는 규칙도 없습니다.

사용자 지정 .human 이름 ​

지갑은 neuro:alice.human 같은 읽기 쉬운 이름을 구매할 수도 있습니다. 이 이름은 그것을 소유한 키 파생 주소의 NFT이자 별칭(alias)입니다:

  • 이름으로 보낸 모든 것 — NRO, 자산, IBC 바우처, 컨트랙트 지급금 — 은 소유자의 키 파생 주소로 들어갑니다. 트랜잭션에는 여전히 보낸 대상 이름이 표시되며, 소유자의 기록에 나타납니다.
  • 이름은 잔액을 갖지 않으며 절대 서명하지 않습니다. 자신의 이름으로 송금하는 것은 자기 자신에게 보내는 다른 전송과 마찬가지로 거부됩니다.
  • 이름은 여러분의 주소 목록에 표시되고 다른 NFT처럼 양도할 수 있습니다. 지급은 다음 블록부터 새 소유자를 따라갑니다.
  • 이름이 구매되기 전에 실수로 그 이름에 보내진 것은 구매자에게 넘어갑니다.

구매할 수 없는 이름도 있습니다: 15자 이상의 16진 문자로 된 이름(키 파생 주소의 형태를 띠어 다른 사람의 지급금을 가로챌 수 있음), 예약된 이름, 그리고 누군가 의도적으로 만든 계정의 이름(genesis에서 자금이 지급되었거나, 키에 바인딩되었거나, 아이덴티티 레지스트리에 있는 계정)입니다. 가격은 길이에 따라 다릅니다 — 아래를 참고하세요.

유료 이름에는 자체 키가 없습니다. 이를 소유한 .human 지갑의 키로 제어됩니다. 소유자가 아이덴티티를 통해 키를 교체하면 제어권도 함께 따라갑니다. 소유자가 없는 유료 주소는 어떤 키도 받아들이지 않습니다 — genesis 검증자 역시 genesis 설정에 지정된 소유자 지갑이 운영하며, 그들의 합의 키는 블록 서명에만 쓰입니다.

유형등록 시 하는 일
.node소유자에게서 min_stake를 차감하여 검증자의 스테이크로 기록합니다(언본딩 적용). 기본 커미션은 10%입니다. .node 주소만 합의 검증자가 됩니다.
.appmin_stake를 차감하여 소각하고, 읽기 쉬운 컨트랙트 이름을 예약합니다. (배포된 컨트랙트는 항상 자체 주소를 받습니다 — 아래 참고.)
.vaultmin_stake를 차감해 소각하고, 소유자를 첫 번째 멤버로 하며 임계값이 서명 2개인 vault를 생성합니다.
.agent길이 기반 수수료를 차감하고 에이전트 스마트 계정을 기록합니다. 검증자가 아니며 스테이크를 보유하지 않습니다.

배포로 생성되는 컨트랙트 주소 ​

모든 배포는 컨트랙트를 neuro:<10 hex>.app에 생성합니다. 여기서 hex는 SHA3-256(owner ‖ nonce)의 앞 5바이트입니다(nonce는 8바이트 빅엔디언). 주소는 모든 검증자에서 같은 방식으로 계산되므로, 배포가 최종 확정되기 전에 미리 알 수 있습니다. 컨트랙트 배포를 참고하세요.

유료 이름을 다른 소유자에게 양도하는 비용은 고정 100 uNRO(NFT_TRANSFER_FEE)입니다. 현재 값은 GET /api/v1/gas/estimate의 nft_transfer_fee로도 반환됩니다.

이름 가격 ​

사용자 지정 .human 이름과 .agent 주소는 길이에 따라 가격이 매겨집니다 — 짧을수록 희소하므로 더 비쌉니다. 가격과 판매되는 가장 짧은 이름 길이는 거버넌스 파라미터입니다: name_price_len_1 … name_price_len_5, name_price_len_6plus, name_min_len. 출시 시점에는 5자 이상의 이름이 판매되며, 더 짧은 이름은 투표로 열립니다. 기본값은 다음과 같습니다:

이름 길이가격
1자100 000 NRO
2자50 000 NRO
3자10 000 NRO
4자5 000 NRO
5자2 000 NRO
6자 이상500 NRO

이름 규칙 ​

등록되는 모든 이름에 적용됩니다:

  • ASCII 문자, 숫자, 하이픈만 사용할 수 있습니다.
  • 1자에서 32자까지.
  • 하이픈으로 시작하거나 끝날 수 없습니다.
  • 전체 주소는 neuro:로 시작해야 합니다.
  • 고유성은 전체 주소 기준입니다: neuro:foo.node, neuro:foo.app, neuro:foo.agent는 모두 동시에 존재할 수 있고 서로 다른 소유자에게 속할 수 있습니다. 사용자 지정 .human 이름은 이미 .node가 사용 중인 이름을 가져갈 수 없습니다.
  • 이름은 예약된 이름이 아니어야 합니다(아래 참고).

예약된 이름 ​

하나의 레지스트리가 모든 유료 주소 유형(.human 이름, .node, .agent, .vault, .app)과 자산 이름에 쓰이는 단어를 보호합니다. 일치 여부는 정확히, 대소문자를 구분하지 않고 판단합니다.

  • 프로토콜 자체의 이름 — system, nro, neurochain — 은 항상 예약되어 있습니다.
  • 그 외의 이름은 genesis 설정(NEUROCHAIN_RESERVED_NAMES)에서 지정되며, 이후에는 REGISTRY_CHANGE 투표로만 변경됩니다. 항목에는 그 이름을 여전히 가져갈 수 있는 소유자를 지정할 수 있습니다. 예를 들어 브랜드 자체의 지갑입니다.

자산 티커에는 보호 티커라는 쌍둥이 레지스트리가 있습니다. 자산 이름에는 보호 티커나 예약된 이름도 포함될 수 없습니다.

시스템 주소 ​

neuro:system.* 아래의 주소는 프로토콜이 예약합니다. 이들은 누군가 소유한 계정이 아니라 서명된 작업의 대상(neuro:system.stake, neuro:system.node, neuro:system.name, neuro:system.deploy, …)입니다.

함께 보기 ​