πŸ‡°πŸ‡· μΉ΄λ₯΄λ‹€λ…Έ 토큰: λ„€μ΄ν‹°λΈŒ 토큰 및 NFT κ΄€λ ¨ CIPλ“€

μΉ΄λ₯΄λ‹€λ…Έμ˜ μ‚¬μš©μž 토큰 및 NFT κ΄€λ ¨ CIPλ“€ μš”μ•½

Ilhun @CryptoVeri :twitter: enics_sky@naver.com

μΉ΄λ₯΄λ‹€λ…Έ 토큰

2024λ…„ 7μ›” 17일

μΉ΄λ₯΄λ‹€λ…Έ μ‚¬μš©μžλŠ” μžμ‹ λ§Œμ˜ 토큰을 μΉ΄λ₯΄λ‹€λ…Έ 블둝체인 상에 λ„€μ΄ν‹°λΈŒ ν† ν°μœΌλ‘œ 생성할 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ λ„€μ΄ν‹°λΈŒ 토큰은 슀마트 μ»¨νŠΈλž™νŠΈ 없이도 전솑 및 μ†Œκ°μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. μ΄λŠ” μ΄λ”λ¦¬μ›€μ˜ ERC-20 ν† ν°κ³Όμ˜ μ£Όμš” 차이점 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€. μΉ΄λ₯΄λ‹€λ…Έμ˜ λ„€μ΄ν‹°λΈŒ 토큰은 전솑과 μ €μž₯ μΈ‘λ©΄μ—μ„œ ADA와 μœ μ‚¬ν•œ κΈ°λŠ₯을 κ°€μ§€μ§€λ§Œ, μŠ€ν…Œμ΄ν‚Ήκ³Ό λ„€νŠΈμ›Œν¬ 수수료 μ§€λΆˆμ—λŠ” μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ νŠΉμ„±μœΌλ‘œ 인해 λ„€μ΄ν‹°λΈŒ ν† ν°μ˜ 생성과 관리가 더 효율적이고 λΉ„μš© νš¨κ³Όμ μž…λ‹ˆλ‹€. 특히 NFT(Non-Fungible Token) λΆ„μ•ΌλŠ” μ΄λŸ¬ν•œ μž₯점을 ν™œμš©ν•˜μ—¬ μΉ΄λ₯΄λ‹€λ…Έ μƒνƒœκ³„μ—μ„œ λΉ λ₯΄κ²Œ μ„±μž₯ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

그럼, μΉ΄λ₯΄λ‹€λ…Έ λΈ”λ‘μ²΄μΈμ—μ„œ λ„€μ΄ν‹°λΈŒ 토큰 및 NFT와 κ΄€λ ¨λœ μ£Όμš” μΉ΄λ₯΄λ‹€λ…Έ κ°œμ„  μ œμ•ˆ(Cardano Improvement Proposals, CIPs)μ—λŠ” μ–΄λ–€ 것듀이 μžˆλŠ”μ§€ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

CIP-25: λ―Έλ””μ–΄ 토큰 메타데이터 ν‘œμ€€ (CIP-25: Media Token Metadata Standard)

μƒνƒœ: ν™œμ„± (Active)

μ„€λͺ…: CIP-25λŠ” Cardano λ„€νŠΈμ›Œν¬μ˜ λ„€μ΄ν‹°λΈŒ 토큰에 λŒ€ν•œ λ―Έλ””μ–΄ 토큰 메타데이터 ν‘œμ€€μ„ μ •μ˜ν•©λ‹ˆλ‹€. μ΄λŠ” 메타데이터λ₯Ό 슀마트 μ»¨νŠΈλž™νŠΈ 없이도 λ„€μ΄ν‹°λΈŒ 토큰에 μ—°κ²°ν•  수 있게 ν•˜μ—¬, ν† ν°μ˜ 좜처λ₯Ό λͺ…ν™•νžˆ ν•˜κ³ , λ©”νƒ€λ°μ΄ν„°μ˜ 무결성을 보μž₯ν•©λ‹ˆλ‹€.

μ£Όμš” λ‚΄μš©:

  1. 메타데이터 λ ˆμ΄λΈ”: 721 값이 할당됨.
  2. ꡬ쑰:
    • policy_id와 asset_name을 ν¬ν•¨ν•˜μ—¬ ν† ν°μ˜ 메타데이터λ₯Ό μ •μ˜.
    • nameκ³Ό image ν•„λ“œλŠ” ν•„μˆ˜ ν•­λͺ©.
    • description, mediaType, files λ“±μ˜ 선택적 ν•„λ“œ 포함.
  3. 버전 관리:
    • 버전 1: policy_id와 asset_name을 ν…μŠ€νŠΈ ν˜•μ‹μœΌλ‘œ μ‚¬μš©.
    • 버전 2: policy_id와 asset_name을 λ°”μ΄νŠΈ ν˜•μ‹μœΌλ‘œ μ‚¬μš©.

μ˜ˆμ‹œ:

  • 버전 1:
    {
      "721": {
        "<policy_id>": {
          "<asset_name>": {
            "name": "<string>",
            "image": "<uri | array>"
          }
        }
      }
    }
    
  • 버전 2:
    {
      "721": {
        "<policy_id>": {
          "<asset_name>": {
            "name": "<string>",
            "image": "<uri | array>"
          }
        },
        "version": 2
      }
    }
    

이 ν‘œμ€€μ€ λ„€μ΄ν‹°λΈŒ 토큰에 메타데이터λ₯Ό μ—°κ²°ν•˜μ—¬, λ©”νƒ€λ°μ΄ν„°μ˜ 변경이 κ°€λŠ₯ν•˜κ³ , ν† ν°μ˜ μ§„μœ„μ„±μ„ 증λͺ…ν•  수 있게 ν•©λ‹ˆλ‹€.

CIP-68: 데이텀 메타데이터 ν‘œμ€€(CIP-68: Datum Metadata Standard)

μƒνƒœ: ν™œμ„± (Active)

μ„€λͺ…: CIP-68은 Cardano λ„€μ΄ν‹°λΈŒ μžμ‚°μ— λŒ€ν•œ 메타데이터 ν‘œμ€€μ„ μ •μ˜ν•©λ‹ˆλ‹€. 특히 NFT뿐만 μ•„λ‹ˆλΌ λͺ¨λ“  μžμ‚° ν΄λž˜μŠ€μ— λŒ€ν•΄ 좜λ ₯ 데이터λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 이 ν‘œμ€€μ€ CIP-25의 ν•œκ³„λ₯Ό ν•΄κ²°ν•˜κ³  λ©”νƒ€λ°μ΄ν„°μ˜ μ—…λ°μ΄νŠΈ, ν™•μž₯μ„±, 그리고 Plutus 검증기 λ‚΄μ—μ„œ λ©”νƒ€λ°μ΄ν„°μ˜ 검사λ₯Ό μš©μ΄ν•˜κ²Œ ν•©λ‹ˆλ‹€.

μ£Όμš” λ‚΄μš©:

  • μ°Έμ‘° NFT와 μ‚¬μš©μž 토큰: 두 μžμ‚°μ„ λ°œν–‰ν•˜μ—¬ μ°Έμ‘° NFTκ°€ 메타데이터λ₯Ό ν¬ν•¨ν•˜κ³ , μ‚¬μš©μž 토큰이 μ‹€μ œ μžμ‚°μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
  • 메타데이터 ꡬ쑰: λ©”νƒ€λ°μ΄ν„°λŠ” 첫 번째 ν•„λ“œμ— ν¬ν•¨λ˜κ³ , 버전과 μΆ”κ°€ ν”Œλ£¨νˆ¬μŠ€ 데이터가 포함될 수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œ:

  • μ°Έμ‘° NFT와 μ‚¬μš©μž ν† ν°μ˜ μžμ‚° 이름은 λ™μΌν•˜λ©°, 각각 asset_name_label 접두사λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

이 ν‘œμ€€μ€ ν”„λ‘œκ·Έλž˜λ° κ°€λŠ₯ν•œ 메타데이터λ₯Ό μ§€μ›ν•˜μ—¬, 슀마트 μ»¨νŠΈλž™νŠΈμ™€μ˜ μƒν˜Έμž‘μš©μ„ κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€. 메타데이터 μ—…λ°μ΄νŠΈκ°€ κ°€λŠ₯ν•˜λ©°, μ΄λŠ” κ²Œμž„ μžμ‚°κ³Ό 같은 μ§„ν™”ν•˜λŠ” NFT에 μœ μš©ν•©λ‹ˆλ‹€. 토큰 λΆ„λ₯˜ μ‹œμŠ€ν…œμ„ μ œκ³΅ν•˜μ—¬ 지갑과 제3자 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 토큰 μœ ν˜•μ„ μ‰½κ²Œ 인식할 수 있게 ν•©λ‹ˆλ‹€.

CIP-86: NFT 메타데이터 μ—…λ°μ΄νŠΈ 였라클 (NFT Metadata Update Oracles)

μƒνƒœ: μ œμ•ˆλ¨ (Proposed)

μ„€λͺ…: CIP-86은 CIP-25λ₯Ό ν™•μž₯ν•˜μ—¬ NFT 메타데이터 μ—…λ°μ΄νŠΈλ₯Ό 보닀 효율적으둜 κ΄€λ¦¬ν•˜λŠ” 방법을 μ œμ•ˆν•©λ‹ˆλ‹€. 슀마트 μ»¨νŠΈλž™νŠΈλ₯Ό 톡해 토큰을 λ―ΌνŒ…ν•˜κ±°λ‚˜ μ†Œκ°ν•  ν•„μš” 없이 메타데이터λ₯Ό μ—…λ°μ΄νŠΈν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. μ΄λŠ” 특히 κ²Œμž„ μžμ‚°κ³Ό 같은 동적인 NFT에 μœ μš©ν•©λ‹ˆλ‹€.

μ£Όμš” λ‚΄μš©:

  1. 메타데이터 였라클: νŠΉμ • μ •μ±… ID에 λŒ€ν•΄ 메타데이터 μ˜€λΌν΄μ„ μ§€μ •ν•˜μ—¬ 메타데이터 μ—…λ°μ΄νŠΈλ₯Ό 관리.
  2. μ—…λ°μ΄νŠΈ λ©”μ»€λ‹ˆμ¦˜: CIP-86은 CIP-25와 ν˜Έν™˜λ˜λ©΄μ„œλ„ 더 효율적인 μ—…λ°μ΄νŠΈ 방식을 제곡.
  3. λ‹€μ–‘ν•œ μ—…λ°μ΄νŠΈ 방식: λ‹¨μˆœ, μ •κ·œμ‹, ν‘œ ν˜•μ‹ μ—…λ°μ΄νŠΈ 지원.

μ°Έμ‘° URL: CIP-86: NFT Metadata Update Oracles

이 μ œμ•ˆμ€ 토큰을 λ―ΌνŒ…ν•˜κ±°λ‚˜ μ†Œκ°ν•˜μ§€ μ•Šκ³ λ„ 메타데이터λ₯Ό μ—…λ°μ΄νŠΈν•  수 있게 ν•΄μ€λ‹ˆλ‹€. κ²Œμž„ μžμ‚°κ³Ό 같이 자주 λ³€ν•˜λŠ” 동적인 NFT에 특히 μœ μš©ν•˜λ©°, 메타데이터 μ—…λ°μ΄νŠΈλ₯Ό 더 효율적으둜 ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

CIP-88: 토큰 μ •μ±… 등둝 (CIP-88: Token Policy Registration)

μƒνƒœ: μ œμ•ˆλ¨ (Proposed)

μ„€λͺ…: CIP-88은 토큰 ν”„λ‘œμ νŠΈ(NFT λ˜λŠ” FT)의 λ―ΌνŒ… 정책에 λŒ€ν•œ μ˜λ„, μ„ΈλΆ€ 사항 및 κΈ°λŠ₯ μ„ΈνŠΈλ₯Ό μ˜¨μ²΄μΈμ—μ„œ 등둝할 수 μžˆλŠ” 방법을 μ œμ•ˆν•©λ‹ˆλ‹€. 이 μ œμ•ˆμ€ κΈ°μ‘΄ GitHub λ ˆμ§€μŠ€νŠΈλ¦¬λ₯Ό μ‚¬μš©ν•œ 쀑앙 집쀑화 문제λ₯Ό ν•΄κ²°ν•˜κ³ , λ©”νƒ€λ°μ΄ν„°μ˜ 무결성을 보μž₯ν•˜κΈ° μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€.

μ£Όμš” λ‚΄μš©:

  1. 메타데이터 등둝: ν”„λ‘œμ νŠΈμ˜ κΈ°λŠ₯ μ„ΈνŠΈμ™€ 메타데이터 μ„ΈλΆ€ 사항을 μ˜¨μ²΄μΈμ— 등둝.
  2. 검증 방법: κ°•λ ₯ν•œ μœ ν˜•μ˜ 데이터 ꡬ쑰λ₯Ό μ‚¬μš©ν•˜μ—¬ λ©”νƒ€λ°μ΄ν„°μ˜ μ •ν™•μ„±κ³Ό 신뒰성을 보μž₯.
  3. 토큰 λΆ„λ₯˜: 지갑과 제3자 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 토큰 μœ ν˜•μ„ μ‰½κ²Œ 인식할 수 μžˆλ„λ‘ 함.

이 μ œμ•ˆμ€ ν•˜μ΄λΈŒλ¦¬λ“œ(온체인 및 μ˜€ν”„μ²΄μΈ) 정보 μŠ€ν‚€λ§ˆλ₯Ό μ‚¬μš©ν•˜μ—¬ μœ μ—°μ„±κ³Ό 적응성을 μ΅œλŒ€ν™”ν•©λ‹ˆλ‹€. λ˜ν•œ 토큰을 λ―ΌνŒ…ν•˜κΈ° 전에 μ˜¨μ²΄μΈμ— 정책을 등둝할 수 있게 ν•΄μ£Όλ©°, λ„€μ΄ν‹°λΈŒ 슀크립트, ν”Œλ£¨νˆ¬μŠ€ 슀크립트 λ“± λ‹€μ–‘ν•œ μŠ€μ½”ν”„λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. 그리고 CIP-25, CIP-68 λ“± λ‹€λ₯Έ CIPλ“€κ³Όμ˜ ν˜Έν™˜μ„±μ„ κ³ λ €ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

CIP-60: μŒμ•… 토큰 메타데이터 (CIP-60: Music Token Metadata)

μƒνƒœ: ν™œμ„± (Active)

μ„€λͺ…: CIP-60은 CIP-25와 CIP-68을 ν™•μž₯ν•˜μ—¬ μŒμ•… 토큰에 νŠΉν™”λœ 메타데이터 ν‘œμ€€μ„ μ •μ˜ν•©λ‹ˆλ‹€. 이 ν‘œμ€€μ€ Cardanoμ—μ„œ μŒμ•… 토큰을 μƒμ„±ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 데 ν•„μš”ν•œ 곡톡 μŠ€ν‚€λ§ˆλ₯Ό μ œκ³΅ν•˜μ—¬, ν”Œλ ˆμ΄μ–΄, μΈλ±μ„œ, 지갑 등이 μ‚¬μš©μžμ˜ μŒμ•… μ»¬λ ‰μ…˜μ„ μ œλŒ€λ‘œ κ²€μƒ‰ν•˜κ³  λΆ„λ₯˜ν•  수 있게 ν•©λ‹ˆλ‹€.

μ£Όμš” λ‚΄μš©:

  1. ν•„μˆ˜ ν•„λ“œ: μ•„ν‹°μŠ€νŠΈ, 릴리즈 제λͺ©, νŠΈλž™ 번호, 곑 제λͺ©, 곑 길이, μž₯λ₯΄, μ €μž‘κΆŒ, 릴리즈 μœ ν˜•, μŒμ•… 메타데이터 버전.
  2. 선택 ν•„λ“œ: κΈ°μ—¬ μ•„ν‹°μŠ€νŠΈ, μ‹œλ¦¬μ¦ˆ, μ»¬λ ‰μ…˜, μ„ΈνŠΈ, κΈ°λΆ„, 가사, μž‘μ‚¬κ°€, 특수 감사, λΉ„μ£Όμ–Ό μ•„ν‹°μŠ€νŠΈ, 배급사 λ“±.

μ˜ˆμ‹œ:

  • 단일 곑 및 λ‹€μˆ˜ 곑 μ˜ˆμ‹œ 제곡, 각 곑에 λŒ€ν•œ 메타데이터λ₯Ό 포함.

Single

{
    "721":
    {
        "123da5e4ef337161779c6729d2acd765f7a33a833b2a21a063ef65a5":
        {
            "SickCity354":
            {
                "name": "SickCity354-Phil z'viel",
                "image": "ipfs://QmQ13Cv9Wouf4rcwtNsuFhEeJVK9bEYjCYo6AN986takiu",
                "music_metadata_version": 2,
                "release": {
                    "release_type": "Single",
                    "release_title": "C.H.I.L.L.",
                    "distributor": "https://sickcity.xyz"
                }
                "files":
                [
                    {
                        "name": "C.H.I.L.L.",
                        "mediaType": "audio/mp3",
                        "src": "ipfs://QmfY4ugNdYYJxpbn5BnN8yt5EmiUCznexQoQi6RTEu9SuC"
                        "song": {
                            "song_title": "C.H.I.L.L.",
                            "song_duration": "PT3M6S",
                            "track_number": 1,
                            "mood": "chillout",
                            "artists":
                            [
                                { "name": "Phil z'viel" }
                            ],
                            "collection": "C.H.I.L.L.",
                            "genres":
                            [
                                "Guitar Live Looping",
                                "Progressive Ambient"
                            ],
                            "copyright": "β„— 2022 Phil z'viel",
                            "links":
                            {
                                "discord_user": "Phil z'viel#4711",
                                "twitter": "@Phil_zviel_CNFT",
                                "website": "www.philzvielcnft.com"
                            }
                        }
                    }
                ],
            }
        }
    }
}
  • policyID: 토큰 정책을 μ‹λ³„ν•˜λŠ” 고유 μ‹λ³„μžμž…λ‹ˆλ‹€.
  • assetName: ν† ν°μ˜ 고유 μ΄λ¦„μž…λ‹ˆλ‹€.
  • name: μŒμ•… ν† ν°μ˜ μ΄λ¦„μž…λ‹ˆλ‹€.
  • image: 토큰을 λŒ€ν‘œν•˜λŠ” 이미지 파일의 URIμž…λ‹ˆλ‹€.
  • music_metadata_version: μŒμ•… λ©”νƒ€λ°μ΄ν„°μ˜ λ²„μ „μž…λ‹ˆλ‹€.
  • release: 발맀 κ΄€λ ¨ μ •λ³΄μž…λ‹ˆλ‹€.
    • release_type: 발맀 μœ ν˜• (예: Single).
    • release_title: 발맀 제λͺ©μž…λ‹ˆλ‹€.
    • distributor: λ°°κΈ‰μ‚¬μ˜ URIμž…λ‹ˆλ‹€.
  • files: μŒμ•… 파일 κ΄€λ ¨ μ •λ³΄μž…λ‹ˆλ‹€.
    • name: 파일 μ΄λ¦„μž…λ‹ˆλ‹€.
    • mediaType: 파일의 λ―Έλ””μ–΄ νƒ€μž…μž…λ‹ˆλ‹€.
    • src: 파일의 URIμž…λ‹ˆλ‹€.
    • song: λ…Έλž˜μ— λŒ€ν•œ μ •λ³΄μž…λ‹ˆλ‹€.
      • song_title: λ…Έλž˜ 제λͺ©μž…λ‹ˆλ‹€.
      • song_duration: λ…Έλž˜μ˜ κΈΈμ΄μž…λ‹ˆλ‹€.
      • track_number: νŠΈλž™ λ²ˆν˜Έμž…λ‹ˆλ‹€.
      • mood: λ…Έλž˜μ˜ λΆ„μœ„κΈ°μž…λ‹ˆλ‹€.
      • artists: μ•„ν‹°μŠ€νŠΈ μ •λ³΄μž…λ‹ˆλ‹€.
        • name: μ•„ν‹°μŠ€νŠΈμ˜ μ΄λ¦„μž…λ‹ˆλ‹€.

이 ν‘œμ€€μ€ μ‹±κΈ€, EP, 앨범 λ“±μ˜ λ‹€μ–‘ν•œ μŒμ•… 발맀 ν˜•μ‹μ„ μ§€μ›ν•©λ‹ˆλ‹€. λ˜ν•œ μŒμ•… NFT μƒνƒœκ³„μ˜ μƒν˜Έμš΄μš©μ„±μ„ ν–₯μƒμ‹œν‚€λŠ” 것을 λͺ©ν‘œλ‘œ ν•˜λ©°, 닀쀑 μ•„ν‹°μŠ€νŠΈ, λ‹€μ–‘ν•œ μž₯λ₯΄ λ“± μŒμ•… μ‚°μ—…μ˜ νŠΉμˆ˜μ„±μ„ κ³ λ €ν•˜μ—¬ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

κ²°λ‘ 

이 CIP듀은 μΉ΄λ₯΄λ‹€λ…Έ λΈ”λ‘μ²΄μΈμ—μ„œ λ„€μ΄ν‹°λΈŒ 토큰과 NFT의 메타데이터λ₯Ό κ΄€λ¦¬ν•˜κ³  μ—…λ°μ΄νŠΈν•˜λŠ” λ‹€μ–‘ν•œ 방법을 μ œκ³΅ν•©λ‹ˆλ‹€. 각각의 CIPλŠ” νŠΉμ • λͺ©μ μ„ 가지고 있으며, κ°œλ°œμžλ“€μ΄ 이λ₯Ό ν™œμš©ν•˜μ—¬ 보닀 효율적인 토큰 관리와 ν™œμš©μ„ ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€. μžμ„Έν•œ μ •λ³΄λŠ” μΉ΄λ₯΄λ‹€λ…Έ κ°œμ„  μ œμ•ˆ(CIP) μ›Ήμ‚¬μ΄νŠΈμ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.