WEMIX3.0
WEMIX3.0 (KOR)
WEMIX3.0 (KOR)
  • Introduction
    • Blockchain Basics
      • What is Blockchain?
      • Consensus Algorithm
      • Transactions
      • Gas
      • Account
  • Design
    • Architecture
    • Consensus
    • Governance
    • Minting
    • EIP1559
    • Fee Delegation
    • Eco Fund
    • Roadmap
  • Quick Start
    • Start Node
      • Use Binary
        • Command-line Option
      • Use Public API Server(RPC)
    • Connect Node
    • Account
      • Use MetaMask
    • Testnet Faucet
  • Install & Operation
    • End Node
      • System Requirements
      • Firewall Setting
      • Install Guide
    • Block Producer Node
      • System Requirements
      • Firewall Setting
      • Install Guide
    • Download
    • Operation Guide
  • dApp Developer
    • Smart Contract
      • Solidity
      • Precompiled Contracts
      • Sample Contracts
    • JSON-RPC
    • API Reference
      • Account APIs
      • Block APIs
      • Contract APIs
      • Transaction APIs
      • Event logs APIs
      • Tokens APIs
  • Tutorial
    • Wallet μƒμ„±ν•˜κΈ°
    • Test Coin λ°›κΈ°
    • Smart Contract μƒμ„±ν•˜κΈ°
      • Remixμ—μ„œ κ°œλ°œν•˜κΈ°
      • Truffle μ‚¬μš©ν•˜κΈ°
      • Hardhat μ‚¬μš©ν•˜κΈ°
    • ERC-20 Token
      • ERC-20 Contract λ§Œλ“€κΈ°
      • ERC-20 Token ν™•μΈν•˜κΈ°
      • ERC-20 Token 보내기
      • ERC-20 Token API μ‘°νšŒν•˜κΈ°
      • ERC-20 Token μ†Œκ°ν•˜κΈ°
    • ERC-721 Token
      • ERC-721 Contract λ§Œλ“€κΈ°
      • ERC-721 Mintingν•˜κΈ°
      • ERC-721 Token API μ‘°νšŒν•˜κΈ°
      • ERC-721 Token μ†Œκ°ν•˜κΈ°
    • Fee Delegation μ‚¬μš©ν•˜κΈ°
  • Manual
    • Explorer
    • Wallet
  • FAQ
Powered by GitBook
On this page
  • RAFT(Reliable And Fault Tolerant) Algorithm
  • WEMIX3.0 ν•©μ˜ λ©”μ»€λ‹ˆμ¦˜
  • SPoA(Stake base Proof of Authority)
  • Authority
  • Miner Selection
  • Reward Distribution
  • Block Generation
  • Block Verification
  1. Design

Consensus

ν•©μ˜ λ©”μ»€λ‹ˆμ¦˜(μ•Œκ³ λ¦¬μ¦˜)은 μ‹ λ’°κ°€ μ—†λŠ” 주체듀 κ°„ ν•©μ˜μ— λ„λ‹¬ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€. 블둝체인 κΈ°μˆ μ—μ„œλŠ” 블둝이 μœ νš¨ν•œμ§€ μ•„λ‹Œμ§€μ— λŒ€ν•œ ν•©μ˜μ— λ„λ‹¬ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. 블둝체인 λ„€νŠΈμ›Œν¬μ˜ μ„±λŠ₯은 μ„ νƒλœ ν•©μ˜ λ©”μ»€λ‹ˆμ¦˜μ˜ μ„±λŠ₯에 μ˜μ‘΄ν•˜λ©°, 블둝체인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ‚¬μš©μ„±μ— μƒλ‹Ήν•œ 영ν–₯을 λ―ΈμΉ©λ‹ˆλ‹€. 이 λ¬Έμ„œμ—μ„œ μš°λ¦¬λŠ” WEMIXκ°€ μ–΄λ–»κ²Œ κ³ μ„±λŠ₯ ν•©μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό κ΅¬ν˜„ν–ˆλŠ”μ§€ μ‚΄νŽ΄λ³Ό κ²ƒμž…λ‹ˆλ‹€.

RAFT(Reliable And Fault Tolerant) Algorithm

RAFTλŠ” μ„ μΆœλœ 리더에 μ˜ν•˜μ—¬ ν΄λŸ¬μŠ€ν„°μ˜ λͺ¨λ“  λ…Έλ“œμ— μžˆλŠ” 데이터 μ €μž₯μ†Œμ˜ 일관성을 보μž₯ν•˜κ²Œ ν•˜λŠ” ν•©μ˜ λ°©μ‹μž…λ‹ˆλ‹€. RAFT에 μ°Έμ—¬ν•˜λŠ” λ…Έλ“œλ“€μ€ 리더(Leader), μΆ”μ’…μž(Follower) 쀑 ν•˜λ‚˜μ΄λ©°, 리더 μ„ μΆœ 쀑엔 λˆ„κ΅¬λ‚˜ ν›„λ³΄μž(Candidate)κ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€. λ¦¬λ”λŠ” μΆ”μ’…μžλ“€μ—κ²Œ 동기화할 데이터λ₯Ό μƒμ„±ν•΄μ„œ 곡유 ν•΄μ•Ό ν•©λ‹ˆλ‹€. λ¦¬λ”λŠ” 보톡 ν•˜νŠΈλΉ„νŠΈ λ©”μ‹œμ§€λ₯Ό λͺ¨λ“  μΆ”μ’…μžλ“€μ—κ²Œ 주기적으둜 μ „μ†‘ν•¨μœΌλ‘œμ¨ λ¦¬λ”μ˜ 쑴재λ₯Ό μ•Œλ¦½λ‹ˆλ‹€. 각 μΆ”μ’…μžλ“€μ€ λ¦¬λ”μ˜ ν•˜νŠΈλΉ„νŠΈμ— λŒ€ν•΄ νƒ€μž„μ•„μ›ƒ 값을 λžœλ€ν•˜κ²Œ μ„ νƒν•˜κ³ , νƒ€μž„μ•„μ›ƒ κΈ°κ°„ λ™μ•ˆ ν•˜νŠΈλΉ„νŠΈλ₯Ό μˆ˜μ‹ ν•˜λ©΄ νƒ€μž„μ•„μ›ƒμ„ λ‹€μ‹œ λ¦¬μ…‹ν•©λ‹ˆλ‹€. λ°˜λ©΄μ— νƒ€μž„μ•„μ›ƒ λ™μ•ˆ ν•˜νŠΈλΉ„νŠΈλ₯Ό λ°›μ§€ λͺ»ν•  경우, μΆ”μ’…μžλŠ” ν›„λ³΄μžλ‘œ μƒνƒœλ₯Ό λ°”κΎΈκ³  리더 μ„ μΆœμ— μ°Έμ—¬ν•˜κ²Œ λ©λ‹ˆλ‹€. μ—¬λŸ¬ λ…Έλ“œκ°€ λ™μ‹œμ— 리더 μ„ μΆœμ— μ°Έμ—¬ν•˜λ©΄ 좩돌이 λ°œμƒν•˜κΈ° λ•Œλ¬Έμ— νƒ€μž„μ•„μ›ƒμ€ 랜덀 λ°±μ˜€ν”„ 둜직 따라 κ²°μ •ν•˜κ²Œ λ©λ‹ˆλ‹€.

WEMIX3.0 ν•©μ˜ λ©”μ»€λ‹ˆμ¦˜

SPoA(Stake base Proof of Authority)

WEMIX 블둝체인은 κ³ μ„±λŠ₯ μ‹€μ‹œκ°„ μ„œλΉ„μŠ€λ₯Ό μ§€ν–₯ν•˜λŠ” 퍼블릭 λΈ”λ‘μ²΄μΈμœΌλ‘œ 블둝 생성은 사전에 ν—ˆκ°€λ°›μ€ Authority Member듀에 μ˜ν•΄μ„œλ§Œ κ°€λŠ₯ν•©λ‹ˆλ‹€. λ”°λΌμ„œ κΈ°λ³Έ ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜μ€ PoAλ₯Ό λ”°λ¦…λ‹ˆλ‹€. ν•˜μ§€λ§Œ, μ„ μΆœλœ Authority Member의 μ˜€λ™μž‘ λ˜λŠ” μ•…μ˜μ μΈ 행동에 λŒ€ν•œ 물리적인 νŽ˜λ„ν‹°λ₯Ό On-Chain μƒμ—μ„œ λΆ€μ—¬ν•˜κΈ° μœ„ν•˜μ—¬ WEMIXλ₯Ό νŠΉμ •λŸ‰ 이상 Staking ν•˜λ„λ‘ κ°•μ œν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ WEMIX λΈ”λ‘μ²΄μΈμ˜ ν•©μ˜ 방식을 SPoA라고 μ •μ˜ν•©λ‹ˆλ‹€.

Authority

WEMIX λΈ”λ‘μ²΄μΈμ˜ ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜μ— μ°Έμ—¬ν•˜λŠ” AuthorityλŠ” Bitcoin/Ethereum λ“±μ˜ ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜ PoW의 λ§ˆμ΄λ„ˆμ™€ 같은 역할을 μˆ˜ν–‰ν•˜λŠ” μ»¨μ†Œμ‹œμ›€μ„ μ˜λ―Έν•©λ‹ˆλ‹€. WEMIX λΈ”λ‘μ²΄μΈμ—μ„œ Authority에 ν¬ν•¨λ˜κ±°λ‚˜ μ‚­μ œλ˜λŠ” 과정은 κΈ°μ‘΄ Authority Memberλ“€μ˜ Voting에 μ˜ν•΄μ„œ κ²°μ •λ©λ‹ˆλ‹€. Authority Memberκ°€ 되기 μœ„ν•œ 쑰건 및 μ ˆμ°¨λŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

  1. λͺ…ν™•ν•œ 신원 확인

  2. μ˜€ν”„λΌμΈμ—μ„œ 법적 효λ ₯이 μžˆλŠ” 계약을 WEMIX νŒŒμš΄λ°μ΄μ…˜κ³Ό 체결

  3. κΈ°λ³Έ 신상 μ •λ³΄μ˜ 곡개

  4. 사전 μ •μ˜λœ WEMIXλ₯Ό μ‹œμŠ€ν…œ λ ˆμ§€μŠ€νŠΈλ¦¬ μ»¨νŠΈλž™νŠΈμ— λ“±λ‘λœ Staking μ»¨νŠΈλž™νŠΈμ— 전솑

이후 Staking이 ν™•μΈλ˜λ©΄ κΈ°μ‘΄ Authority Member 쀑 λˆ„κ΅¬λΌλ„ 멀버 μΆ”κ°€ μ œμ•ˆμ„ κ±°λ²„λ„ŒμŠ€ μ»¨νŠΈλž™νŠΈμ— μ œμ•ˆν•˜κ³  κΈ°μ‘΄ Authority Memberλ“€μ˜ 50% μ΄μƒμ˜ 찬성이 있으면 μƒˆλ‘œμš΄ Authority Member둜 λ“±λ‘λ©λ‹ˆλ‹€.

Authority Member듀은 μ‚¬μš©μžλ“€μ΄ μƒμ„±ν•œ 거래 내역을 κ²€μ¦ν•˜μ—¬ 검증이 ν†΅κ³Όλœ κ±°λž˜λ“€μ„ Mempool에 μž„μ‹œλ‘œ μ €μž₯ν•©λ‹ˆλ‹€. Authority MemberλŠ” Miner둜 μ„ μΆœλ˜μ—ˆμ„ λ•Œ 이전 λΈ”λ‘μ˜ ν•΄μ‹œ 정보λ₯Ό ν¬ν•¨ν•œ 블둝을 μƒμ„±ν•©λ‹ˆλ‹€. 이 과정은 μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό 톡해 μžλ™μ μœΌλ‘œ 이루어지며 Authority Memberκ°€ μ§€μ†μ μœΌλ‘œ λ„€νŠΈμ›Œν¬μ˜ μƒνƒœλ₯Ό λͺ¨λ‹ˆν„°λ§ ν•  ν•„μš”λŠ” μ—†μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ Authority MemberλŠ” 블둝을 μƒμ„±ν•˜λŠ” 컴퓨터가 μ•…μ˜μ μœΌλ‘œ μ‚¬μš©λ˜μ§€ μ•Šλ„λ‘ λ°©ν™”λ²½ 및 μ–΄μΉ΄μš΄νŠΈμ˜ κ°œμΈν‚€ 관리에 μ±…μž„μ„ μ Έμ•Όν•©λ‹ˆλ‹€.

On-Chain κ±°λ²„λ„ŒμŠ€ μ»¨νŠΈλž™νŠΈμ—μ„œ 처리 κ°€λŠ₯ν•œ νˆ¬ν‘œλŠ” ν˜„μž¬ dApp으둜 κ΅¬ν˜„λœ 찬반 νˆ¬ν‘œλ‘œ μΆ”ν›„ λ‹€μ–‘ν•œ μ’…λ₯˜μ˜ νˆ¬ν‘œλ₯Ό 지원할 μ˜ˆμ •μž…λ‹ˆλ‹€. νˆ¬ν‘œμ˜ κ°€μ€‘μΉ˜λŠ” Phase 1μ—μ„œλŠ” Stakingν•œ WEMIX의 양에 λΉ„λ‘€ν•˜κ³ , Phase2μ—μ„œλŠ” Stakingν•œ WEMIX의 양에 상관없이 λ™μΌν•œ κ°€μ€‘μΉ˜κ°€ μ μš©λ©λ‹ˆλ‹€. μ•…μ˜μ μΈ 행동이 κ°μ§€λ˜λ©΄ Authority Memberλ“€μ˜ νˆ¬ν‘œμ— μ˜ν•΄ λ‹Ήμ‚¬μžλŠ” Authority μžκ²©μ„ κ°•μ œλ‘œ λ°•νƒˆλ‹Ήν•  수 있고 Stakingν•œ WEMIXκ°€ λͺ°μˆ˜λ˜μ–΄ 블둝생성 보상을 λ°›μ„μˆ˜ μ—†κ²Œ λ©λ‹ˆλ‹€.

이와 같이 Stakingκ³Ό Reward μ‹œμŠ€ν…œμ„ κ΅¬μ„±ν•œ μ΄μœ λŠ” μ°Έμ—¬ν•˜λŠ” λͺ¨λ“  Authority Member듀이 ν•©μ˜λœ ν”„λ‘œν† μ½œμ— μ˜ν•΄ λ™μž‘ν•΄μ•Όλ§Œ ν•˜λŠ” λ‹Ήμœ„μ„±μ„ λ§Œλ“€κ³  WEMIX 블둝체인 λ„€νŠΈμ›Œν¬μ˜ 건전성을 자율적으둜 μœ μ§€ν•˜κ²Œ ν•˜λ„λ‘ ν•˜κΈ° μœ„ν•¨ μž…λ‹ˆλ‹€.

Miner Selection

Bitcoin의 PoWλ₯Ό 예둜 λ“€μžλ©΄, ν”„λ‘œν† μ½œμ— μ˜ν•΄ κ³„μ‚°λœ Difficultyλ₯Ό λ§Œμ‘±ν•˜λŠ” 블둝헀더 ν•΄μ‹œλ₯Ό μƒμ„±ν•œ λ§ˆμ΄λ„ˆκ°€ 블둝생성과 λΈ”λ‘μ „νŒŒλ₯Ό ν•  수 μžˆλ„λ‘ λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€. λΈ”λ‘μƒμ„±μ˜ κΆŒν•œμ΄ λ”°λ‘œ μ‘΄μž¬ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μƒν˜Έ κ²½μŸμ— μ˜ν•΄ 블둝을 μƒμ„±ν•˜κ²Œ λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ 이유둜 블둝생성 κ²½μŸμ„ μœ„ν•΄ μžμ›μ΄ 낭비될 수 밖에 μ—†μœΌλ©° Difficulty 쑰건을 λ§Œμ‘±ν•˜λŠ” Workλ₯Ό 증λͺ…ν•΄μ•Όλ§Œ ν•˜λ―€λ‘œ 블둝생성 μ‹œκ°„μ— 물리적인 μ œμ•½(평균 λΉ„νŠΈμ½”μΈ 10λΆ„/ 이더리움 15초)을 μ£Όκ²Œλ©λ‹ˆλ‹€. 결과적으둜 PoWλŠ” ν™•μž₯μ„± 트릴레마λ₯Ό κ°€μ§€κ³  있으며 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ ν˜„μ‹€μ μΈ λ°©μ•ˆμœΌλ‘œ PoS의 λ„μž… λ˜λŠ” 샀딩(Sharding) 등이 μ œμ•ˆλ˜μ–΄ μ—°κ΅¬λ˜κ³  μžˆμœΌλ‚˜, μ•„μ§κΉŒμ§€λŠ” μ™„μ „ν•˜κ²Œ λΆ„μ‚°ν™”λœ λ°©μ‹μœΌλ‘œ PoS둜 μš΄μ˜λ˜λŠ” 퍼블릭 블둝체인은 μ‘΄μž¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

WEMIX3.0은 PoWλ‚˜ PoS같은 방식을 μ‚¬μš©ν•΄μ„œλŠ” μ›ν•˜λŠ” μ„œλΉ„μŠ€λ₯Ό 퍼블릭 λ„λ©”μΈμ—μ„œ μ œκ³΅ν•˜λŠ” 것이 λΆˆκ°€λŠ₯ν•˜λ‹€κ³  νŒλ‹¨ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ΄ˆκΈ°μ—λŠ” DPoS, PoA, PBFTλ“±μ˜ ν•©μ˜ 방식이 κ³ λ €λ˜μ—ˆμœΌλ‚˜ WEMIX 블둝체인은 κ°€μž₯ μ ν•©ν•œ ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ DPoS와 PoA의 μž₯점을 μ°¨μš©ν•œ μƒˆλ‘œμš΄ μ»¨μ†Œμ‹œμ›€ ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜μΈ SPoAλ₯Ό κ³ μ•ˆν•˜μ˜€μŠ΅λ‹ˆλ‹€. SPoAλŠ” 기본적으둜 투λͺ…ν•œ 신원 정보 및 법λ₯  계약을 ν†΅ν•˜μ—¬ Authorityλ₯Ό κ΅¬μ„±ν•˜κ³  μ°Έμ—¬ν•œ Authority Memberλ“€μ˜ λΆ€μ μ ˆν•œ 행동을 λ§‰κΈ°μœ„ν•΄ Staking κ°œλ…μ„ λ„μž…ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

WEMIX 블둝체인은 블둝을 μƒμ„±ν•˜λŠ” λ§ˆμ΄λ„ˆλ₯Ό μ„ μ •ν•˜κΈ° μœ„ν•˜μ—¬ λ§ˆμ΄λ„ˆ μ„ μ • μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ RAFT의 κ΅¬ν˜„μ²΄μΈ etcdλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. etcdλŠ” λΆ„μ‚° μ‹œμŠ€ν…œμ— ν•„μš”ν•œ μ€‘μš”ν•œ 정보λ₯Ό λ³΄κ΄€ν•˜κ³  κ΄€λ¦¬ν•˜λŠ”λ° μ‚¬μš©λ˜λŠ” μ˜€ν”ˆ μ†ŒμŠ€ λΆ„μ‚° key-value μ €μž₯μ†Œμž…λ‹ˆλ‹€. λ§ˆμ΄λ„ˆλŠ” Lock이 κ°€λŠ₯ν•œ 토큰을 etcd λΆ„μ‚°μ‹œμŠ€ν…œμ— μ €μž₯ν•˜κ³  블둝을 μƒμ„±ν•©λ‹ˆλ‹€. λΌμš΄λ“œ 둜빈과 같이 효율이 κ·ΉλŒ€ν™”λœ λ§ˆμ΄λ„ˆ μ„ μ • 기법을 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μ΄μœ λŠ” λΆ„μ‚° μ‹œμŠ€ν…œμ— μ‘΄μž¬ν•˜λŠ” ν•©μ˜λ…Έλ“œ λ„€νŠΈμ›Œν¬μ˜ λΆ„κΈ°λ₯Ό 막기 μœ„ν•΄μ„œ μž…λ‹ˆλ‹€. etcdλŠ” μ±…μž„κ³Ό κΆŒν•œμ΄ λͺ…ν™•ν•œ λ‹€μˆ˜(40개 이상)의 ν—ˆκ°€λ°›μ€ Authority Member λ“€μ˜ 즉각적인 μ™„κ²°μ„±(Finality)을 μ œκ³΅ν•΄μ•Όν•˜λŠ” μ‹œμŠ€ν…œμ— 효율적인 λ°©λ²•μž…λ‹ˆλ‹€.

Reward Distribution

기쑴의 블둝체인 ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜μ€ μ’…μ’… 블둝 생성을 λ‹΄λ‹Ήν•˜λŠ” 블둝 μƒμ„±μžμ—κ²Œ 블둝보상(Block Reward)κ³Ό κΆŒν•œμ„ μ§‘μ€‘μ‹œν‚€λŠ” λ¬Έμ œμ μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” κ³΅μ •ν•œ 블둝 생성 κΆŒν•œ λΆ„λ°°κ°€ μ€‘μš”ν•œ DPoS(μœ„μž„ μ§€λΆ„ 증λͺ…) 및 PoA(κΆŒν•œ 증λͺ…)와 같은 λΉ„κ²½μŸ μ‹œμŠ€ν…œμ—μ„œ 특히 λ¬Έμ œκ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€. λ™λ“±ν•œ 기회λ₯Ό 보μž₯ν•˜κΈ° μœ„ν•΄ 블둝 μƒμ„±μžκ°€ 자주 λ°”λ€Œκ²Œ λœλ‹€λ©΄, 블둝 처리 κ³Όμ •μ—μ„œ λ°œμƒν•˜λŠ” λ©”μ‹œμ§€κ°€ μ¦κ°€ν•˜κ³  νŠΈλž˜ν”½μ΄ queue에 μŒ“μ΄λ©΄μ„œ μ΅œμƒμ˜ μ„±λŠ₯을 λ‹¬μ„±ν•˜μ§€ λͺ»ν•˜λŠ” λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

WEMIX3.0은 μ΄λŸ¬ν•œ λ¬Έμ œμ μ„ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ SPoA(μŠ€ν…Œμ΄ν¬ 기반 κΆŒν•œ 증λͺ…) ν•©μ˜ λ©”μ»€λ‹ˆμ¦˜μ„ λ„μž…ν–ˆμŠ΅λ‹ˆλ‹€. SPoAλŠ” 블둝 μƒμ„±μžμ™€ 상관없이 각 authority memberκ°€ μŠ€ν…Œμ΄ν‚Ήν•œ WEMIX 양에 λΉ„λ‘€ν•˜μ—¬ 블둝 보상을 λΆ„λ°°ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. 이λ₯Ό 톡해 λͺ¨λ“  블둝 μƒμ„±μžλ“€μ΄ μ§€μ†μ μœΌλ‘œ μ°Έμ—¬ν•˜λ„λ‘ μœ λ„ν•˜λ©΄μ„œ λ™μ‹œμ— λ„€νŠΈμ›Œν¬ λ³΄μ•ˆμ„ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, 블둝 μƒμ„±μžλŠ” 블둝 헀더에 투λͺ…ν•œ 보상 λΆ„λ°° 정보λ₯Ό 포함해야 ν•˜λ©°, 미리 μ •ν•΄μ§„ κ·œμΉ™μ„ μœ„λ°˜ν•˜λ©΄ λ‹€λ₯Έ authority memberλ“€λ‘œλΆ€ν„° 블둝 생성 κΆŒν•œμ„ λ°•νƒˆλ‹Ήν•  수 μžˆμŠ΅λ‹ˆλ‹€.

WEMIX3.0은 κ³΅μ •ν•˜κ³  지속 κ°€λŠ₯ν•œ 보상 λΆ„λ°°λ₯Ό μœ„ν•΄ 블둝 보상과 μ„±λŠ₯ 수읡 배뢄을 λͺ¨λ‘ κ³ λ €ν•˜λŠ” λ“€μ–Ό ν† ν°λ…Έλ―ΉμŠ€ ꡬ쑰λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ΄ˆκΈ°μ—λŠ” λͺ¨λ“  μ°Έμ—¬μžκ°€ 블둝 λ―ΌνŒ…μ„ 톡해 블둝 λ³΄μƒμ˜ 일뢀λ₯Ό 받도둝 ν•©λ‹ˆλ‹€. μ‹œκ°„μ΄ 지남에 따라 μ‹œμŠ€ν…œμ€ 블둝 λ―ΌνŒ… 보상 λΉ„μœ¨μ„ 점차 κ°μ†Œμ‹œν‚€κ³ , νŠΈλžœμž­μ…˜ μˆ˜μˆ˜λ£Œμ™€ 직결된 μ„±λŠ₯ 수읡 λ°°λΆ„ λΉ„μœ¨μ„ μ¦κ°€μ‹œμΌœ λ‚˜κ°‘λ‹ˆλ‹€. μ΄λŸ¬ν•œ λ³€ν™”λŠ” μ΅œλŒ€ 5μ–΅ 9천만 개의 WEMIX μ΅œλŒ€ λ°œν–‰λŸ‰μ— 도달할 λ•ŒκΉŒμ§€ 채꡴ 속도λ₯Ό 점차 μ€„μ΄λŠ” 블둝 채꡴ 반감기 λ©”μ»€λ‹ˆμ¦˜μ„ 톡해 μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€. μ΅œλŒ€ λ°œν–‰λŸ‰μ— λ„λ‹¬ν•˜λ©΄ 블둝 채꡴은 μ™„μ „νžˆ μ€‘λ‹¨λ˜κ³ , μ΄ν›„μ—λŠ” μ„±λŠ₯ 수읡만이 μœ μΌν•œ 보상 방식이 λ©λ‹ˆλ‹€.

반감횟수

0

1

2

3

β‹―

16

λ―ΌνŒ…

1

0.5

0.25

0.125

β‹―

0.000015

νŠΈλžœμž­μ…˜

수수료

Ξ±

Ξ±

Ξ±

Ξ±

β‹―

Ξ±

블둝 λ¦¬μ›Œλ“œ

1+Ξ±

0.5+Ξ±

0.25+Ξ±

0.125+Ξ±

β‹―

0.000015+Ξ±

블둝 λ―ΌνŒ… 보상이 κ°μ†Œν•¨μ— 따라, νŠΈλžœμž­μ…˜ 수수료의 일뢀가 μ„±λŠ₯ 수읡 λ°°λΆ„μœΌλ‘œ ν• λ‹Ήλ˜λŠ” λΉ„μœ¨μ΄ μ¦κ°€ν•˜μ—¬ 이λ₯Ό μƒμ‡„ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ „λž΅μ  λ³€ν™”λŠ” λͺ¨λ“  μ°Έμ—¬μžμ—κ²Œ κ· ν˜•λ˜κ³  κ³΅μ •ν•œ 보상 λΆ„λ°°λ₯Ό 보μž₯ν•˜μ—¬ μž₯기적인 λ„€νŠΈμ›Œν¬ μ„±μž₯κ³Ό 지속 κ°€λŠ₯성을 μ΄‰μ§„ν•©λ‹ˆλ‹€. κΌΌκΌΌν•˜κ²Œ μ„€κ³„λœ 이쀑 보상 κ΅¬μ‘°λŠ” 합리적이고 지속 κ°€λŠ₯ν•œ 보상 μ‹œμŠ€ν…œμ„ μ œκ³΅ν•˜λ©΄μ„œ WEMIX3.0이 졜고의 상업적 λΈ”λ‘μ²΄μΈμœΌλ‘œ λ°œλ‹μ›€ν•˜λ €λŠ” λͺ©ν‘œλ₯Ό λ‹¬μ„±ν•˜λŠ” 데 κΈ°μ—¬ν•©λ‹ˆλ‹€. WEMIX3.0은 νŠΈλžœμž­μ…˜ 수수료의 일뢀 λ˜λŠ” 전체λ₯Ό μ†Œκ°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

각 μ°Έμ—¬μžλŠ” ν•˜λ‚˜μ˜ 계정을 λ³΄μœ ν•˜λ©°, νˆ¬ν‘œλ₯Ό 톡해 보상을 λ°›λŠ” 계정이 λ“±λ‘λ©λ‹ˆλ‹€. λ‹€λ§Œ κ±°λ²„λ„ŒμŠ€ 계약에 졜초 μ‹œμŠ€ν…œ μ»¨νŠΈλž™νŠΈλ₯Ό λ°°ν¬ν•˜λŠ” κ±°λ²„λ„ŒμŠ€ 계정은 μ˜ˆμ™Έμž…λ‹ˆλ‹€. 블둝을 μƒμ„±ν•˜λŠ” authority memberλŠ” κ³„μ •μ˜ μž”μ•‘ μƒνƒœλ₯Ό μ—…λ°μ΄νŠΈν•˜λ©°, 계산 κ²°κ³ΌλŠ” Patricia Trie의 루트 ν•΄μ‹œ 값에 λ°˜μ˜λ©λ‹ˆλ‹€.

Block Generation

WEMIX λΈ”λ‘μ²΄μΈμ˜ 블둝생성 간격은 κ±°λ²„λ„ŒμŠ€ μ»¨νŠΈλž™νŠΈμ— μ„€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. Mempool에 거래의 쑴재 μœ λ¬΄μ™€ 상관없이 Liveness와 Block Finalityλ₯Ό 보μž₯ν•˜κΈ° μœ„ν•΄ BPλŠ” μ •ν•΄μ§„ μ‹œκ°„λ§ˆλ‹€ (졜초 μ„€μ •κ°’ 1초) 블둝을 μƒμ„±ν•˜λŠ” λ‘œμ§μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€. 블둝생성 간격은 Authority의 νˆ¬ν‘œμ— μ˜ν•΄ λ³€κ²½ κ°€λŠ₯ν•œ λ³€μˆ˜κ°’μž…λ‹ˆλ‹€.

Block Verification

λ§ˆμ΄λ„ˆμ— μ˜ν•΄ μƒμ„±λœ 블둝이 P2P λ„€νŠΈμ›Œν¬λ₯Ό 톡해 μ „νŒŒλ˜λ©΄ 이λ₯Ό μˆ˜μ‹ ν•œ 각각의 ν’€ λ…Έλ“œ(Authority Member 포함)λŠ” λΈ”λ‘μ˜ μœ νš¨μ„±μ„ 슀슀둜 κ²€μ¦ν•˜κ³  νŒλ‹¨ν•˜μ—¬μ•Ό ν•©λ‹ˆλ‹€. λ§ˆμ΄λ„ˆκ°€ μ•„λ‹Œ Authority λ…Έλ“œλ“€μ€ 슀슀둜 κ²€μ¦ν•˜μ—¬ κ±°λ²„λ„ŒμŠ€ μ»¨νŠΈλž™νŠΈμ— 기둝된 멀버 쀑 λ§ˆμ΄λ„ˆλ‘œ μ„ μ •λœ 멀버가 μƒμ„±ν•œ 블둝인지 ν™•μΈν•˜κ³  보상이 μ •μƒμ μœΌλ‘œ λΆ„λ°°λ˜μ–΄ 있으며 거래 내역이 전체 μ‹œμŠ€ν…œμ˜ μƒνƒœ(State)에 λ°˜μ˜λ˜μ—ˆλ‹€κ³  νŒλ‹¨λ˜λ©΄ ν•΄λ‹Ή 블둝을 이웃 λ…Έλ“œλ“€μ—κ²Œ μ „νŒŒν•˜κ²Œ λ©λ‹ˆλ‹€.

이λ₯Ό 전달받은 Non-Authority ν’€ λ…Έλ“œλŠ” 헀더에 ν¬ν•¨λœ λ©€λ²„λ“€μ˜ μ„œλͺ…이 μ˜¬λ°”λ₯Έμ§€λ₯Ό ν™•μΈν•˜κ³  κ±°λž˜λ‚΄μ—­μ„ κ²€μ¦ν•œν›„ 블둝에 기둝된 κ±°λž˜κ°€ μ •ν™•ν•œ 룰에 따라 μƒμ„±λ˜μ—ˆλ‹€κ³  νŒλ‹¨λ˜λ©΄ 블둝을 둜컬 λ””μŠ€ν¬μ— μ €μž₯ν•˜κ³  이웃 λ…Έλ“œμ—κ²Œ μ „νŒŒν•©λ‹ˆλ‹€.

μ „νŒŒλ˜λŠ” 블둝을 κ²€μ¦ν•˜κΈ° μœ„ν•΄ μœ„μ˜ 과정을 μ§„ν–‰ν•˜κΈ° 전에 λͺ¨λ“  ν’€ λ…Έλ“œκ°€ λ¨Όμ € 검증해야 ν•˜λŠ” 것이 두 κ°€μ§€ μžˆλŠ”λ° μ΄λŠ” Miner_Limitκ³Ό Max_Consecutive_Blocksμž…λ‹ˆλ‹€.

Miner_Limit은 μ•„λž˜μ™€ 같이 μ •μ˜λ˜λŠ”λ° RAFTμ—μ„œ νŠΉμ • 멀버가 λ§ˆμ΄λ„ˆλ‘œ κ²°μ •λ˜λ©΄ 블둝을 생성할 수 μžˆλŠ” Epochκ°€ μ£Όμ–΄μ§€λŠ”λ°, 이 Epochκ°€ μ—°μ†μœΌλ‘œ μ£Όμ–΄μ§ˆ 수 없도둝 ν•˜λŠ” 것을 λͺ©μ μœΌλ‘œ ν•©λ‹ˆλ‹€. 즉, λͺ¨λ“  블둝은 μ•„λž˜μ˜ Miner_Limit을 λ§Œμ‘±ν•˜λŠ” κ²½μš°μ—λ§Œ μœ νš¨ν•©λ‹ˆλ‹€.

Miner_Limit = floor(SIGNER_COUNT / 2) + 1 (Number of consecutive epochs out of which a miner may only occupy one)

Max_Consecutive_BlocksλŠ” ν•œ Epochμ—μ„œ 동일 λ§ˆμ΄λ„ˆκ°€ μ΅œλŒ€ μ—°μ†μœΌλ‘œ μƒμ„±ν• μˆ˜μžˆλŠ” λΈ”λ‘μ˜ κ°œμˆ˜μž…λ‹ˆλ‹€. 이값은 λ§Œμ•½ 멀버 λ…Έλ“œμ˜ ν•΄ν‚ΉμœΌλ‘œ λ„€νŠΈμ›Œν¬κ°€ λΆ„κΈ°λ λ•Œ λΆ„κΈ°λœ 블둝이 생성할 수 μžˆλŠ” 높이λ₯Ό μ œν•œν•˜κΈ° μœ„ν•˜μ—¬ λ„μž…λœ λ³€μˆ˜μž…λ‹ˆλ‹€. WEMIX3.0μ—μ„œ Max_Consecutive_BlocksλŠ” 1μž…λ‹ˆλ‹€.

μœ„μ˜ 두가지 값은 블둝 완결성을 보μž₯ν•˜κΈ° μœ„ν•œ 방법이며 μ•…μ˜μ μœΌλ‘œ ν–‰λ™ν•˜λŠ” Authority Memberκ°€ λ„€νŠΈμ›Œν¬μ— 쀄 수 μžˆλŠ” ν”Όν•΄λ₯Ό μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•˜μ—¬ κ³ μ•ˆλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

PreviousArchitectureNextGovernance

Last updated 10 months ago