Skip to content
This repository has been archived by the owner on May 26, 2022. It is now read-only.

[Korean] White Paper

Joseph Cook edited this page May 24, 2022 · 42 revisions

πŸ›‘ This wiki has now been deprecated. Please visit ethereum.org for up-to-date information on Ethereum. πŸ›‘

Contents

μ°¨μ„ΈλŒ€ 슀마트 μ»¨νŠΈλž™νŠΈμ™€ νƒˆμ€‘μ•™ν™”λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ ν”Œλž«νΌ

(A Next-Generation Smart Contract and Decentralized Application Platform)

μ‚¬ν† μ‹œ λ‚˜μΉ΄λͺ¨ν† κ°€ 2008[1a][1b]–2009λ…„[1c][1d] κ°œλ°œν•œ λΉ„νŠΈμ½”μΈμ€ μ’…μ’… 화폐와 ν†΅ν™”λΆ„μ•Όμ—μ„œ 맀우 근본적인 ν˜μ‹ μœΌλ‘œ λ¬˜μ‚¬λ˜μ–΄ μ™”λŠ”λ°, 이것은 λΉ„νŠΈμ½”μΈμ΄ μ–΄λ–€ λ‹΄λ³΄λ‚˜ λ‚΄μž¬μ μΈ κ°€μΉ˜λ₯Ό[2] 가지지 μ•ŠμœΌλ©° μ€‘μ•™ν™”λœ λ°œν–‰κΈ°κ΄€μ΄λ‚˜ ν†΅μ œκΈ°κ΄€λ„ μ—†λŠ” 디지털 μžμ‚°μ˜ 첫번째 μ‚¬λ‘€μ˜€κΈ° λ•Œλ¬Έμ΄λ‹€. ν•˜μ§€λ§Œ λΉ„νŠΈμ½”μΈ μ‹€ν—˜μ˜ λ”μš± μ€‘μš”ν•œ 츑면은 λΉ„νŠΈμ½”μΈμ„ λ– λ°›μΉ˜κ³  μžˆλŠ” λΆ„μ‚°ν•©μ˜μˆ˜λ‹¨μœΌλ‘œμ„œμ˜ 블둝체인 기술이며, 이에 λŒ€ν•œ 관심이 κΈ‰κ²©ν•˜κ²Œ λŠ˜μ–΄λ‚˜κ³  μžˆλ‹€.

블둝체인 κΈ°μˆ μ„ μ΄μš©ν•œ λŒ€μ•ˆμ  μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ—λŠ” λ‹€μŒκ³Ό 같은 것듀이 자주 거둠되고 μžˆλ‹€. μ‚¬μš©μž μ •μ˜ 화폐와 κΈˆμœ΅μƒν’ˆμ„ 블둝체인 μœ„μ— ν‘œν˜„ν•˜λŠ” μ»¬λŸ¬λ“œ 코인("colored coins"),[3] 물리적 λŒ€μƒμ˜ μ†Œμœ κΆŒμ„ ν‘œν˜„ν•˜λŠ” 슀마트 μžμ‚°("smart property"),[4] 도메인 이름과 같은 λΉ„λ™μ§ˆμ  μžμ‚°μ„ κΈ°λ‘ν•˜λŠ” λ„€μž„μ½”μΈ("Namecoin"),[5] μž„μ˜μ μΈ κ³„μ•½κ·œμΉ™μ„ κ΅¬ν˜„ν•œ μ½”λ“œμ— μ˜ν•΄ 디지털 μžμ‚°μ„ κ΄€λ¦¬ν•˜λŠ” μ’€ 더 λ³΅μž‘ν•œ ν˜•νƒœμ˜ 슀마트 μ»¨νŠΈλž™νŠΈ ("smart contracts"),[6] 더 λ‚˜μ•„κ°€ 블둝체인을 기반으둜 ν•œ νƒˆμ€‘μ•™ν™”λœ 자율 쑰직( "decentralized autonomous organizations" , DAOs)[7] 등이닀.

이더리움이 μ œκ³΅ν•˜λ €λŠ” 것은 μ™„λ²½ν•œ νŠœλ§μ™„μ „(turing-complete) ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄κ°€ 심어진 블둝체인이닀. 이 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λŠ”, μ½”λ”©λœ κ·œμΉ™μ— 따라 'μ–΄λ–€ μƒνƒœ'λ₯Ό λ‹€λ₯΄κ²Œ λ³€ν™˜μ‹œν‚€λŠ” κΈ°λŠ₯(arbitrary state transition functions)이 ν¬ν•¨λœ "계약(contracts)"을 μœ μ €λ“€μ΄ μž‘μ„±ν•  수 있게 ν•¨μœΌλ‘œμ¨ μ•žμ„œ μ„€λͺ…ν•œ μ‹œμŠ€ν…œλ“€μ„ κ΅¬ν˜„ κ°€λŠ₯ν•˜κ²Œ ν•  뿐만 μ•„λ‹ˆλΌ μš°λ¦¬κ°€ 아직 μƒμƒν•˜μ§€ λͺ»ν•œ λ‹€λ₯Έ λ§Žμ€ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜λ„ 맀우 μ‰½κ²Œ λ§Œλ“€ 수 μžˆλ„λ‘ 도와쀄 것이닀.

λͺ©μ°¨

λΉ„νŠΈμ½”μΈκ³Ό κΈ°μ‘΄ κ°œλ…λ“€μ— λŒ€ν•œ μ†Œκ°œ(Introduction to Bitcoin and Existing Concepts)

역사(History)

λΆ„μ‚°ν™”λœ 디지털 ν†΅ν™”μ˜ κ°œλ…μ€, μž¬μ‚°λ“±λ‘ 같은 λŒ€μ•ˆ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ μ§€λ‚œ μˆ˜μ‹­ λ…„κ°„ 우리 주변에 μžˆμ—ˆλ‹€. 1980~90λ…„λŒ€ 읡λͺ… e-cash ν”„λ‘œν† μ½œμ€ 주둜 β€˜Chaumian blindingβ€™μœΌλ‘œ μ•Œλ €μ§„ β€˜λ‘œμš°λ ˆλ²¨ μ•”ν˜Έ μ•Œκ³ λ¦¬μ¦˜(cryptographic primitive)’에 κΈ°λ°˜ν•˜μ˜€κ³  κ°œμΈμ •λ³΄λ₯Ό κ°•λ ₯ν•˜κ²Œ λ³΄ν˜Έν•˜λŠ” 화폐λ₯Ό μ œκ³΅ν•˜μ˜€μœΌλ‚˜ μ€‘μ•™μ§‘κΆŒμ μΈ μ€‘κ°œμΈμ— μ˜μ‘΄ν–ˆκΈ° λ•Œλ¬Έμ— 별닀λ₯Έ μ£Όλͺ©μ„ 받지 λͺ»ν–ˆλ‹€. 1998λ…„ 'Wei Dai'의 b-moneyλŠ” λΆ„μ‚° ν•©μ˜μ™€ 계산 퍼즐을 ν’€κ²Œ ν•˜λŠ” 방식을 ν†΅ν•΄μ„œ 화폐λ₯Ό λ°œν–‰ν•˜κ²Œ ν•˜λŠ” 아이디어λ₯Ό 졜초둜 μ œμ•ˆν•˜μ˜€μ§€λ§Œ, λΆ„μ‚° ν•©μ˜λ₯Ό μ‹€μ œλ‘œ μ–΄λ–»κ²Œ κ΅¬ν˜„ν• μ§€μ— λŒ€ν•œ μžμ„Έν•œ 방법은 μ œμ‹œν•˜μ§€ λͺ»ν–ˆλ‹€. 2005년에 'Hall Finney'λŠ” "μž¬μ‚¬μš© κ°€λŠ₯ν•œ μž‘μ—…μ¦λͺ…(reusable proofs of work)" κ°œλ…μ„ μ†Œκ°œν•˜μ˜€λ‹€. 이 μ‹œμŠ€ν…œμ€ b-money의 아이디어에 Adam Back의 β€˜κ³„μ‚° λ‚œμ΄λ„ ν•΄μ‹œμΊμ‹œ 퍼즐(computationally difficult Hashcash puzzles)’을 μ‘°ν•©ν•œ κ²ƒμ΄μ—ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ™ΈλΆ€μ˜ μ‹ λ’°κ°€ μžˆμ–΄μ•Ό ν•˜λŠ” μ»΄ν“¨νŒ…(trusted computing)을 κ·Έ κΈ°λ°˜μ— λ‘ μœΌλ‘œμ¨, 이상을 κ΅¬ν˜„ν•˜λŠ” λ°μ—λŠ” λ˜λ‹€μ‹œ μ‹€νŒ¨ν–ˆλ‹€. 2009λ…„ μ‚¬ν† μ‹œ λ‚˜μΉ΄λͺ¨ν† μ— μ˜ν•΄ 처음 μ‹€μ œλ‘œ κ΅¬ν˜„λœ νƒˆμ€‘μ•™ν™”λœ ν™”νλŠ” κ³΅κ°œν‚€ μ•”ν˜Έλ°©μ‹μ„ ν†΅ν•œ μ†Œμœ κΆŒ 관리λ₯Ό μœ„ν•΄ μ‚¬μš©λ˜λ˜ 기쑴의 μ•Œκ³ λ¦¬μ¦˜μ„ β€˜μž‘μ—… 증λͺ…(proof of work)’이라고 μ•Œλ €μ§„ ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜κ³Ό κ²°ν•©ν•¨μœΌλ‘œμ¨ κ°€λŠ₯ν•˜κ²Œ λ˜μ—ˆλ‹€.

μž‘μ—…μ¦λͺ…μ˜ 기반이 λ˜λŠ” μž‘λ™λ°©μ‹μ€ 맀우 ν˜μ‹ μ μ΄μ—ˆλŠ”λ°, 이것은 두 가지 문제λ₯Ό λ™μ‹œμ— ν•΄κ²°ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. 첫째, 이것은 κ°„λ‹¨ν•˜λ©΄μ„œλ„ μƒλ‹Ήνžˆ 효과적인 ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜μ„ μ œκ³΅ν•΄μ£Όμ—ˆλ‹€. 즉, λ„€νŠΈμ›Œν¬μƒμ— μžˆλŠ” λͺ¨λ“  λ…Έλ“œλ“€μ΄ λΉ„νŠΈμ½”μΈμ˜ μž₯λΆ€μƒνƒœ(state of the Bitcoin ledger)에 μΌμ–΄λ‚œ ν‘œμ€€ μ—…λ°μ΄νŠΈμ˜ 집합(a set of canonical updates)에 κ³΅λ™μœΌλ‘œ λ™μ˜ν•  수 μžˆλ„λ‘ ν•΄μ£Όμ—ˆλ‹€λŠ” 것이닀. λ‘˜μ§Έ, λˆ„κ΅¬λ‚˜ ν•©μ˜ ν”„λ‘œμ„ΈμŠ€μ— μ°Έμ—¬ν•  수 μžˆλ„λ‘ ν—ˆμš©ν•΄μ€ŒμœΌλ‘œμ¨ ν•©μ˜κ²°μ •κΆŒμ— λŒ€ν•œ μ •μΉ˜μ  문제λ₯Ό ν•΄κ²°ν•  수 μžˆμ„ 뿐만 μ•„λ‹ˆλΌ λ™μ‹œμ— μ‹œλΉŒκ³΅κ²©(sybil attacks)도 방어해쀄 수 μžˆλŠ” λ©”μ»€λ‹ˆμ¦˜μ„ μ œκ³΅ν–ˆλ‹€. 이것은 ν•©μ˜ ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ μ°Έμ—¬μ˜ 쑰건으둜 β€˜νŠΉμ •ν•œ λ¦¬μŠ€νŠΈμ— λ“±λ‘λœ μ£Όμ²΄μ΄μ–΄μ•Όλ§Œ ν•œλ‹€β€™λΌλŠ” μ–΄λ–€ ν˜•μ‹μ  μž₯λ²½ λŒ€μ‹ μ—, 경제적 μž₯λ²½ - 각 λ…Έλ“œμ˜ κ²°μ •κΆŒμ˜ 크기λ₯Ό κ·Έ λ…Έλ“œμ˜ 계산λŠ₯λ ₯에 직접 λΉ„λ‘€μ‹œν‚€λŠ” λ°©μ‹μœΌλ‘œ λŒ€μ²΄ν•˜λŠ” κ²ƒμ΄μ—ˆλ‹€.

μ΄ν›„λ‘œ, 지뢄증λͺ…(proof of stake)μ΄λΌλŠ” μƒˆλ‘œμš΄ λ°©μ‹μ˜ ν•©μ˜ μ•Œκ³ λ¦¬μ¦˜μ΄ λ“±μž₯ν–ˆλŠ”λ°, μ΄λŠ” 각 λ…Έλ“œκ°€ 가진 계산λŠ₯λ ₯이 μ•„λ‹ˆλΌ ν™”νμ˜ λ³΄μœ λŸ‰μ— 따라 각 λ…Έλ“œμ˜ κ²°μ •κΆŒ 정도λ₯Ό 계산해야 ν•œλ‹€λŠ” 것이닀. 이 두 λ°©μ‹μ˜ μƒλŒ€μ μΈ μž₯점듀에 λŒ€ν•œ λ…Όμ˜λŠ” 이 λ°±μ„œμ—μ„œλŠ” 닀루지 μ•Šκ² μ§€λ§Œ, 두 방법 λͺ¨λ‘ μ•”ν˜Έν™”νμ˜ 기반으둜써 μ‚¬μš©λ  수 μžˆλ‹€λŠ” 점은 μ§€μ ν•΄λ‘κ³ μž ν•œλ‹€.

μƒνƒœλ³€ν™˜μ‹œμŠ€ν…œμœΌλ‘œμ„œμ˜ λΉ„νŠΈμ½”μΈ(Bitcoin As A State Transition System)

statetransition.png

기술적인 κ΄€μ μ—μ„œ λ³΄μ•˜μ„ λ•Œ, λΉ„νŠΈμ½”μΈκ³Ό 같은 μ•”ν˜Έν™” ν™”νμ˜ μž₯λΆ€λŠ” ν•˜λ‚˜μ˜ μƒνƒœλ³€ν™˜μ‹œμŠ€ν…œ(state transition system)으둜 생각해볼 수 μžˆλ‹€. 이 μ‹œμŠ€ν…œμ€, ν˜„μž¬ λͺ¨λ“  λΉ„νŠΈμ½”μΈμ˜ μ†Œμœ κΆŒ ν˜„ν™©μœΌλ‘œ 이루어진 ν•˜λ‚˜μ˜ β€œμƒνƒœ(state)” 와 이 ν˜„μž¬ μƒνƒœμ™€ νŠΈλžœμž­μ…˜μ„ λ°›μ•„μ„œ κ·Έ 결과둜써 μƒˆλ‘œμš΄ μƒνƒœλ₯Ό 좜λ ₯ν•΄μ£ΌλŠ” β€œμƒνƒœλ³€ν™˜ν•¨μˆ˜(state transition function)β€λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€. ν‘œμ€€ 은행 μ‹œμŠ€ν…œμ— λΉ„μœ ν•˜μžλ©΄ μƒνƒœλŠ” λͺ¨λ“  κ³„μ’Œμž”κ³  ν‘œ(balance sheet)이고 νŠΈλžœμž­μ…˜μ€ Aμ—μ„œ B둜 $Xλ₯Ό μ†‘κΈˆν•˜λΌλŠ” μš”μ²­μ΄λ©°, μƒνƒœλ³€ν™˜ν•¨μˆ˜μ— μ˜ν•΄ A의 κ³„μ’Œμ—μ„œλŠ” $Xκ°€ κ°μ†Œν•˜κ³  B의 κ³„μ’Œμ—μ„œλŠ” $Xκ°€ μ¦κ°€ν•œλ‹€. λ§Œμ•½ μ²˜μŒμ— A의 κ³„μ’Œμ— μžˆλŠ” κΈˆμ•‘μ΄ $X μ΄ν•˜μ˜€μœΌλ©΄ μƒνƒœλ³€ν™˜ν•¨μˆ˜κ°€ μ—λŸ¬λ₯Ό λ¦¬ν„΄ν•œλ‹€. μ΄λŸ¬ν•œ μƒνƒœλ³€ν™˜μ„ λΉ„νŠΈμ½”μΈ μž₯λΆ€μ—μ„œλŠ” λ‹€μŒκ³Ό 같이 μ •μ˜ν•  수 μžˆλ‹€.

APPLY(S,TX) -> S' or ERROR

은행 μ‹œμŠ€ν…œ μ˜ˆμ‹œμ—μ„œλŠ” λ‹€μŒκ³Ό κ°™λ‹€.

APPLY({ Alice: $50, Bob: $50 },"send $20 from Alice to Bob") = { Alice: $30, Bob: $70 }

APPLY({ Alice: $50, Bob: $50 },"send $70 from Alice to Bob") = ERROR

λΉ„νŠΈμ½”μΈμ—μ„œ "μƒνƒœ(state)"λŠ” μƒμ„±λ˜μ—ˆμ§€λ§Œ, 아직 μ‚¬μš©λ˜μ§€ μ•Šμ€ λͺ¨λ“  μ½”μΈμ˜ 집합(기술적 ν‘œν˜„μœΌλ‘œλŠ” 'μ†ŒλΉ„λ˜μ§€ μ•Šμ€ νŠΈλžœμž­μ…˜ 좜λ ₯', UTXO(Unspent Transaction Outputs))이닀. 각 UTXOλ“€μ—λŠ” 각자의 코인 κΈˆμ•‘μ΄ ν‘œμ‹œλ˜μ–΄ 있고 이 UTXO의 μ†Œμœ μž(20byte의 μ£Όμ†Œλ‘œ μ •μ˜λ˜λŠ” μ•”ν˜Έν™”λœ κ³΅κ°œν‚€(public key)&ampltsup&ampgt[1]&amplt/sup&ampgt) 정보가 λ“€μ–΄ μžˆλ‹€. νŠΈλžœμž­μ…˜μ€ ν•˜λ‚˜ μ΄μƒμ˜ μž…λ ₯(inputs) 및 좜λ ₯을 ν¬ν•¨ν•œλ‹€. 각 μž…λ ₯μ—λŠ” λ³΄λ‚΄λŠ” μͺ½ 지갑 μ£Όμ†Œμ—μ„œ μ„ νƒλœ κΈ°μ‘΄ UTXO에 λŒ€ν•œ 참쑰정보와, ν•΄λ‹Ήμ§€κ°‘μ£Όμ†Œμ— λŒ€μ‘λ˜λŠ” κ°œμΈν‚€(private key)κ°€ μƒμ„±ν•œ μ•”ν˜Έν™”λœ μ„œλͺ…을 λ‹΄κ³  μžˆλ‹€. 그리고 각 좜λ ₯은 μƒνƒœμ— 좔가될 μƒˆλ‘œμš΄ UTXO정보λ₯Ό 가지고 μžˆλ‹€.

μƒνƒœλ³€ν™˜ν•¨μˆ˜ APPLY(S,TX) -> S' λŠ” λ‹€μŒκ³Ό 같이 μ •μ˜ν•  수 μžˆλ‹€.

  1. TX의 각 μž…λ ₯에 λŒ€ν•΄ :
    • λ§Œμ•½ 참쑰된 UTXOκ°€ S에 μ—†λ‹€λ©΄, μ—λŸ¬λ₯Ό 리턴.
    • λ§Œμ•½ μ„œλͺ…이 UTXO의 μ†Œμœ μžμ™€ λ§€μΉ˜λ˜μ§€ μ•ŠμœΌλ©΄, μ—λŸ¬λ₯Ό 리턴.
  2. λ§Œμ•½ μž…λ ₯에 μ‚¬μš©λœ UTXOλ“€ κΈˆμ•‘μ˜ 합이 좜λ ₯ UTXOλ“€ κΈˆμ•‘μ˜ 합보닀 μž‘μœΌλ©΄, μ—λŸ¬λ₯Ό 리턴.
  3. μž…λ ₯에 μ‚¬μš©λœ UTXOκ°€ μ‚­μ œλ˜κ³  좜λ ₯ UTXOκ°€ μΆ”κ°€λœ Sλ₯Ό 리턴.

μ—¬κΈ°μ„œ 1번의 첫 번째 과정은 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 코인이 νŠΈλžœμž­μ…˜μ— μ‚¬μš©λ˜λŠ” 것을 막기 μœ„ν•œ 것이고 1번의 두 번째 과정은 λ‹€λ₯Έ μ‚¬λžŒμ˜ 코인이 νŠΈλžœμž­μ…˜μ— μ‚¬μš©λ˜λŠ” 것을 막기 μœ„ν•œ 것이닀. μœ„ 절차λ₯Ό μ‹€μ œ λΉ„νŠΈμ½”μΈ 지급과정에 μ μš©ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€. Aliceκ°€ Bobμ—κ²Œ 11.7 BTCλ₯Ό 보내고 μ‹Άλ‹€κ³  κ°€μ •ν•˜μž. λ¨Όμ € Alice 지갑 μ£Όμ†Œλ‘œλΆ€ν„° ν‘œμ‹œλœ κΈˆμ•‘μ˜ 합이 적어도 11.7 BTC 이상인 UTXO의 집합을 μ°ΎλŠ”λ‹€. μ‹€μ œ λŒ€λΆ€λΆ„μ€ 11.7 BTCλ₯Ό μ •ν™•νžˆ λ°”λ‘œ 선택할 수 μ—†λ‹€. Alice의 지갑 μ£Όμ†Œμ—μ„œ 각각 6, 4, 2 BTC κ°€ ν‘œμ‹œλœ 3개의 UTXOλ₯Ό μ°Έμ‘°ν•  수 μžˆλ‹€κ³  ν•˜μž. 이 3개의 UTXOκ°€ νŠΈλžœμž­μ…˜μ˜ input이 되고 2개의 output이 μƒμ„±λœλ‹€. Output 쀑 ν•˜λ‚˜λŠ” 11.7 BTCκ°€ ν‘œμ‹œλœ μƒˆλ‘œμš΄ UTXO이며 μ†Œμœ μžλŠ” Bob의 지갑 μ£Όμ†Œκ°€ λœλ‹€. 그리고 λ‹€λ₯Έ ν•˜λ‚˜λŠ” 12(6+4+2) - 11.7 = 0.3 BTC의 "μž”λˆ(change)"이 ν‘œμ‹œλœ μƒˆλ‘œμš΄ UTXO이며 μ†Œμœ μžλŠ” Alice μžμ‹ μ˜ 지갑 μ£Όμ†Œκ°€ λœλ‹€.

채꡴

block_picture.jpg

만일 μš°λ¦¬κ°€ μœ„μ—μ„œ κΈ°μˆ ν•œ λ‚΄μš©μ„ μ‹ λ’°λ₯Ό 기반으둜 ν•˜λŠ” μ€‘μ•™μ§‘κΆŒν™”λœ μ„œλΉ„μŠ€ λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•˜μžλ©΄ 맀우 κ°„λ‹¨ν•œ 일이 될 텐데, μ™œλƒν•˜λ©΄ 쀑앙 μ„œλ²„ ν•˜λ“œλ“œλΌμ΄λΈŒμ— μƒνƒœλ³€ν™”μ˜ 과정을 μ €μž₯만 ν•˜λ©΄ 되기 λ•Œλ¬Έμ΄λ‹€. κ·ΈλŸ¬λ‚˜ λΉ„νŠΈμ½”μΈμ—μ„œλŠ”, νƒˆμ€‘μ•™ν™”λœ ν†΅ν™”μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜κ³ μž ν•˜λŠ” 것이며, 이λ₯Ό μœ„ν•΄μ„œλŠ” λͺ¨λ“  μ‚¬λžŒμ΄ μˆ˜κΈν•  수 μžˆλŠ” νŠΈλžœμž­μ…˜ μˆœμ„œ ν•©μ˜ μ‹œμŠ€ν…œμ„ μƒνƒœλ³€ν™”μ‹œμŠ€ν…œκ³Ό κ²°ν•©ν•΄μ•Όλ§Œ ν•œλ‹€. λΉ„νŠΈμ½”μΈμ˜ λΆ„μ‚° ν•©μ˜ 과정은 λ„€νŠΈμ›Œν¬μ— "블둝(blocks)"이라 λΆˆλ¦¬λŠ” νŠΈλžœμž­μ…˜ νŒ¨ν‚€μ§€λ₯Ό 계속 μƒμ„±ν•˜κ³ μž μ‹œλ„ν•˜λŠ” λ…Έλ“œλ“€μ„ ν•„μš”λ‘œ ν•œλ‹€. 이 λ„€νŠΈμ›Œν¬λŠ” μ•½ 10λΆ„λ§ˆλ‹€ ν•˜λ‚˜μ˜ 블둝을 μƒμ„±ν•˜λ„λ‘ κ³„νšλ˜μ–΄ 있고 각 블둝은 νƒ€μž„μŠ€νƒ¬ν”„, λ…ΌμŠ€(nonce), 이전 블둝에 λŒ€ν•œ μ°Έμ‘°(이전 λΈ”λ‘μ˜ ν•΄μ‹œ), 그리고 이전 블둝 이후에 λ°œμƒν•œ λͺ¨λ“  νŠΈλžœμž­μ…˜μ˜ λͺ©λ‘μ„ ν¬ν•¨ν•œλ‹€. 이 과정을 ν†΅ν•΄μ„œ μ§€μ†ν•΄μ„œ μ„±μž₯ν•˜λŠ” 블둝체인이 μƒμ„±λ˜κ²Œ λ˜λŠ”λ°, λΉ„νŠΈμ½”μΈ μž₯λΆ€μ˜ μ΅œμ‹ μƒνƒœ(state)λ₯Ό λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ 지속적인 μ—…λ°μ΄νŠΈκ°€ 이루어진닀.

이 μ²΄κ³„μ—μ„œ ν•˜λ‚˜μ˜ 블둝이 μœ νš¨ν•œμ§€ μ•„λ‹Œμ§€λ₯Ό ν™•μΈν•˜κΈ° μœ„ν•œ μ•Œκ³ λ¦¬μ¦˜μ€ λ‹€μŒκ³Ό κ°™λ‹€.

  1. 이 블둝에 μ˜ν•΄ μ°Έμ‘°λ˜λŠ” 이전 블둝이 μ‘΄μž¬ν•˜λŠ”μ§€, μœ νš¨ν•œμ§€ ν™•μΈν•œλ‹€.
  2. νƒ€μž„μŠ€νƒ¬ν”„ 값이 이전 λΈ”λ‘μ˜ νƒ€μž„μŠ€νƒ¬ν”„ 값보닀 ν¬λ©΄μ„œ 2μ‹œκ°„ 이내인지 ν™•μΈν•œλ‹€.
  3. μž‘μ—…μ¦λͺ…(proof of work)이 μœ νš¨ν•œμ§€ ν™•μΈν•œλ‹€.
  4. S[0]λ₯Ό 이전 λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ μƒνƒœ(state)κ°€ λ˜λ„λ‘ μ„€μ •ν•œλ‹€.
  5. TXλ₯Ό n개의 νŠΈλžœμž­μ…˜μ„ κ°€μ§€λŠ”, λΈ”λ‘μ˜ νŠΈλžœμž­μ…˜ λͺ©λ‘μœΌλ‘œ κ°€μ •ν•œλ‹€. 폐ꡬ간 0...n-1의 λͺ¨λ“  i에 λŒ€ν•΄, S[i+1] = APPLY(S[i], TX[i])집합 쀑 μ–΄λŠ ν•˜λ‚˜λΌλ„ μ—λŸ¬λ₯Ό λ¦¬ν„΄ν•˜λ©΄ 거짓(false)을 λ¦¬ν„΄ν•˜λ©° μ’…λ£Œν•œλ‹€.
  6. μ°Έ(true)을 λ¦¬ν„΄ν•˜κ³ , S[n]λ₯Ό 이 λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ μƒνƒœλ‘œ λ“±λ‘ν•œλ‹€.

기본적으둜 λΈ”λ‘μ˜ 각 νŠΈλžœμž­μ…˜μ€ μœ νš¨ν•œ μƒνƒœλ³€ν™˜μ„ μΌμœΌμΌœμ•Ό ν•œλ‹€. μ—¬κΈ°μ„œ μƒνƒœκ°€ 블둝 내에 μ–΄λ– ν•œ λ°©λ²•μœΌλ‘œλ„ κΈ°λ‘λ˜μ§€ μ•Šμ•˜λ‹€λŠ” 점에 μ£Όλͺ©ν•΄λ³΄μž. μƒνƒœλŠ” μœ νš¨μ„±μ„ κ²€μ¦ν•˜λŠ” λ…Έλ“œκ°€ 맀번 κ³„μ‚°ν•΄μ„œ κΈ°μ–΅ν•΄μ•Ό ν•  μ™„μ „νžˆ 좔상적 것(abstraction)인데, 이것은 μ›μ‹œμƒνƒœ(genesis state)λΆ€ν„° ν•΄λ‹Ή λΈ”λ‘κΉŒμ§€μ˜ λͺ¨λ“  νŠΈλžœμž­μ…˜μ„ 순차적으둜 μ μš©ν•¨μœΌλ‘œμ¨ 계산될 수 μžˆλ‹€. μ±„κ΅΄μžκ°€ 블둝에 ν¬ν•¨μ‹œν‚€λŠ” νŠΈλžœμž­μ…˜μ˜ μˆœμ„œμ— μ£Όλͺ©ν•΄λ³΄μž. λ§Œμ•½ μ–΄λ–€ 블둝에 A와 BλΌλŠ” 두 νŠΈλžœμž­μ…˜μ΄ 있고 Bκ°€ A의 좜λ ₯ UTXOλ₯Ό μ†ŒλΉ„ν•œλ‹€κ³  ν•˜μž. μ΄λ•Œ Aκ°€ Bμ΄μ „μ˜ νŠΈλžœμž­μ…˜μΈ 경우 κ·Έ 블둝은 μœ νš¨ν•˜μ§€λ§Œ, 그렇지 μ•Šμ„ 경우 μœ νš¨ν•˜μ§€ μ•Šλ‹€.

블둝 μœ νš¨μ„± 검증 μ•Œκ³ λ¦¬μ¦˜μ—μ„œ νŠΉμ§•μ μΈ 뢀뢄은 "μž‘μ—…μ¦λͺ…(proof of work)"의 쑰건 즉, 256 λΉ„νŠΈ 숫자둜 ν‘œν˜„λ˜λŠ” 각 λΈ”λ‘μ˜ 이쀑-SHA256 ν•΄μ‹œκ°’μ΄ λ™μ μœΌλ‘œ μ‘°μ •λ˜λŠ” λͺ©ν‘œκ°’(이더리움 영문 λ°±μ„œλ₯Ό μž‘μ„±ν•˜λŠ” μ‹œμ μ—μ„œ λŒ€λž΅ 2187)보닀 λ°˜λ“œμ‹œ μž‘μ•„μ•Ό λœλ‹€λŠ” 쑰건이닀. μž‘μ—…μ¦λͺ…μ˜ λͺ©μ μ€ 블둝 생성을 κ³„μ‚°μ μœΌλ‘œ μ–΄λ ΅κ²Œ λ§Œλ“€μ–΄μ„œ sybil κ³΅κ²©μžλ“€μ΄ λ§ˆμŒλŒ€λ‘œ 전체 블둝체인을 μ‘°μž‘ν•˜λŠ” 것을 λ°©μ§€ν•˜λŠ” 것이닀. SHA256은 μ „ν˜€ μ˜ˆμΈ‘λΆˆκ°€λŠ₯ν•œ μœ μ‚¬λ‚œμˆ˜ ν•¨μˆ˜(pseudorandom function)둜 μ„€κ³„λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 유효 블둝을 μƒμ„±ν•˜κΈ° μœ„ν•œ μœ μΌν•œ 방법은 λΈ”λ‘ν—€λ”μ˜ λ…ΌμŠ€(nonce) 값을 κ³„μ†ν•΄μ„œ μ¦κ°€μ‹œν‚€λ©΄μ„œ, μƒμ„±λ˜λŠ” μƒˆλ‘œμš΄ ν•΄μ‹œκ°’μ΄ μœ„μ˜ 쑰건을 λ§Œμ‘±ν•˜λŠ”μ§€ ν™•μΈν•˜λŠ” 과정을 λ°˜λ³΅ν•˜λŠ” 것 뿐이닀. ν˜„μž¬ λͺ©ν‘œκ°’인 2187ν•˜μ—μ„œ ν•˜λ‚˜μ˜ μœ νš¨λΈ”λ‘μ„ λ°œκ²¬ν•˜κΈ° μœ„ν•΄μ„œ ν‰κ· μ μœΌλ‘œ 264번의 μ‹œλ„λ₯Ό ν•΄μ•Όλ§Œ ν•œλ‹€. 일반적으둜 이 λͺ©ν‘œκ°’은 맀 2016개의 λΈ”λ‘λ§ˆλ‹€ λ„€νŠΈμ›Œν¬μ— μ˜ν•΄ μž¬μ‘°μ •λ˜μ–΄μ„œ λ„€νŠΈμ›Œν¬μ˜ ν˜„μž¬ λ…Έλ“œλ“€μ΄ ν‰κ· μ μœΌλ‘œ 10λΆ„λ§ˆλ‹€ μƒˆλ‘œμš΄ 블둝을 생성할 수 μžˆλ„λ‘ ν•œλ‹€. μ΄λŸ¬ν•œ μ—°μ‚°μž‘μ—…μ— λŒ€ν•œ λ³΄μƒμœΌλ‘œ ν˜„ μ‹œμ μ˜ 각 λΈ”λ‘μ˜ μ±„κ΅΄μžλ“€μ€ 25 BTCλ₯Ό νšλ“ν•  μžκ²©μ„ 가진닀. 그리고 좜λ ₯κΈˆμ•‘λ³΄λ‹€ μž…λ ₯κΈˆμ•‘μ΄ 큰 νŠΈλžœμž­μ…˜μ΄ μžˆλ‹€λ©΄ κ·Έ 차앑을 "νŠΈλžœμž­μ…˜ 수수료(transaction fee)"둜 μ–»λŠ”λ‹€. 이것이 BTCκ°€ λ°œν–‰λ˜λŠ” μœ μΌν•œ 방법이며, μ›μ‹œμƒνƒœ(genesis state)μ—λŠ” μ•„λ¬΄λŸ° 코인이 ν¬ν•¨λ˜μ§€ μ•Šμ•˜λ‹€.

채꡴ λͺ©μ μ„ 더 잘 μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œ, μ•…μ˜μ μΈ κ³΅κ²©μžκ°€ μžˆμ„ λ•Œ μ–΄λ–€ 일이 λ°œμƒν•˜λŠ”μ§€ μ•Œμ•„λ³΄μž. λΉ„νŠΈμ½”μΈμ˜ λΌˆλŒ€λ₯Ό μ΄λ£¨λŠ” μ•”ν˜ΈκΈ°λ²•μ€ μ•ˆμ „ν•œ κ²ƒμœΌλ‘œ μ•Œλ €μ Έ μžˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ κ³΅κ²©μžλŠ” λΉ„νŠΈμ½”μΈ μ‹œμŠ€ν…œμ—μ„œ μ•”ν˜ΈκΈ°λ²•μ— μ˜ν•΄ 직접 λ³΄ν˜Έλ˜μ§€ μ•ŠλŠ” 뢀뢄인 'νŠΈλžœμž­μ…˜ μˆœμ„œ'λ₯Ό 곡격 λͺ©ν‘œλ‘œ μž‘μ„ 것이닀. 곡격자의 μ „λž΅μ€ 맀우 λ‹¨μˆœν•˜λ‹€.

  1. μ–΄λ–€ μƒν’ˆ(가급적이면 λ°”λ‘œ μ „λ‹¬λ˜λŠ” 디지털 μƒν’ˆ)을 κ΅¬λ§€ν•˜κΈ° μœ„ν•΄ νŒλ§€μžμ—κ²Œ 100 BTCλ₯Ό μ§€λΆˆν•œλ‹€.
  2. μƒν’ˆμ΄ μ „μ†‘λ˜κΈ°λ₯Ό κΈ°λ‹€λ¦°λ‹€.
  3. νŒλ§€μžμ—κ²Œ μ§€λΆˆν•œ 것과 같은 100 BTCλ₯Ό 곡격자 μžμ‹ μ—κ²Œ λ³΄λ‚΄λŠ” νŠΈλžœμž­μ…˜μ„ μƒμ„±ν•œλ‹€.(μ΄μ€‘μ§€λΆˆ μ‹œλ„)
  4. λΉ„νŠΈμ½”μΈ λ„€νŠΈμ›Œν¬κ°€, 곡격자 μžμ‹ μ—κ²Œ λ³΄λ‚΄λŠ” νŠΈλžœμž­μ…˜μ΄ νŒλ§€μžμ—κ²Œ μ§€λΆˆν•˜λŠ” νŠΈλžœμž­μ…˜λ³΄λ‹€ λ¨Όμ € μˆ˜ν–‰λœ κ²ƒμœΌλ‘œ μΈμ‹ν•˜λ„λ‘ ν•œλ‹€.

1번 과정이 λ°œμƒν•˜κ³  λͺ‡ λΆ„ 후에 λͺ‡λͺ‡ μ±„κ΅΄μžκ°€ κ·Έ νŠΈλžœμž­μ…˜μ„ 블둝에 포함할 것이닀. 이 블둝 번호λ₯Ό 270000이라 ν•˜μž. λŒ€λž΅ 1μ‹œκ°„ ν›„μ—λŠ” 이 블둝 λ‹€μŒμ˜ 체인에 5개의 블둝듀이 좔가될 것이닀. 이 5개의 블둝듀은 μœ„ 1번 νŠΈλžœμž­μ…˜μ„ κ°„μ ‘μ μœΌλ‘œ κ°€λ¦¬ν‚΄μœΌλ‘œμ¨ "컨펌(confirming)"ν•œλ‹€. 이 μ‹œμ μ—μ„œ νŒλ§€μžλŠ” μ§€λΆˆμ΄ μ™„λ£Œλœ κ²ƒμœΌλ‘œ νŒλ‹¨ν•˜κ³  μƒν’ˆμ„ 전솑할 것이닀. 디지털 μƒν’ˆμœΌλ‘œ κ°€μ •ν–ˆμœΌλ―€λ‘œ 전솑은 λ°”λ‘œ λλ‚œλ‹€. 이제 κ³΅κ²©μžλŠ” νŒλ§€μžμ—κ²Œ 보낸 것과 λ™μΌν•œ 100 BTCλ₯Ό 곡격자 μžμ‹ μ—κ²Œ λ³΄λ‚΄λŠ” λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ„ μƒμ„±ν•œλ‹€. λ§Œμ•½ κ³΅κ²©μžκ°€ κ·Έλƒ₯ λ‹¨μˆœν•˜κ²Œ νŠΈλžœμž­μ…˜μ„ μ‹œλ„ν•œλ‹€λ©΄, μ±„κ΅΄μžλ“€μ΄ APPLY(S,TX)λ₯Ό μ‹€ν–‰ν•˜κ³  이 TXλŠ” μƒνƒœμ— 더 이상 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” UTXOλ₯Ό μ†ŒλΉ„ν•˜λ € ν•œλ‹€λŠ” 것을 μ•Œμ•„μ°¨λ¦¬λ―€λ‘œ 이 νŠΈλžœμž­μ…˜μ€ μ§„ν–‰λ˜μ§€ μ•ŠλŠ”λ‹€. κ·ΈλŸ¬λ―€λ‘œ λŒ€μ‹ μ—, 같은 λΆ€λͺ¨ 블둝 269999을 κ°€λ¦¬ν‚€μ§€λ§Œ νŒλ§€μžμ—κ²Œ 보낸 것을 λŒ€μ²΄ν•˜λŠ” μƒˆλ‘œμš΄ νŠΈλžœμž­μ…˜μ΄ ν¬ν•¨λœ λ‹€λ₯Έ λ²„μ „μ˜ 블둝 270000을 μ±„κ΅΄ν•¨μœΌλ‘œμ„œ 블둝체인 "뢄기점(fork)"을 μƒμ„±ν•œλ‹€. 이 블둝 μ •λ³΄λŠ” μ›λž˜ 것과 λ‹€λ₯΄λ―€λ‘œ μž‘μ—…μ¦λͺ…(proof of work)이 λ‹€μ‹œ μˆ˜ν–‰λ˜μ–΄μ•Ό ν•œλ‹€. 그리고 곡격자의 μƒˆλ²„μ „ 블둝 270000은 κΈ°μ‘΄ 270000κ³Ό λ‹€λ₯Έ ν•΄μ‹œλ₯Ό κ°€μ§€λ―€λ‘œ μ›λž˜ 블둝 270001λΆ€ν„° 270005λŠ” 곡격자의 블둝을 가리킀지 μ•ŠλŠ”λ‹€. κ·ΈλŸ¬λ―€λ‘œ μ›λž˜ 체인과 곡격자의 μƒˆλ‘œμš΄ 체인은 μ™„μ „νžˆ λΆ„λ¦¬λœλ‹€. μ΄λŸ¬ν•œ λΆ„κΈ°μ μ—μ„œ λΉ„νŠΈμ½”μΈ λ„€νŠΈμ›Œν¬μ˜ κ·œμΉ™μ€ κ°€μž₯ κΈ΄ 블둝체인을 참으둜 μΈμ‹ν•˜λŠ” 것이닀. κ³΅κ²©μžκ°€ μžμ‹ μ˜ μ²΄μΈμ—μ„œ 혼자 μž‘μ—…μ„ ν•˜λŠ” λ™μ•ˆ μ •λ‹Ήν•œ μ±„κ΅΄μžλ“€μ€ μ›λž˜μ˜ 270005μ²΄μΈμ—μ„œ μž‘μ—…ν•  것이기 λ•Œλ¬Έμ— 곡격자 μžμ‹ μ˜ 체인을 κ°€μž₯ 길게 λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” λ„€νŠΈμ›Œν¬μ˜ λ‹€λ₯Έ λ…Έλ“œλ“€μ˜ 계산λŠ₯λ ₯ 쑰합보닀 더 큰 계산λŠ₯λ ₯을 κ°€μ Έμ•Ό ν•œλ‹€.(이λ₯Ό 51% attack이라 ν•œλ‹€.)

머클트리

SPV in bitcoin

μ™Όμͺ½: Merkle tree(머클트리)의 λͺ‡λͺ‡ λ…Έλ“œλ§Œ 보아도 곁가지(branch)의 μœ νš¨μ„±μ„ μž…μ¦ν•˜κΈ°μ— μΆ©λΆ„ν•˜λ‹€.

였λ₯Έμͺ½: Merkle tree의 μ–΄λ–€ 뢀뢄을 λ°”κΎΈλ €λŠ” μ‹œλ„λŠ” κ²°κ΅­ μƒμœ„ ν•΄μ‹œκ°’ μ–΄λ”˜κ°€μ— 뢈일치λ₯Ό λ§Œλ“ λ‹€.

λΉ„νŠΈμ½”μΈμ˜ μ€‘μš”ν•œ ν™•μž₯ κΈ°λŠ₯은 블둝이 μ—¬λŸ¬ 계측 ꡬ쑰(multi-layer data structure)에 μ €μž₯λœλ‹€λŠ” 것이닀. μ–΄λ–€ λΈ”λ‘μ˜ "ν•΄μ‹œ(hash)"λž€ 사싀 λΈ”λ‘ν—€λ”μ˜ ν•΄μ‹œλ§Œμ„ μ˜λ―Έν•œλ‹€. 이 λΈ”λ‘ν—€λ”μ—λŠ” νƒ€μž„μŠ€νƒ¬ν”„, λ…ΌμŠ€(nonce), 이전 블둝 ν•΄μ‹œ, 그리고 블둝에 ν¬ν•¨λœ λͺ¨λ“  νŠΈλžœμž­μ…˜ 정보에 μ˜ν•΄ μƒμ„±λ˜λŠ” 머클트리(Merkle tree)의 루트 ν•΄μ‹œκ°€ λ“€μ–΄μžˆλŠ” 200 λ°”μ΄νŠΈ μ •λ„μ˜ 데이터이닀. 머클트리(Merkle tree)λŠ” μ΄μ§„νŠΈλ¦¬(binary tree)의 μΌμ’…μœΌλ‘œμ„œ 트리의 μ΅œν•˜μœ„μ— μœ„μΉ˜ν•˜κ³  κΈ°μ € 데이터가 λ“€μ–΄μžˆλŠ” 수 λ§Žμ€ μžŽλ…Έλ“œ, 자기 μžμ‹  λ°”λ‘œ ν•˜μœ„μ— μžˆλŠ” 두 μžμ‹ λ…Έλ“œμ˜ ν•΄μ‹œλ‘œ κ΅¬μ„±λœ 쀑간 λ…Έλ“œ, 자기 μžμ‹  λ°”λ‘œ ν•˜μœ„μ— μžˆλŠ” 두 μžμ‹ μ€‘κ°„λ…Έλ“œμ˜ ν•΄μ‹œλ‘œ κ΅¬μ„±λœ 트리의 "μ΅œμƒμœ„(top)"에 μžˆλŠ” ν•˜λ‚˜μ˜ 루트 λ…Έλ“œμ˜ 집합이닀. 머클트리(Merkle tree)의 λͺ©μ μ€ μ–΄λ–€ λΈ”λ‘μ˜ 데이터가 λΆ„λ¦¬λΌμ„œ 전달될 수 μžˆλ„λ‘ ν•˜λŠ” 것이닀. λ§Œμ•½μ— λΉ„νŠΈμ½”μΈμ˜ μ–΄λ–€ λ…Έλ“œκ°€ ν•œ μ†ŒμŠ€λ‘œλΆ€ν„° λΈ”λ‘ν—€λ”λ§Œμ„ λ‹€μš΄λ‘œλ“œ λ°›κ³ , 이 블둝헀더와 κ΄€κ³„λœ νŠΈλžœμž­μ…˜ μ •λ³΄λŠ” λ‹€λ₯Έ μ†ŒμŠ€λ‘œλΆ€ν„° λ‹€μš΄λ°›μ•„λ„ 이 데이터듀이 μ—¬μ „νžˆ μ •ν™•ν•˜λ‹€λŠ” 것이 보μž₯λœλ‹€. 이것이 κ°€λŠ₯ν•œ μ΄μœ λŠ” Merkle treeμ—μ„œ ν•˜μœ„ λ…Έλ“œλ“€μ˜ ν•΄μ‹œκ°’μ΄ μƒμœ„ λ…Έλ“œμ— 영ν–₯을 μ£ΌκΈ° λ•Œλ¬Έμ— μ–΄λ–€ μ•…μ˜μ μΈ μœ μ €κ°€ 머클트리 μ΅œν•˜μœ„μ— μžˆλŠ” νŠΈλžœμž­μ…˜ 정보λ₯Ό κ°€μ§œλ‘œ λ°”κΏ”μΉ˜κΈ° ν•˜λ©΄ μƒμœ„ λΆ€λͺ¨λ“€μ˜ ν•΄μ‹œκ°’λ“€μ΄ λ³€ν•΄μ„œ κ²°κ΅­ 트리의 λ£¨νŠΈκ°’μ΄ λ°”λ€Œλ―€λ‘œ, 결과적으둜 이 λΈ”λ‘μ˜ ν•΄μ‹œκ°€ 달라지기 λ•Œλ¬Έμ΄λ‹€. μ΄λ ‡κ²Œ 되면 이 블둝은 μ™„μ „νžˆ λ‹€λ₯Έ λΈ”λ‘μœΌλ‘œ μΈμ‹λ˜κ²Œ 되며, 이것은 μœ νš¨ν•˜μ§€ μ•Šμ€ μž‘μ—…μ¦λͺ…을 가지고 있게 될 것이 λΆ„λͺ…ν•˜λ‹€.

머클트리 ν”„λ‘œν† μ½œμ€ λΉ„νŠΈμ½”μΈ λ„€νŠΈμ›Œν¬λ₯Ό μž₯κΈ°κ°„ 지속가λŠ₯ν•˜κ²Œ λ§Œλ“œλŠ” κΈ°μ΄ˆκ°€ λœλ‹€. λΉ„νŠΈμ½”μΈ λ„€νŠΈμ›Œν¬μ—μ„œ 각 λΈ”λ‘μ˜ λͺ¨λ“  정보λ₯Ό μ €μž₯ν•˜κ³  μ²˜λ¦¬ν•˜λŠ” "μ™„μ „λ…Έλ“œ(full node)"λŠ” 2014λ…„ 4μ›” κΈ°μ€€μœΌλ‘œ 거의 15 GB의 λ””μŠ€ν¬ 곡간을 ν•„μš”λ‘œ ν•˜λ©° 맀달 1 GB λ„˜κ²Œ μ¦κ°€ν•˜κ³  μžˆλ‹€. ν˜„μž¬ λ°μŠ€ν¬νƒ‘ 컴퓨터 μ •λ„μ—μ„œλŠ” μˆ˜μš©ν•  수 μžˆμ§€λ§Œ μŠ€λ§ˆνŠΈν°μ—μ„œλŠ” λΆˆκ°€λŠ₯ν•˜λ‹€. 그리고 λ‚˜μ€‘μ—λŠ” μ†Œμˆ˜μ˜ μ‚¬μ—…μ²΄λ“€μ΄λ‚˜ ν’€ λ…Έλ“œλ₯Ό μœ μ§€ν•  수 μžˆμ„ 것이닀. 반면 "λ‹¨μˆœν™”λœ μ§€λΆˆκ²€μ¦(simplified payment verification, SPV)"으둜 μ•Œλ €μ§„ ν”„λ‘œν† μ½œμ€ "κ°€λ²Όμš΄ λ…Έλ“œ(light node)"라고 λΆˆλ¦¬λŠ” 또 λ‹€λ₯Έ ν˜•νƒœμ˜ λ…Έλ“œλ₯Ό κ°€λŠ₯ν•˜κ²Œ ν•΄μ€€λ‹€. κ°€λ²Όμš΄ λ…Έλ“œλŠ” 블둝헀더λ₯Ό λ‹€μš΄λ‘œλ“œν•˜κ³  κ·Έ λΈ”λ‘ν—€λ”μ—μ„œ μž‘μ—…μ¦λͺ…을 κ²€μ¦ν•œλ‹€. 그리고 κ΄€λ ¨ νŠΈλžœμž­μ…˜λ“€μ— λŒ€ν•œ "곁가지듀(branches)"λ§Œμ„ λ‹€μš΄λ‘œλ“œ ν•œλ‹€. μ΄λ ‡κ²Œ 전체 λΈ”λ‘μ²΄μΈμ˜ 맀우 μž‘μ€ λΉ„μœ¨λ§Œμ„ λ‹€μš΄λ‘œλ“œ 함에도 λΆˆκ΅¬ν•˜κ³  κ°•ν•œ μ•ˆμ „μ„±μ„ 보μž₯ν•˜λ©΄μ„œλ„, μž„μ˜μ˜ νŠΈλžœμž­μ…˜μ˜ μƒνƒœ 및 μž”κ³  μƒνƒœλ₯Ό μ•Œμ•„λ‚Ό 수 있게 ν•œλ‹€.

블둝체인 κΈ°μˆ μ„ μ΄μš©ν•œ λ‹€λ₯Έ μ‘μš© 사둀 (Alternative Blockchain Applications)

λΈ”λ‘μ²΄μΈμ˜ κ·Όλ³Έ 아이디어λ₯Ό ν™•μž₯ν•΄ λ‹€λ₯Έ κ°œλ…μœΌλ‘œ μ‘μš©ν•˜λ €λŠ” 아이디어 μ—­μ‹œ 였랜 역사λ₯Ό 가지고 μžˆλ‹€. 2005λ…„ 'Nick Szabo'λŠ” "μ†Œμœ μ£Ό κΆŒν•œμ„ ν†΅ν•œ μž¬μ‚°κΆŒ 보μž₯"μ΄λΌλŠ” 글을 λ°œν‘œν–ˆλ‹€. κ·ΈλŠ” μ •μ£Ό(homesteading), λΆˆλ²•μ μœ , μ§€κ³΅μ£Όμ˜(Georgism) λ“±μ˜ κ°œλ…μ„ ν¬ν•¨ν•œ μ •κ΅ν•œ 틀을 섀계해 λˆ„κ°€ μ–΄λ–€ 땅을 가지고 μžˆλŠλƒλΌλŠ” λ“±κΈ° 문제λ₯Ό 블둝체인 기반 μ‹œμŠ€ν…œμœΌλ‘œ μ²˜λ¦¬ν•  수 μžˆμŒμ„ λ³΄μ˜€λ‹€. κ·ΈλŠ” 이것이 "λ°μ΄ν„°λ² μ΄μŠ€ 볡제 기술의 μƒˆλ‘œμš΄ λ°œμ „"덕뢄에 κ°€λŠ₯ν•΄μ‘Œλ‹€κ³  λ§ν–ˆλ‹€. ν•˜μ§€λ§Œ, λΆˆν–‰νžˆλ„ κ·Έ λ‹Ήμ‹œμ—λŠ” μ“Έλ§Œν•œ 효과적인 파일 볡제 μ‹œμŠ€ν…œμ΄ μ—†μ—ˆκΈ°λ•Œλ¬Έμ— Nick Szabo의 ν”„λ‘œν† μ½œμ€ μ‹€ν˜„λ˜μ§€ λͺ»ν–ˆλ‹€. ν•˜μ§€λ§Œ 2009λ…„ 이후 λΉ„νŠΈμ½”μΈ λΆ„κΆŒ ν•©μ˜ μ‹œμŠ€ν…œμ΄ λ°œμ „ν•˜λ©΄μ„œ 수 λ§Žμ€ λŒ€μ•ˆ μ‘μš© 사둀가 λΉ λ₯΄κ²Œ λΆ€κ°λ˜κΈ° μ‹œμž‘ν–ˆλ‹€.

  • λ„€μž„μ½”μΈ - 2010년에 λ§Œλ“€μ–΄μ§„ λ„€μž„μ½”μΈμ€ 'νƒˆμ€‘μ•™ν™”λœ λͺ…μΉ­ 등둝 λ°μ΄ν„°λ² μ΄μŠ€'라고 λΆ€λ₯΄λŠ” 것이 κ°€μž₯ 쒋을 것이닀. ν† λ₯΄, λΉ„νŠΈμ½”μΈ, λΉ„νŠΈλ©”μ‹œμ§€μ™€ 같은 νƒˆμ€‘μ•™ν™”λœ 자율쑰직 ν”„λ‘œν† μ½œμ„ μ΄μš©ν•  λ•Œ, μ‚¬μš©μžλŠ” 타인과 μ„œλ‘œ ꡐλ₯˜ν•˜κΈ° μœ„ν•΄ 각자의 계정을 ꡬ뢄해내야 ν•œλ‹€. ν•˜μ§€λ§Œ ν˜„μ‘΄ν•˜λŠ” κ°€λŠ₯ν•œ ꡬ별 방법은 1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy와 같은 μ‹μ˜ μ˜μ‚¬λ‚œμˆ˜ 해쉬λ₯Ό μ΄μš©ν•˜λŠ” λ°©μ‹μ΄μ—ˆλ‹€. μ΄μƒμ μœΌλ‘œλŠ”, μ‚¬μš©μžκ°€ "george"같은 일상적인 이름을 계정 μ΄λ¦„μœΌλ‘œ κ°–λŠ” 것이 μ’‹κ² μ§€λ§Œ λ¬Έμ œλŠ” μ–΄λ–€ μ‚¬μš©μžκ°€ "george" λΌλŠ” 이름을 κ³„μ •μœΌλ‘œ λ§Œλ“€ 수 μžˆλ‹€λ©΄, λ‹€λ₯Έ λˆ„κ΅¬λ„ λ˜‘κ°™μ΄ "george"λΌλŠ” 계정을 등둝해 흉내낼 수 μžˆλ‹€λŠ” 점이닀. μœ μΌν•œ 해닡은 μ„ μΆœμ›μ£Όμ˜λ‘œ, λ¨Όμ € λ“±λ‘ν•œ μ‚¬λžŒμ΄ μ„±κ³΅ν•˜κ³  두 번째 λ“±λ‘ν•œ μ‚¬λžŒμ€ μ‹€νŒ¨ν•˜λ„λ‘ ν•˜λŠ” 것이닀. μ΄λŠ” 이미 λΉ„νŠΈμ½”μΈ ν•©μ˜ κ·œμ•½μ— μ™„λ²½νžˆ 적용된 λ¬Έμ œμ΄κΈ°λ„ ν•˜λ‹€. λ„€μž„μ½”μΈμ€ 이런 아이디어λ₯Ό μ‘μš©ν•œ κ°€μž₯ 였래되고 κ°€μž₯ 성곡적인 λͺ…μΉ­ 등둝 μ‹œμŠ€ν…œμ΄λ‹€

  • μ»¬λŸ¬λ“œ 코인 - μ»¬λŸ¬λ“œ μ½”μΈμ˜ λͺ©μ μ€ λˆ„κ΅¬λ‚˜ λΉ„νŠΈμ½”μΈ 블둝체인 μœ„μ—μ„œ μžμ‹ λ§Œμ˜ κ³ μœ ν•œ 디지털 화폐λ₯Ό λ°œν–‰ν•  수 μžˆλŠ” ν”„λ‘œν† μ½œ 역할을 ν•˜λŠ” 것이닀. λ˜λŠ” (κ·Έ 디지털 ν™”νμ˜ λ°œν–‰λŸ‰μ΄ ν•œ λ‹¨μœ„ 밖에 μ—†λŠ” λ‹¨μˆœν•œ 경우둜 ν™˜μ›ν•  수 μžˆλŠ”) 자기 μžμ‹ λ§Œμ˜ 디지털 토큰을 λ°œν–‰ν•˜λŠ” ν”„λ‘œν† μ½œ 역할을 ν•˜λŠ” 것이닀. μ»¬λŸ¬λ“œ 코인 ν”„λ‘œν† μ½œμ—μ„œ, μ‚¬μš©μžλŠ” νŠΉμ • λΉ„νŠΈμ½”μΈ UTXO에 곡개적으둜 색깔을 λΆ€μ—¬ν•¨μœΌλ‘œμ¨ μƒˆ 화폐λ₯Ό "λ°œν–‰"ν•  수 μžˆλ‹€. λ‹€λ₯Έ UTXO의 색깔은 이미 μ†ŒλΉ„λœ(ν˜Όν•© 색깔 μž…λ ₯의 κ²½μš°μ—λŠ” λͺ‡λͺ‡ νŠΉλ³„ν•œ κ·œμΉ™μ΄ μ μš©λœλ‹€) κ²ƒμœΌλ‘œ κ°„μ£Όν•˜λŠ” 거래의 μž…λ ₯κ³Ό 같은 색깔이 λ˜λ„λ‘ μž¬κ·€μ μœΌλ‘œ μ •μ˜ν•œλ‹€. 이 ν”„λ‘œν† μ½œμ€ 블둝체인을 μ²˜μŒλΆ€ν„° λκΉŒμ§€ 역좔적해 그듀이받은 UTXO의 색깔을 μ •ν•¨μœΌλ‘œμ¨, μ‚¬μš©μžκ°€ νŠΉμ • 색깔을 가진 UTXO만 지갑에 κ°„μ§ν•˜κ³  κ·Έ 코인을 보톡 λΉ„νŠΈμ½”μΈμ²˜λŸΌ μ—¬κΈ°μ €κΈ° 보낼 수 있게 ν•œλ‹€.

  • 메타코인 - 메타코인이 ν’ˆκ³  μžˆλŠ” μ•„μ΄λ””μ–΄λŠ”, λΉ„νŠΈμ½”μΈ 거래λ₯Ό 메타코인 거래 μ €μž₯에 μ΄μš©ν•˜λ˜, μƒνƒœ 이동 ν•¨μˆ˜ APPLY' λ₯Ό λ‹€λ₯΄κ²Œ κ°€μ§μœΌλ‘œμ¨, λΉ„νŠΈμ½”μΈ μ‹œμŠ€ν…œ μœ„μ—μ„œ μš΄μ˜λ˜λŠ” ν”„λ‘œν† μ½œμ„ κ°–λŠ” 것이닀. 메타코인 ν”„λ‘œν† μ½œλ§ŒμœΌλ‘œλŠ” λΉ„νŠΈμ½”μΈ 블둝체인 속에 무효 메타코인 κ±°λž˜κ°€ λ‚˜νƒ€λ‚˜λŠ” ν˜„μƒμ„ 예방 수 μ—†κΈ° λ•Œλ¬Έμ—, κ·œμΉ™μ΄ ν•˜λ‚˜ 더해진닀. 즉 λ§Œμ•½ APPLY'(S, TX)κ°€ μ—λŸ¬λ₯Ό λ¦¬ν„΄ν•˜λ©΄, ν”„λ‘œν† μ½œμ€ APPLY'(S,TX)=S둜 정해진닀. λΉ„νŠΈμ½”μΈ μŠ€μŠ€λ‘œλŠ” λ‚΄λΆ€ 싀행이 λΆˆκ°€λŠ₯ν•œ, 잠재적으둜 더 λ°œμ „λœ μ„±μ§ˆμ„ 가진 λ¬΄μž‘μœ„ μ•”ν˜Έν™”ν ν”„λ‘œν† μ½œμ„ λ§Œλ“œλŠ” μ‰¬μš΄ λ©”μ»€λ‹ˆμ¦˜μ΄λΌκ³  ν•  수 μžˆλ‹€. 반면 이 ν”„λ‘œν† μ½œμ˜ κ°œλ°œλΉ„μš©μ€ 적은데 μ™œλƒν•˜λ©΄ 채꡴과 λ„€νŠΈμ›Œν‚Ήμ˜ λ³΅μž‘μ„± λ¬Έμ œκ°€ 이미 λΉ„νŠΈμ½”μΈ ν”„λ‘œν† μ½œμ— μ˜ν•΄ 처리되고 있기 λ•Œλ¬Έμ΄λ‹€.

일반적으둜 ν•©μ˜ ν”„λ‘œν† μ½œμ„ κ±΄μ„€ν•˜λŠ” 데 두 가지 접근방법이 μžˆλ‹€. ν•˜λ‚˜λŠ” 독립적인 λ„€νŠΈμ›Œν¬λ₯Ό μ„Έμš°λŠ” 것이고 λ‹€λ₯Έ ν•˜λ‚˜λŠ” λΉ„νŠΈμ½”μΈ μ‹œμŠ€ν…œκ³Ό μ—°λ™λ˜λŠ” ν”„λ‘œν† μ½œμ„ μ„Έμš°λŠ” 것이닀. μ „μžμ˜ μ ‘κ·Ό 방법은 λ„€μž„μ½”μΈ 같은 μ‘μš© μ‚¬λ‘€μ—μ„œλŠ” μƒλ‹Ήνžˆ μ„±κ³΅μ μ΄μ—ˆμ§€λ§Œ, μ‹€μ œ μ‹€ν–‰ν•˜λŠ” 데 어렀움이 μžˆλ‹€; 각 κ°œλ³„ 싀행주체가 λͺ¨λ“  ν•„μš”ν•œ μƒνƒœλ³€ν™˜κ³Ό λ„€νŠΈμ›Œν‚Ή μ½”λ“œλ₯Ό κ±΄μ„€ν•˜κ³  점검해야 ν•  뿐만 μ•„λ‹ˆλΌ 독립적인 블둝체인을 κ΅¬λ™μ‹œμΌœμ•Ό ν•œλ‹€. λ‚˜μ•„κ°€, λΆ„κΆŒ ν•©μ˜ κΈ°μˆ μ— κ΄€ν•œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 집합이 λ©±ν•¨μˆ˜λΆ„ν¬λ₯Ό λ”°λ₯Ό κ²ƒμœΌλ‘œ μ˜ˆμƒλœλ‹€. 즉, λŒ€λ‹€μˆ˜ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ€ 자기 μžμ‹ μ˜ 블둝체인을 보μž₯ν•˜κΈ°μ—λŠ” λ„ˆλ¬΄ μž‘μ„ 것이닀. 그리고 또 κ±°λŒ€ν•œ 클래슀의 λΆ„κΆŒν™”λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜, 즉 μ„œλ‘œ ꡐλ₯˜λ₯Ό ν•˜κΈ° μœ„ν•œ λΆ„κΆŒν™”λœ 자율 기ꡬ(DAO)κ°€ 생겨날 것이라고 μ˜ˆμƒν•œλ‹€.

ν›„μžμ˜ μ ‘κ·Ό 방법, 즉, λΉ„νŠΈμ½”μΈμ— κΈ°λ°˜ν•œ μ ‘κ·Ό 방법은 λΉ„νŠΈμ½”μΈμ˜ λ‹¨μˆœ μ§€λΆˆ 검증(SPV)νŠΉμ§•μ„ 물렀받지 λͺ»ν•œλ‹€λŠ” 단점이 μžˆλ‹€. λ‹¨μˆœμ§€λΆˆκ²€μ¦μ€ λΉ„νŠΈμ½”μΈμ—μ„œλŠ” μž‘λ™ν•œλ‹€. μ™œλƒν•˜λ©΄ λΉ„νŠΈμ½”μΈμ€ 블둝체인 깊이(depth)λ₯Ό 검증 λŒ€λ¦¬ μˆ˜λ‹¨μœΌλ‘œ μ΄μš©ν•  수 있기 λ•Œλ¬Έμ΄λ‹€. ν•œ 거래의 근원을 μ°Ύμ•„ μΆ©λΆ„νžˆ λ’€λ‘œ λŒμ•„κ°€λ³΄λ©΄, κ·Έ μƒνƒœμ˜ 정합성을 증λͺ…ν•˜λŠ” 뢀뢄이 μžˆμ—ˆλ‹€κ³  말해도 λ¬΄λ°©ν•˜λ‹€. 반면, 블둝체인에 κΈ°λ°˜ν•œ 메타-ν”„λ‘œν† μ½œμ€ λ¬΄νš¨κ±°λž˜κ°€ 블둝체인에 ν¬ν•¨λ˜μ§€ μ•Šλ„λ‘ 막을 방법이 자기 μžμ‹ μ˜ ν”„λ‘œν† μ½œ μžμ²΄μ—λŠ” μ—†λ‹€. κ·Έλ ‡κΈ° λ•Œλ¬Έμ— μ™„μ „νžˆ μ•ˆμ „λ³΄μž₯이 된 λ‹¨μˆœμ§€λΆˆκ²€μ¦ 메타-ν”„λ‘œν† μ½œμ΄λΌλ©΄, μ–΄λ–€ κ±°λž˜κ°€ μœ νš¨ν•œμ§€ μ•„λ‹Œμ§€λ₯Ό κ²°μ •ν•˜κΈ°μœ„ν•΄, 항상 λΉ„νŠΈμ½”μΈ λΈ”λ‘μ²΄μΈμ˜ μ›μ κΉŒμ§€ λŒμ•„κ°€ ν›‘μ–΄λ³΄λŠ” μž‘μ—…μ΄ ν•„μš”ν•˜λ‹€. ν˜„μž¬κΉŒμ§€ λΉ„νŠΈμ½”μΈμ— κΈ°λ°˜ν•œ 메타-ν”„λ‘œν† μ½œμ˜ λͺ¨λ“  "κ°„λ‹¨ν•œ"(light) ν΄λΌμ΄μ–ΈνŠΈ κ΅¬ν˜„μ€ 자료λ₯Ό μ œκ³΅ν•˜λŠ” 믿을 λ§Œν•œ μ„œλ²„μ— μ˜μ§€ν•˜κ³  μžˆλŠ” ν˜•νŽΈμ΄λ‹€. μš°λ¦¬κ°€ μ•”ν˜Έν™”νλ₯Ό λ§Œλ“  κ°€μž₯ μ€‘μš”ν•œ λͺ©μ μ΄ 제3의 μ‹ μš©κΈ°κ΅¬μ˜ ν•„μš”μ„±μ„ μ—†μ• λŠ” κ²ƒμ΄μ—ˆλ‹€λŠ” κ±Έ 특히 λ˜μƒˆκ²¨λ³Έλ‹€λ©΄, 이것은 μ•„μ£Ό λΆ„λͺ…ν•˜κ²Œλ„, μ°¨μ„ μ˜ κ²°κ³Όκ°€ 될 뿐이닀.

μŠ€ν¬λ¦½νŒ…

λ³„λ„μ˜ ν™•μž₯없이도 λΉ„νŠΈμ½”μΈ ν”„λ‘œν† μ½œμ€ λ‚은 μˆ˜μ€€μ˜ "슀마트 계약"의 κ°œλ…μ„ κ°€λŠ₯ν•˜κ²Œ ν•  수 μžˆλ‹€. λΉ„νŠΈμ½”μΈμ˜ UTXOλŠ” κ³΅κ°œν‚€λ§ŒμœΌλ‘œ νšλ“ν•  수 μžˆμ„ 뿐만 μ•„λ‹ˆλΌ, λ‹¨μˆœ μŠ€νƒ-기반 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ‘œ ν‘œν˜„λ˜λŠ” 더 λ³΅μž‘ν•œ μŠ€ν¬λ¦½νŠΈλ‘œλ„ νšλ“ν•  수 μžˆλ‹€. 이런 κ²½μš°μ—, UTXOλ₯Ό μ§€μΆœν•˜λŠ” κ±°λž˜λŠ” κ·Έ 슀크립트λ₯Ό λ§Œμ‘±ν•˜λŠ” 데이터λ₯Ό μ œκ³΅ν•΄μ•Όλ§Œ ν•œλ‹€. 사싀, 기초적인 κ³΅κ°œν‚€ μ†Œμœ κΆŒ λ©”μ»€λ‹ˆμ¦˜λ„ 슀크립트λ₯Ό 톡해 μ‹€ν–‰λœλ‹€: κ·Έ μŠ€ν¬λ¦½νŠΈλŠ” νƒ€μ›κ³‘μ„ μ„œλͺ…을 'μž…λ ₯'으둜 λ°›μ•„ κ·Έ κ±°λž˜μ™€ UTXOλ₯Ό 가진 μ£Όμ†Œμ— λŒ€ν•΄ 검증을 ν•˜κ³  λ§Œμ•½ 검증이 μ„±κ³΅ν•˜λ©΄ 1을, μ‹€νŒ¨ν•˜λ©΄ 0을 '좜λ ₯'ν•œλ‹€. μ—¬λŸ¬ λ‹€λ₯Έ λ‹€μ–‘ν•œ μ‚¬μš© 사둀에 λŒ€ν•΄ μ’€ 더 λ³΅μž‘ν•œ μ—¬λŸ¬ μŠ€ν¬λ¦½νŠΈλ“€μ΄ μžˆμ„ 수 μžˆλ‹€.

예λ₯Ό λ“€μ–΄, 주어진 μ„Έ 개의 개인 ν‚€ κ°€μš΄λ° 두 κ°œλ‘œλΆ€ν„° μ„œλͺ…을 λ°›μ•„μ•Όλ§Œ 승인이 λ˜λ„λ‘ 슀크립트λ₯Ό 지 수 μžˆλ‹€. 이런 μŠ€ν¬λ¦½νŠΈλŠ” νšŒμ‚¬ 계정, λ³΄μ•ˆ μ €μΆ• 계정, 상업 곡탁 상황 등에 μœ μš©ν•˜κ²Œ 쓰일 수 μžˆλ‹€. μŠ€ν¬λ¦½νŠΈλŠ” λ˜ν•œ μ–΄λ–€ 계산 문제의 닡에 λŒ€ν•œ ν¬μƒκΈˆμ„ μ§€λΆˆν•˜λŠ”λ°λ„ 쓰일 수 μžˆλ‹€. "λ§Œμ•½ 당신이 이 μ•‘λ©΄κ°€μ˜ 도기코인 거래λ₯Ό λ‚˜μ—κ²Œ λ³΄λƒˆλ‹€λŠ” SPV 증λͺ…을 μ œκ³΅ν•œλ‹€λ©΄, 이 λΉ„νŠΈμ½”μΈ UTXOλŠ” λ‹Ήμ‹  것이닀"λΌλŠ” μ‹μœΌλ‘œ λ§ν•˜λŠ” 슀크립트λ₯Ό 지 μˆ˜λ„ μžˆλ‹€. 즉 근본적으둜 νƒˆμ€‘μ•™ν™”λœ μƒν˜Έ-μ•”ν˜Έν™”ν κ΅ν™˜μ„ κ°€λŠ₯ν•˜κ²Œ ν•œλ‹€.

ν•˜μ§€λ§Œ λΉ„νŠΈμ½”μΈμ— κ΅¬ν˜„λœ 슀크립트 μ–Έμ–΄λŠ” λͺ‡κ°€μ§€ μ€‘μš”ν•œ ν•œκ³„κ°€ μžˆλ‹€.

  • νŠœλ§λΆˆμ™„μ „μ„±: λΉ„νŠΈμ½”μΈ 슀크립트 μ–Έμ–΄λ‘œ ν•  수 μžˆλŠ” μž‘μ—…μ΄ 많긴 ν•˜μ§€λ§Œ, λͺ¨λ“  경우의 ν”„λ‘œκ·Έλž˜λ°μ„ λ‹€ μ§€μ›ν•˜μ§€λŠ” μ•ŠλŠ”λ‹€. 특히 whileμ΄λ‚˜ for와 같은 μˆœν™˜(loop) λͺ…λ Ή μΉ΄ν…Œκ³ λ¦¬κ°€ λΉ μ Έ μžˆλ‹€. μˆœν™˜ λͺ…λ Ήμ–΄λ₯Ό μ—†μ•€ μ΄μœ λŠ” 거래 증λͺ…을 ν•  λ•Œ λ¬΄ν•œ μˆœν™˜μ— λΉ μ§€λŠ” 것을 막기 μœ„ν•΄μ„œμ˜€λ‹€. μ΄λ‘ μ μœΌλ‘œλŠ” νŠœλ§λΆˆμ™„μ „μ„±μ€ 슀크립트 ν”„λ‘œκ·Έλž˜λ¨Έκ°€ 극볡할 수 μžˆλŠ” μž₯μ• λ¬Όμ΄κΈ°λŠ” ν•˜λ‹€. μ™œλƒν•˜λ©΄ μ–΄λ–€ μˆœν™˜ λͺ…령이든 λ‹¨μˆœνžˆ ν•˜μœ„ μ½”λ“œλ₯Ό μ—¬λŸ¬ μ°¨λ‘€ if ꡬ문과 ν•¨κ»˜ λ°˜λ³΅ν•¨μœΌλ‘œμ¨ κ΅¬ν˜„μ΄ κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€. ν•˜μ§€λ§Œ 이것은 μ•„μ£Ό 곡간 λΉ„νš¨μœ¨μ μΈ ν”„λ‘œκ·Έλž¨μ΄ λœλ‹€. 예λ₯Ό λ“€μ–΄ λŒ€μ•ˆ νƒ€μ›κ³‘μ„ μ„œλͺ… μ•Œκ³ λ¦¬μ¦˜μ„ μ‹€ν–‰ν•˜λ €λ©΄ μ½”λ“œ μ•ˆμ— μžˆλŠ” κ³±μ…ˆμ„ λͺ¨λ‘ κ°œλ³„μ μœΌλ‘œ 256번 λ°˜λ³΅ν•˜λŠ” 것이 ν•„μš”ν•˜λ‹€.

  • κ°€μΉ˜λ¬΄μ§€ν•˜λ‹€: UTXO μŠ€ν¬λ¦½νŠΈλ§ŒμœΌλ‘œλŠ” 인좜 μ•‘μˆ˜λ₯Ό μ„Έλ°€ν•˜κ²Œ ν†΅μ œν•  방법이 μ—†λ‹€. 예λ₯Ό λ“€μ–΄ 신탁 κ³„μ•½μ˜ κ°•λ ₯ν•œ μ‹€μš© 사둀라 ν•  수 μžˆλŠ” 헷지 계약을 μ‚΄νŽ΄λ³΄μž. A와 Bκ°€ $1000μ–΄μΉ˜μ˜ BTCλ₯Ό κ³΅λ™κ³„μ’Œμ— μž…κΈˆν–ˆλ‹€κ³  ν•˜μž. μ‹œκ°„μ΄ μ§€λ‚˜λ©΄ λΉ„νŠΈμ½”μΈμ˜ 가격이 였λ₯Ό μˆ˜κ°€ μžˆλ‹€. 두 μ‚¬λžŒμ€ 30일 ν›„ μžλ™μœΌλ‘œ A κ°€ $1000μ–΄μΉ˜ BTCλ₯Ό λ°›κ³  BλŠ” κ³΅λ™κ³„μ’Œμ˜ λ‚˜λ¨Έμ§€ μž”μ•‘μ„ λ°›λŠ” 그런 계약을 λ§Ίκ³  μ‹Άλ‹€. ν•˜μ§€λ§Œ 이 계약은 1BTCκ°€ λ―Έκ΅­ λ‹¬λŸ¬λ‘œ μ–Όλ§ˆμΈμ§€ 정해쀄 제3자λ₯Ό ν•„μš”λ‘œ ν•œλ‹€. λ§Œμ•½ 이런 계약이 μ‹€ν˜„κ°€λŠ₯ν•˜λ‹€λ©΄ μ§€κΈˆ ν˜„μ‘΄ν•˜λŠ” μ™„μ „ μ€‘μ•™μ§‘κΆŒμ μΈ 금육 μ‹œμŠ€ν…œ μ•„λž˜μ—μ„œλ„ κ³ λ„λ‘œ λ°œμ „λœ 계약 ν˜•νƒœλΌκ³  λ³Ό 수 μžˆμ„ 것이닀. ν•˜μ§€λ§Œ UTXOλŠ” μΈμΆœμ•‘ μ „λΆ€κ°€ μ†‘κΈˆλ˜κ±°λ‚˜ λ§κ±°λ‚˜ 밖에 선택할 μˆ˜κ°€ μ—†λ‹€. 즉 μ„ΈλΆ€ μž‘μ€ λ‹¨μœ„λ‘œ λ‚˜λˆ μ§ˆ κ°€λŠ₯성을 포함할 수 μ—†λŠ” 것이닀. μœ„μ— 예λ₯Ό λ“  계약 거래λ₯Ό μ‹€ν–‰ν•  μœ μΌν•œ 방법은 λ³€ν•˜λŠ” UTXO의 μ•‘λ©΄κ°€ λ‹¨μœ„λ₯Ό μ•„μ£Ό λ‹€μ–‘ν•˜κ²Œ μ–‘μ‚°ν•˜κ³ (예λ₯Ό λ“€μ–΄ 1λΆ€ν„° 30κΉŒμ§€μ˜ λͺ¨λ“  μžμ—°μˆ˜ k에 λŒ€ν•΄ 2의 k승의 1 UTXOλ₯Ό λ§Œλ“¦) Aκ°€ Bμ—κ²Œ μ΄μ€‘μ—μ„œ ν•„μš”ν•œ κΈˆμ•‘μ— λ§žλŠ” 것을 μ„ νƒν•΄μ„œ λ³΄λ‚΄κ²Œ ν•˜λŠ” 방식과 같이 맀우 λΉ„νš¨μœ¨μ μΈ νŽΈλ²•μ„ μ‚¬μš©ν•˜λŠ” κΈΈ 뿐이닀.

  • λ‹€μ–‘ν•œ μƒνƒœλ₯Ό ν‘œν˜„ν•  수 μ—†λ‹€(Lack of State): UTXOκ°€ ν‘œν˜„ν•  수 μžˆλŠ” μƒνƒœλŠ” μ‚¬μš©λ˜μ—ˆκ±°λ‚˜ μ•ˆ λ˜κ±°λ‚˜ λ‘˜ 뿐이닀. κ·Έλ ‡κΈ° λ•Œλ¬Έμ— 이 두가지 μƒνƒœ 이외에 λ‹€λ₯Έ μ–΄λ–€ 내뢀적 μƒνƒœλ₯Ό κ°€μ§€λŠ” 닀쀑 단계 κ³„μ•½μ΄λ‚˜ 슀크립트λ₯Ό λ§Œλ“€ μˆ˜κ°€ μ—†λ‹€. 이 점이 λΆ„μ‚° ν™˜μ „ κ±°λž˜λ‚˜ 이쀑 μ•”ν˜Έ μ‹€ν–‰ ν”„λ‘œν† μ½œ(계산 λ³΄μƒκΈˆμ„ 보μž₯ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•˜λ‹€)κ³Ό 같은 닀쀑 쑰건 계약을 μ–΄λ ΅κ²Œ ν•œλ‹€. 즉 UTXO은 λ‹¨μˆœν•˜κ³  1회적인 κ³„μ•½μ—λ§Œ 이용될 수 μžˆμ„ 뿐, 뢄산쑰직과 같은 더 λ³΅μž‘ν•œ "μƒνƒœμ (stateful)" κ³„μ•½μ—λŠ” 이용될 수 μ—†κ³  λ©”νƒ€ν”„λ‘œν† μ½œμ„ μ μš©ν•˜κΈ° μ–΄λ ΅κ²Œ λ§Œλ“ λ‹€.

  • 블둝체인을 해독할 방법이 μ—†λ‹€(Blockchain-blindness): UTXOλŠ” λ…ΌμŠ€(Nonce), νƒ€μž„μŠ€νƒ¬ν”„,이전 λΈ”λ‘ν•΄μ‹œκ°™μ€ 블둝체인 자료λ₯Ό ν•΄λ…ν•˜μ§€ λͺ»ν•œλ‹€. 이 λ‹¨μ μœΌλ‘œ 인해 슀크랩트 μ–Έμ–΄ 속에 잠재적으둜 κ°€μΉ˜μžˆμ„ λ¬΄μž‘μœ„μ„±μ΄ λΉ μ§€κ²Œ λœλ‹€. κ·Έλž˜μ„œ λ„λ°•μ΄λ‚˜ μ—¬λŸ¬ λ‹€λ₯Έ λΆ„μ•Όμ˜ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“œλŠ” 데 ν•œκ³„λ₯Ό 보인닀.

μ •λ¦¬ν•˜μžλ©΄, λ°œμ „λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“œλŠ” 데 3가지 접근법이 μžˆλ‹€. μ²«λ²ˆμ§ΈλŠ” 독립적인 블둝체인을 λ§Œλ“œλŠ” 것이고 λ‘λ²ˆμ§ΈλŠ” λΉ„νŠΈμ½”μΈμ— 이미 λ‚΄μž¬λœ 슀크립트λ₯Ό μ΄μš©ν•˜λŠ” 것이며, μ„Έλ²ˆμ§ΈλŠ” λΉ„νŠΈμ½”μΈ μƒμ—μ„œ μž‘λ™λ˜λŠ” 메타-κ·œμ•½μ„ κ±΄μ„€ν•˜λŠ” 것이닀. 독립적인 블둝체인을 μ“°λ©΄ λ¬΄ν•œνžˆ 자유둜운 ν”„λ‘œκ·Έλž¨μ„ 지 수 μžˆμ§€λ§Œ 개발 κΈ°κ°„, 초기 μ…‹μ—… μž‘μ—…, λ³΄μ•ˆ λ“±μ˜ λΉ„μš©μ„ μΉ˜λ€„μ•Ό ν•œλ‹€. λΉ„νŠΈμ½”μΈμ— λ‚΄μž¬λœ 슀크립트λ₯Ό μ΄μš©ν•˜λ©΄ 싀행이 κ°„λ‹¨ν•˜κ³  ν‘œμ€€ν™”λœλ‹€λŠ” μž₯점이 μžˆμ§€λ§Œ, μ΄μš©λ²”μœ„κ°€ μ œν•œμ μ΄λ‹€. λ©”νƒ€κ·œμ•½μ„ μ“°λŠ” 것은 κ°„λ‹¨ν•˜κΈ΄ ν•˜μ§€λ§Œ, ν™•μž₯μ„±μ˜ 결함을 κ°μˆ˜ν•΄μ•Ό ν•œλ‹€. 이더리움을 톡해 μš°λ¦¬λŠ” κ°œλ°œν•˜κΈ°λ„ 쉽고 더 κ°•λ ₯ν•œ 라이트 ν΄λΌμ΄μ–ΈνŠΈ κΈ°λŠ₯을 κ°€μ§€λŠ” λ™μ‹œμ— 경제적인 개발 ν™˜κ²½κ³Ό 블둝체인 λ³΄μ•ˆμ„ κ³΅μœ ν•˜λŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€ 수 μžˆλŠ”, λŒ€μ•ˆ ν”„λ ˆμž„μ›Œν¬(alternative framework)λ₯Ό κ±΄μ„€ν•˜λ €κ³  ν•œλ‹€.

이더리움

μ΄λ”λ¦¬μ›€μ˜ λͺ©μ μ€ λΆ„μ‚° μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ œμž‘μ„ μœ„ν•œ λŒ€μ²΄ ν”„λ‘œν† μ½œμ„ λ§Œλ“œλŠ” 것이닀. λŒ€κ·œλͺ¨ λΆ„μ‚° μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ— μœ μš©ν•  것이라 μƒκ°λ˜λŠ” λ‹€λ₯Έ μ’…λ₯˜μ˜ μ œμž‘κΈ°λ²•μ„ μ œκ³΅ν•˜λ©°, λΉ λ₯Έ 개발 μ‹œκ°„, μž‘κ³  λ“œλ¬Όκ²Œ μ‚¬μš©λ˜λŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μœ„ν•œ λ³΄μ•ˆ, λ‹€λ₯Έ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜κ³Όμ˜ 효율적인 μƒν˜Έμž‘μš©μ΄ μ€‘μš”ν•œ 상황에 특히 μ£Όμ•ˆμ μ„ 두고 μžˆλ‹€. 이더리움은 튜링 μ™„μ „ μ–Έμ–΄λ₯Ό λ‚΄μž₯ν•˜κ³  μžˆλŠ” λΈ”λ‘μ²΄μΈμ΄λΌλŠ” ν•„μˆ˜μ μ΄κ³  근본적인 κΈ°λ°˜μ„ μ œκ³΅ν•¨μœΌλ‘œμ¨ 이 λͺ©μ μ„ 이루고자 ν•œλ‹€. λˆ„κ΅¬λ“ μ§€ 이 μ–Έμ–΄λ₯Ό μ‚¬μš©ν•΄ 슀마트 μ»¨νŠΈλž™νŠΈ, λΆ„μ‚° μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μž‘μ„±ν•˜κ³  μ†Œμœ κΆŒμ— λŒ€ν•œ μž„μ˜μ˜ κ·œμΉ™, νŠΈλžœμž­μ…˜ ν˜•μ‹(transaction format), μƒνƒœλ³€ν™˜ ν•¨μˆ˜(state transition function) 등을 생성 ν•  수 μžˆλ‹€. λ„€μž„μ½”μΈμ˜ 기본적인 ν˜•νƒœλŠ” 두 쀄 μ •λ„μ˜ μ½”λ“œλ‘œ μž‘μ„±ν•  수 있고, ν†΅ν™”λ‚˜ ν‰νŒ μ‹œμŠ€ν…œ κ΄€λ ¨ ν”„λ‘œν† μ½œμ€ 슀무 쀄 λ‚΄μ™Έμ˜ μ½”λ“œλ‘œ λ§Œλ“€ 수 μžˆλ‹€. μ–΄λ–€ 값을 μ €μž₯ν•˜κ³ , νŠΉμ •ν•œ 쑰건듀을 λ§Œμ‘±ν–ˆμ„ λ•Œλ§Œ κ·Έ 값을 얻을 수 있게 ν•˜λŠ” μΌμ’…μ˜ μ•”ν˜Έ μƒμžμΈ 슀마트 μ»¨νŠΈλž™νŠΈ λ˜ν•œ 이 ν”Œλž«νΌ μœ„μ— λ§Œλ“€ 수 μžˆλ‹€. 이것은 λΉ„νŠΈμ½”μΈμ˜ μŠ€ν¬λ¦½νŒ…(scripting)이 μ œκ³΅ν•˜λŠ” 것보닀 훨씬 κ°•λ ₯ν•œ κΈ°λŠ₯듀이 제곡되기 λ•Œλ¬Έμ— κ°€λŠ₯ν•œ κ²ƒμœΌλ‘œ, 튜링-μ™„μ „(Turing-completeness), κ°€μΉ˜ 인지λŠ₯λ ₯(value-awareness), 블둝체인 인지λŠ₯λ ₯(blockchain-awareness), μƒνƒœ(state)κ°œλ… 등이 ν¬ν•¨λœλ‹€.

이더리움 μ–΄μΉ΄μš΄νŠΈ

μ΄λ”λ¦¬μ›€μ—μ„œ, μƒνƒœ(state)λŠ” μ–΄μΉ΄μš΄νŠΈ(account)라고 ν•˜λŠ” 였브젝트(object)λ“€λ‘œ κ΅¬μ„±λ˜μ–΄ μžˆλ‹€. 각각의 μ–΄μΉ΄μš΄νŠΈλŠ” 20λ°”μ΄νŠΈμ˜ μ£Όμ†Œμ™€ μ–΄μΉ΄μš΄νŠΈ κ°„ κ°’κ³Ό 정보λ₯Ό μ§μ ‘μ μœΌλ‘œ 전달해 μ£ΌλŠ” μƒνƒœλ³€ν™˜(state transition)을 가지고 μžˆλ‹€. 이더리움 μ–΄μΉ΄μš΄νŠΈλŠ” λ‹€μŒ λ„€ 개의 ν•„λ“œλ₯Ό 가지고 μžˆλ‹€.

  • λ…ΌμŠ€(nonce): 각 νŠΈλžœμž­μ…˜μ΄ 였직 ν•œλ²ˆλ§Œ 처리되게 ν•˜λŠ” μΌμ’…μ˜ μΉ΄μš΄ν„°
  • μ–΄μΉ΄μš΄νŠΈμ˜ ν˜„μž¬ 이더(ether) μž”κ³ 
  • μ–΄μΉ΄μš΄νŠΈμ˜ 계약 μ½”λ“œ (μ‘΄μž¬ν•œλ‹€λ©΄)
  • μ–΄μΉ΄μš΄νŠΈμ˜ μ €μž₯ 곡간 (μ΄ˆκΈ°μ„€μ •(default) μƒμ—μ„œλŠ” λΉ„μ–΄μžˆμŒ)

μ΄λ”λŠ” μ΄λ”λ¦¬μ›€μ˜ κΈ°λ³Έ λ‚΄λΆ€ μ•”ν˜Έ-μ—°λ£Œ(crypto-fuel) 이고, νŠΈλžœμž­μ…˜ 수수료λ₯Ό μ§€λΆˆν•˜λŠ”λ° μ‚¬μš©λœλ‹€. 보톡 두가지 μ’…λ₯˜μ˜ μ–΄μΉ΄μš΄νŠΈκ°€ μ‘΄μž¬ν•˜λŠ”λ°, 프라이빗 킀에 μ˜ν•΄ ν†΅μ œλ˜λŠ” μ™ΈλΆ€ μ†Œμœ  μ–΄μΉ΄μš΄νŠΈ(Externally Owned Accounts)와 μ»¨νŠΈλž™νŠΈ μ½”λ“œμ— μ˜ν•΄ ν†΅μ œλ˜λŠ” μ»¨νŠΈλž™νŠΈ μ–΄μΉ΄μš΄νŠΈ(Contract Accounts)κ°€ μžˆλ‹€. μ™ΈλΆ€ μ†Œμœ  μ–΄μΉ΄μš΄νŠΈλŠ” μ•„λ¬΄λŸ° μ½”λ“œλ„ 가지고 μžˆμ§€ μ•ŠμœΌλ©°, 이 μ–΄μΉ΄μš΄νŠΈμ—μ„œ λ©”μ‹œμ§€λ₯Ό 보내기 μœ„ν•΄μ„œλŠ” μƒˆλ‘œμš΄ νŠΈλžœμž­μ…˜μ„ ν•˜λ‚˜ λ§Œλ“€κ³ , μ„œλͺ…(signing)을 ν•΄μ•Ό ν•œλ‹€. μ»¨νŠΈλž™νŠΈ μ–΄μΉ΄μš΄νŠΈλŠ” λ©”μ‹œμ§€λ₯Ό 받을 λ•Œλ§ˆλ‹€, μžμ‹ μ˜ μ½”λ“œλ₯Ό ν™œμ„±ν™”μ‹œν‚€κ³ , 이에 따라 λ©”μ‹œμ§€λ₯Ό μ½κ±°λ‚˜ λ‚΄λΆ€ μ €μž₯곡간에 κΈ°λ‘ν•˜κ³ , λ‹€λ₯Έ λ©”μ‹œμ§€λ“€μ„ λ³΄λ‚΄κ±°λ‚˜, μ»¨νŠΈλž™νŠΈλ“€μ„ μ°¨λ‘€λ‘œ μƒμ„±ν•˜κ²Œ λœλ‹€. μ΄λ”λ¦¬μ›€μ—μ„œ μ»¨νŠΈλž™νŠΈλŠ”, μˆ˜ν–‰λ˜κ±°λ‚˜ 컴파일 λ˜μ–΄μ Έμ•Ό ν•  μ–΄λ–€ 것이라기 λ³΄λ‹€λŠ”, μ΄λ”λ¦¬μ›€μ˜ μ‹€ν–‰ ν™˜κ²½μ•ˆμ— μ‚΄μ•„μžˆλŠ” μΌμ’…μ˜ 자율 μ—μ΄μ „νŠΈ(autonomous agents)λ‘œμ„œ, λ©”μ‹œμ§€λ‚˜ νŠΈλžœμž­μ…˜μ΄ λ„μ°©ν•˜λ©΄ 항상 νŠΉμ •ν•œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κ³ , μžμ‹ μ˜ 이더 μž”κ³ μ™€, μ˜μ†μ μΈ λ³€μˆ˜λ“€μ„ μΆ”μ ν•˜κΈ° μœ„ν•΄ μžμ‹ μ˜ ν‚€/κ°’ μ €μž₯μ†Œλ₯Ό μ§μ ‘μ μœΌλ‘œ ν†΅μ œν•˜λŠ” 역할을 ν•œλ‹€.

λ©”μ‹œμ§€μ™€ νŠΈλžœμž­μ…˜

μ΄λ”λ¦¬μ›€μ—μ„œ μ‚¬μš©λ˜λŠ” νŠΈλžœμž­μ…˜(transaction)μ΄λž€ μš©μ–΄λŠ” μ™ΈλΆ€ μ†Œμœ  μ–΄μΉ΄μš΄νŠΈκ°€ 보낼 λ©”μ‹œμ§€λ₯Ό 가지고 μžˆλŠ” μ„œλͺ…λœ 데이터 νŒ¨ν‚€μ§€λ₯Ό λ§ν•œλ‹€. 이 νŠΈλžœμž­μ…˜μ€ λ‹€μŒμ„ ν¬ν•¨ν•˜κ³  μžˆλ‹€.

  • λ©”μ‹œμ§€ μˆ˜μ‹ μ²˜
  • λ°œμ‹ μ²˜λ₯Ό 확인할 수 μžˆλŠ” μ„œλͺ…
  • λ°œμ‹ μ²˜κ°€ μˆ˜μ‹ μ²˜λ‘œ λ³΄λ‚΄λŠ” μ΄λ”μ˜ μ–‘
  • 선택적(optional) 데이터 ν•„λ“œ
  • STARTGAS κ°’, νŠΈλžœμž­μ…˜ 싀행이 μˆ˜ν–‰λ˜λ„λ‘ ν—ˆμš©λœ μ΅œλŒ€ 계산 λ‹¨κ³„μˆ˜
  • GASPRICE κ°’, 맀 κ³„μ‚°λ‹¨κ³„λ§ˆλ‹€ λ°œμ‹ μ²˜κ°€ μ§€λΆˆν•˜λŠ” 수수료

처음 μ„Έ ν•­λͺ©μ€ μ•”ν˜Έ ν™”νμ—μ„œλŠ” 거의 ν‘œμ€€μ²˜λŸΌ μ‚¬μš©λ˜λŠ” 값이닀. 데이터 ν•„λ“œλŠ” μ΄ˆκΈ°κ°’μœΌλ‘œ μ„€μ •λœ κΈ°λŠ₯(function)은 가지고 μžˆμ§€ μ•Šμ§€λ§Œ, 버좔얼 λ¨Έμ‹ (virtual machine)은 μ»¨νŠΈλž™νŠΈκ°€ 이 데이터에 μ ‘κ·Όν•  λ•Œ μ‚¬μš©ν•  μˆ˜ν–‰μ½”λ“œ(opcode)λ₯Ό 가지고 μžˆλ‹€. 예λ₯Ό λ“€μ–΄, 블둝체인 μœ„μ— 도메인 등둝 μ„œλΉ„μŠ€λ‘œ κΈ°λŠ₯ν•˜κ³  μžˆλŠ” μ»¨νŠΈλž™νŠΈκ°€ μžˆμ„ 경우, 이 μ»¨νŠΈλž™νŠΈλ‘œ λ³΄λ‚΄μ§€λŠ” λ°μ΄ν„°λŠ” λ‘κ°œμ˜ ν•„λ“œλ₯Ό 가지고 μžˆλŠ” κ²ƒμœΌλ‘œ 해석할 수 μžˆλ‹€. 첫번째 ν•„λ“œλŠ” λ“±λ‘ν•˜κ³ μž ν•˜λŠ” 도메인이고, λ‘λ²ˆμ§Έ ν•„λ“œλŠ” IP μ£Όμ†Œμ΄λ‹€. μ»¨νŠΈλž™νŠΈλŠ” λ©”μ‹œμ§€ λ°μ΄ν„°λ‘œλΆ€ν„° 이 값듀을 μ½μ–΄μ„œ μ €μž₯μ†Œ λ‚΄ μ λ‹Ήν•œ μœ„μΉ˜μ— μ €μž₯ν•œλ‹€.

STARTGAS 와 GASPRICE ν•„λ“œλŠ” μ΄λ”λ¦¬μ›€μ˜ μ•€ν‹°-μ„œλΉ„μŠ€κ±°λΆ€(anti-DoS) λͺ¨λΈμ— μžˆμ–΄μ„œ 맀우 μ€‘μš”ν•œ 역할을 ν•œλ‹€. μ½”λ“œλ‚΄μ˜ μš°μ—°μ μ΄κ±°λ‚˜ μ•…μ˜μ μΈ λ¬΄ν•œλ£¨ν”„, λ˜λŠ” 계산 λ‚­λΉ„λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ 각각의 νŠΈλžœμž­μ…˜μ€ μ‚¬μš©ν•  수 μžˆλŠ” μ½”λ“œ μ‹€ν–‰μ˜ 계산 단계 수λ₯Ό μ œν•œν•˜λ„λ‘ μ„€μ •λ˜μ–΄μ•Ό ν•œλ‹€. κ³„μ‚°μ˜ κΈ°λ³Έ λ‹¨μœ„λŠ” gas이고 보톡, 계산 λ‹¨κ³„λŠ” 1 gas의 λΉ„μš©μ΄ μ†Œμš”λ˜λ‚˜, μ–΄λ–€ 연산은 더 λΉ„μ‹Ό 계산 λΉ„μš©μ„ μΉ˜λ£¨κ±°λ‚˜, μƒνƒœμ˜ μΌλΆ€λΆ„μœΌλ‘œ μ €μž₯λ˜μ–΄μ•Ό ν•˜λŠ” λ°μ΄ν„°μ˜ 양이 λ§Žμ„ 경우 더 λ§Žμ€ 수의 gas λΉ„μš©μ΄ ν•„μš”ν•˜κ²Œ λœλ‹€. λ˜ν•œ νŠΈλžœμž­μ…˜ 데이터에 μžˆλŠ” λͺ¨λ“  λ°”μ΄νŠΈλŠ” λ°”μ΄νŠΈλ‹Ή 5 gas 의 μˆ˜μˆ˜λ£Œκ°€ λ“ λ‹€. μ΄λŸ¬ν•œ 수수료 μ‹œμŠ€ν…œμ˜ μ˜λ„λŠ” μ–΄λ–€ κ³΅κ²©μžκ°€ 계산, λ°΄λ“œμœ„μŠ€, μ €μž₯μ†Œ 등을 포함해 그듀이 μ†ŒλΉ„ν•˜λŠ” λͺ¨λ“  λ¦¬μ†ŒμŠ€μ— λΉ„λ‘€ν•˜μ—¬ κ°•μ œλ‘œ 수수료λ₯Ό μ§€λΆˆν•˜κ²Œ ν•˜λŠ”λ° μžˆλ‹€. λ”°λΌμ„œ, 이런 λ¦¬μ†ŒμŠ€μ€‘ μ–΄λ–€ 것이라도 μƒλ‹ΉλŸ‰μ„ μ†ŒλΉ„ν•˜λŠ” λ„€νŠΈμ›κ³Ό μ—°κ΄€λœ νŠΈλžœμž­μ…˜μ€ λŒ€λž΅ 증가뢄에 λΉ„λ‘€ν•œ gas 수수료λ₯Ό 가지고 μžˆμ–΄μ•Ό ν•œλ‹€.

λ©”μ‹œμ§€(Messages)

μ»¨νŠΈλž™νŠΈλŠ” λ‹€λ₯Έ μ»¨νŠΈλž™νŠΈμ—κ²Œ β€œλ©”μ‹œμ§€β€λ₯Ό 전달할 수 μžˆλ‹€. λ©”μ‹œμ§€λŠ” λ”°λ‘œ μ €μž₯될 ν•„μš”κ°€ μ—†λŠ” μ΄λ”λ¦¬μ›€μ˜ μ‹€ν–‰ ν™˜κ²½μ—μ„œλ§Œ μ‘΄μž¬ν•˜λŠ” κ°€μƒμ˜ μ˜€λΈŒμ νŠΈμ΄λ‹€. λ©”μ‹œμ§€λŠ” λ‹€μŒμ˜ 것을 ν¬ν•¨ν•˜κ³  μžˆλ‹€.

  • (μ•”λ¬΅μ μœΌλ‘œ) λ©”μ‹œμ§€ λ°œμ‹ μ²˜
  • λ©”μ‹œμ§€ μˆ˜μ‹ μ²˜
  • λ©”μ‹œμ§€μ™€ ν•¨κ»˜ μ „λ‹¬λ˜λŠ” 이더
  • 선택적 데이터 ν•„λ“œ
  • STARTGAS κ°’

본질적으둜, λ©”μ‹œμ§€λŠ” μ™ΈλΆ€ μ‹€ν–‰μžκ°€ μ•„λ‹Œ μ»¨νŠΈλž™νŠΈμ— μ˜ν•΄ μƒμ„±λœλ‹€λŠ” 것을 μ œμ™Έν•˜λ©΄ νŠΈλžœμž­μ…˜κ³Ό μœ μ‚¬ν•˜λ‹€. ν˜„μž¬ μ½”λ“œ μˆ˜ν–‰μ„ ν•˜κ³  μžˆλŠ” μ»¨νŠΈλž™νŠΈκ°€ λ©”μ‹œμ§€λ₯Ό μƒμ„±ν•˜κ³  μ‹€ν–‰ν•˜λΌλŠ” CALL opcodeλ₯Ό λ§Œλ‚˜κ²Œ 되면 λ©”μ‹œμ§€λ₯Ό μƒμ„±ν•œλ‹€. νŠΈλžœμž­μ…˜κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ, λ©”μ‹œμ§€λŠ” ν•΄λ‹Ή μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λŠ” μˆ˜μ‹ μž μ–΄μΉ΄μš΄νŠΈμ— λ„λ‹¬ν•˜κ²Œ λœλ‹€. λ”°λΌμ„œ, μ»¨νŠΈλž™νŠΈλŠ” μ™ΈλΆ€ μ‹€ν–‰μžκ°€ ν•˜λŠ” 것과 μ •ν™•νžˆ 같은 λ°©μ‹μœΌλ‘œ λ‹€λ₯Έ μ»¨νŠΈλž™νŠΈμ™€ 관계λ₯Ό 맺을 수 μžˆλ‹€. νŠΈλžœμž­μ…˜μ΄λ‚˜ μ»¨νŠΈλž™νŠΈμ— μ˜ν•΄ ν• λ‹Ήλœ gas ν—ˆμš©μΉ˜λŠ” κ·Έ νŠΈλžœμž­μ…˜κ³Ό λͺ¨λ“  ν•˜μœ„ 싀행에 μ˜ν•΄ μ†Œλͺ¨λœ 총 gas 에 μ μš©λœλ‹€. 예λ₯Ό λ“€μ–΄, μ™ΈλΆ€ μ‹€ν–‰μž Aκ°€ Bμ—κ²Œ 1000 gas와 ν•¨κ»˜ νŠΈλžœμž­μ…˜μ„ 보내고, BλŠ” 600 gasλ₯Ό μ†Œλͺ¨ν•œ λ’€ Cμ—κ²Œ λ©”μ‹œμ§€λ₯Ό 보내고, C의 λ‚΄λΆ€ 싀행에 300 gasλ₯Ό μ†Œλͺ¨ν•œ ν›„ λ°˜ν™˜ν•˜λ©΄, BλŠ” gasκ°€ λͺ¨λ‘ μ†Œλͺ¨λ˜κΈ° 전에 100 gasλ₯Ό 더 μ‚¬μš©ν•  수 μžˆλ‹€.

이더리움 μƒνƒœ λ³€ν™˜ ν•¨μˆ˜(Ethereum State Transition Function)

ethertransition.png

이더리움 μƒνƒœ 전이 ν•¨μˆ˜ APPLY(S, TX) -> S’ λŠ” λ‹€μŒμ²˜λŸΌ μ •μ˜λ  수 μžˆλ‹€. νŠΈλžœμž­μ…˜μ΄ ν˜•μ‹μ— μ œλŒ€λ‘œ λ§žλŠ”μ§€(즉, μ˜¬λ°”λ₯Έ 갯수의 값을 가지고 μžˆλŠ”μ§€) μ²΄ν¬ν•˜κ³ , μ„œλͺ…이 μœ νš¨ν•œμ§€, λ…ΌμŠ€κ°€ λ°œμ‹ μ²˜ μ–΄μΉ΄μš΄νŠΈμ˜ λ…ΌμŠ€μ™€ μΌμΉ˜ν•˜λŠ”μ§€λ₯Ό μ²΄ν¬ν•œλ‹€. 그렇지 μ•Šλ‹€λ©΄ 였λ₯˜λ₯Ό λ°˜ν™˜ν•œλ‹€. STARTGAS * GASPRICE 둜 νŠΈλžœμž­μ…˜ 수수료λ₯Ό κ³„μ‚°ν•˜κ³ , μ„œλͺ…μœΌλ‘œλΆ€ν„° λ°œμ‹ μ²˜ μ£Όμ†Œλ₯Ό κ²°μ •ν•œλ‹€. λ°œμ‹ μ²˜ μ–΄μΉ΄μš΄νŠΈ μž”κ³ μ—μ„œ 이 수수료λ₯Ό λΉΌκ³  λ°œμ‹ μž λ…ΌμŠ€λ₯Ό μ¦κ°€μ‹œν‚¨λ‹€. λ°œμ‹ μ²˜ μž”κ³ κ°€ μΆ©λΆ„ν•˜μ§€ μ•ŠμœΌλ©΄ 였λ₯˜λ₯Ό λ°˜ν™˜ν•œλ‹€. GAS = STARTGAS 둜 μ΄ˆκΈ°ν™” ν•œν›„, νŠΈλžœμž­μ…˜μ—μ„œ μ‚¬μš©λœ λ°”μ΄νŠΈμ— λŒ€ν•œ 값을 μ§€λΆˆν•˜κΈ° μœ„ν•΄ λ°”μ΄νŠΈλ‹Ή gas의 νŠΉμ •μ–‘μ„ μ°¨κ°ν•œλ‹€. λ°œμ‹ μ²˜ μ–΄μΉ΄μš΄νŠΈμ—μ„œ μˆ˜μ‹ μ²˜ μ–΄μΉ΄μš΄νŠΈλ‘œ νŠΈλžœμž­μ…˜ 값을 보낸닀. μˆ˜μ‹ μ²˜ μ–΄μΉ΄μš΄νŠΈκ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©΄ μƒˆλ‘œ μƒμ„±ν•œλ‹€. μˆ˜μ‹ μ²˜ μ–΄μΉ΄μš΄νŠΈκ°€ μ»¨νŠΈλž™νŠΈμ΄λ©΄, μ»¨νŠΈλž™νŠΈμ˜ μ½”λ“œλ₯Ό λκΉŒμ§€, λ˜λŠ” gasκ°€ λͺ¨λ‘ μ†Œλͺ¨λ  λ•Œ κΉŒμ§€ μˆ˜ν–‰ν•œλ‹€. λ°œμ‹ μ²˜κ°€ μΆ©λΆ„ν•œ β€˜λˆ'을 가지고 μžˆμ§€ λͺ»ν•΄μ„œ κ°’ 전솑이 μ‹€νŒ¨ν•˜κ±°λ‚˜, μ½”λ“œ μˆ˜ν–‰μ‹œ gasκ°€ λΆ€μ‘±ν•˜λ©΄, λͺ¨λ“  μƒνƒœ λ³€κ²½λ₯Ό μ›μƒνƒœλ‘œ λŒλ €λ†“λŠ”λ‹€. 단, 수수료 μ§€λΆˆμ€ μ œμ™Έλ˜κ³ , 이 μˆ˜μˆ˜λ£ŒλŠ” μ±„κ΅΄μž μ–΄μΉ΄μš΄νŠΈμ— λ”ν•΄μ§€κ²Œ λœλ‹€. κ·Έ μ™Έμ—λŠ”, λͺ¨λ“  λ‚¨μ•„μžˆλŠ” λͺ¨λ“  gas에 λŒ€ν•œ 수수료λ₯Ό λ°œμ‹ μ²˜μ—κ²Œ 돌렀주고, μ†Œλͺ¨λœ gas에 μ§€λΆˆλœ 수수료λ₯Ό μ±„κ΅΄μžμ—κ²Œ 보낸닀.

예λ₯Ό λ“€μ–΄, λ‹€μŒκ³Ό 같은 μ»¨νŠΈλž™νŠΈ μ½”λ“œλ₯Ό κ°€μ •ν•΄ 보자.

if !self.storage[calldataload(0)]:
    self.storage[calldataload(0)] = calldataload(32)

μ‹€μ œλ‘œ μ»¨νŠΈλž™νŠΈ μ½”λ“œλŠ” 둜우-레벨 EVM μ½”λ“œλ‘œ μž‘μ„±λ˜λ‚˜, 이 μ˜ˆμ œλŠ” μ΄ν•΄ν•˜κΈ° μ‰½κ²Œ ν•˜κΈ° μœ„ν•΄, 이더리움 ν•˜μ΄-레벨 언어쀑 ν•˜λ‚˜μΈ Serpent 둜 μž‘μ„±ν•˜μ˜€λ‹€. 이 μ½”λ“œλŠ” EVM μ½”λ“œλ‘œ 컴파일 될 수 μžˆλ‹€. μ»¨νŠΈλž™νŠΈμ˜ μŠ€ν† λ¦¬μ§€λŠ” λΉ„μ–΄μžˆλ‹€κ³  κ°€μ •ν•˜κ³ , νŠΈλžœμž­μ…˜μ΄ 10 ether, 2000 gas, 0.001ether gasprice, 64 λ°”μ΄νŠΈμ˜ 데이터(0-31 λ°”μ΄νŠΈκΉŒμ§€λŠ” 숫자 2λ₯Ό λ‚˜νƒ€λ‚΄κ³ , 32-63 λ°”μ΄νŠΈλŠ” CHARLIE λΌλŠ” λ¬Έμžμ—΄)λ₯Ό 보낸닀고 κ°€μ •ν•˜μž. 이 경우 μƒνƒœ λ³€ν™˜ ν•¨μˆ˜μ˜ ν”„λ‘œμ„ΈμŠ€λŠ” λ‹€μŒκ³Ό κ°™λ‹€.

  1. νŠΈλžœμž­μ…˜μ΄ μœ νš¨ν•˜κ³  ν˜•μ‹μ— μ œλŒ€λ‘œ λ§žλŠ”μ§€ ν™•μΈν•œλ‹€.
  2. νŠΈλžœμž­μ…˜ λ°œμ†‘μ²˜κ°€ μ΅œμ†Œ 2000 * 0.001 = 2 etherλ₯Ό 가지고 μžˆλŠ”μ§€ ν™•μΈν•˜κ³ , 그럴 경우, λ°œμ†‘μ²˜μ˜ μ–΄μΉ΄μš΄νŠΈμ—μ„œ 2 etherλ₯Ό λΊ€λ‹€.
  3. gas = 2000으둜 μ΄ˆκΈ°ν™” ν•œ ν›„, νŠΈλžœμž­μ…˜μ€ 170λ°”μ΄νŠΈ 길이λ₯Ό 가지고, λ°”μ΄νŠΈλ‹Ή μˆ˜μˆ˜λ£ŒλŠ” 5라고 κ°€μ •ν•˜λ©΄, 850을 λΉΌμ•Ό ν•˜κ³  κ²°κ΅­ 1150 gasκ°€ λ‚¨κ²Œλœλ‹€.
  4. λ°œμ†‘μ²˜ μ–΄μΉ΄μš΄νŠΈμ—μ„œ μΆ”κ°€ 10 etherλ₯Ό λΉΌκ³  이것을 μ»¨νŠΈλž™νŠΈ μ–΄μΉ΄μš΄νŠΈμ— λ”ν•œλ‹€.
  5. μ½”λ“œλ₯Ό μ‹€ν–‰μ‹œν‚¨λ‹€. 이 κ²½μš°λŠ” κ°„λ‹¨ν•œλ°, μ»¨νŠΈλž™νŠΈμ˜ index 2에 ν•΄λ‹Ήν•˜λŠ” μŠ€ν† λ¦¬μ§€κ°€ μ‚¬μš©λ˜μ—ˆλŠ”μ§€ ν™•μΈν•˜κ³  (이 경우, μ‚¬μš©λ˜μ§€ μ•Šμ•˜λ‹€.) index 2에 ν•΄λ‹Ήν•˜λŠ” μŠ€ν† λ¦¬μ§€ 값을 CHARLIE 둜 μ„€μ •ν•œλ‹€. 이 μž‘μ—…μ— 187 gas κ°€ μ†ŒλΉ„λλ‹€κ³  κ°€μ •ν•˜λ©΄, λ‚¨μ•„μžˆλŠ” gas 의 양은 1150 - 187 = 963 이 λœλ‹€.
  6. 963*0.001 = 0.963 etherλ₯Ό μ†‘μ‹ μ²˜μ˜ μ–΄μΉ΄μš΄νŠΈλ‘œ 되돌렀주고, κ²°κ³Ό μƒνƒœλ₯Ό λ°˜ν™˜ν•œλ‹€.

νŠΈλžœμž­μ…˜μ˜ μˆ˜μ‹ μ²˜μ— μ»¨νŠΈλž™νŠΈκ°€ μ—†μœΌλ©΄, 총 νŠΈλžœμž­μ…˜ μˆ˜μˆ˜λ£ŒλŠ” 제곡된 GASPRICE와 νŠΈλžœμž­μ…˜μ˜ λ°”μ΄νŠΈ 수λ₯Ό κ³±ν•œ κ°’κ³Ό 같아지고, νŠΈλžœμž­μ…˜κ³Ό ν•¨κ»˜ 보내진 λ°μ΄ν„°λŠ” 관련이 μ—†μ–΄μ§€κ²Œ λœλ‹€.

λ©”μ‹œμ§€λŠ” νŠΈλžœμž­μ…˜κ³Ό λ§ˆμ°¬κ°€μ§€ λ°©μ‹μœΌλ‘œ, μƒνƒœλ₯Ό μ›λž˜ μƒνƒœλ‘œ λ˜λŒλ¦°λ‹€λŠ” 것에 μ£Όλͺ©ν•˜μž. λ©”μ‹œμ§€ μ‹€ν–‰μ‹œ gasκ°€ λΆ€μ‘±ν•˜κ²Œ 되면, κ·Έ λ©”μ‹œμ§€ μ‹€ν–‰κ³Ό κ·Έ 싀행에 μ˜ν•΄ μ΄‰λ°œλœ λ‹€λ₯Έ λͺ¨λ“  싀행듀은 μ›λž˜λŒ€λ‘œ λ˜λŒλ €μ§€κ²Œ λ˜μ§€λ§Œ, κ·Έ λΆ€λͺ¨ 싀행은 되돌렀질 ν•„μš”κ°€ μ—†λ‹€. 이것은 μ»¨νŠΈλž™νŠΈκ°€ λ‹€λ₯Έ μ»¨νŠΈλž™νŠΈλ₯Ό ν˜ΈμΆœν•˜λŠ” 것은 μ•ˆμ „ν•˜λ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€. Aκ°€ G gasλ₯Ό 가지고 Bλ₯Ό ν˜ΈμΆœν•˜λ©΄, A의 싀행은 μ΅œλŒ€ G gasλ§Œμ„ μžƒλŠ”λ‹€λŠ” 것을 보μž₯λ°›κ²Œ λœλ‹€. μ»¨νŠΈλž™νŠΈλ₯Ό μƒμ„±ν•˜λŠ” CREATEλΌλŠ” opcodeλ₯Ό 보면, μ‹€ν–‰ 방식은 λŒ€μ²΄λ‘œ CALLκ³Ό μœ μ‚¬ν•˜λ‚˜, μ‹€ν–‰ κ²°κ³ΌλŠ” μƒˆλ‘œ μƒμ„±λœ μ»¨νŠΈλž™νŠΈμ˜ μ½”λ“œλ₯Ό κ²°μ •ν•œλ‹€λŠ” 차이가 μžˆλ‹€.

μ½”λ“œ μ‹€ν–‰(Code Execution)

이더리움 μ»¨νŠΈλž™νŠΈλ₯Ό κ΅¬μ„±ν•˜λŠ” μ½”λ“œλŠ” β€œμ΄λ”λ¦¬μ›€ 버좔얼 λ¨Έμ‹  μ½”λ“œβ€ λ˜λŠ” β€œEVM μ½”λ“œβ€λ‘œ λΆˆλ¦¬λŠ” 둜우-레벨, μŠ€νƒ 기반의 λ°”μ΄νŠΈμ½”λ“œ μ–Έμ–΄λ‘œ μž‘μ„±λœλ‹€. 이 μ½”λ“œλŠ” μ—°μ†λœ λ°”μ΄νŠΈλ‘œ κ΅¬μ„±λ˜μ–΄ 있고, 각각의 λ°”μ΄νŠΈλŠ” μ—°μ‚°(operation)을 λ‚˜νƒ€λ‚Έλ‹€. 보톡, μ½”λ“œ 싀행은 0λΆ€ν„° μ‹œμž‘ν•˜λŠ” ν˜„μž¬ ν”„λ‘œκ·Έλž¨ μΉ΄μš΄ν„°λ₯Ό ν•˜λ‚˜μ”© μ¦κ°€μ‹œν‚€λ©΄μ„œ 반볡적으둜 연산을 μˆ˜ν–‰ν•˜λ„λ‘ κ΅¬μ„±λœ λ¬΄ν•œ 루프이고, μ½”λ“œμ˜ λ§ˆμ§€λ§‰μ— λ„λ‹¬ν•˜κ±°λ‚˜ 였λ₯˜, STOP, RETURN λͺ…령을 λ§Œλ‚˜λ©΄ 싀행을 λ©ˆμΆ”κ²Œ λœλ‹€. 연산을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄μ„œλŠ” 데이터λ₯Ό μ €μž₯ν•˜λŠ” 세가지 νƒ€μž…μ˜ 곡간에 μ ‘κ·Όν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.

  • μŠ€νƒ: last-in-first-out μ»¨ν…Œμ΄λ„ˆλ‘œ 여기에 값듀을 λ°€μ–΄ λ„£κ±°λ‚˜(push) ν•˜κ±°λ‚˜ λΊ„(pop) 수 μžˆλ‹€.
  • λ©”λͺ¨λ¦¬: λ¬΄ν•œλŒ€λ‘œ ν™•μž₯ κ°€λŠ₯ν•œ λ°”μ΄νŠΈ λ°°μ—΄
  • μ»¨νŠΈλž™νŠΈμ˜ μ˜μ†μ μΈ(long-term) μ €μž₯μ†Œ(storage): ν‚€/κ°’ μ €μž₯μ†Œ. 계산이 λλ‚˜λ©΄ λ¦¬μ…‹λ˜λŠ” μŠ€νƒμ΄λ‚˜ λ©”λͺ¨λ¦¬μ™€λŠ” 달리 μ €μž₯μ†ŒλŠ” μ˜μ†μ μœΌλ‘œ μœ μ§€λœλ‹€.

μ½”λ“œλŠ” λ˜ν•œ 블둝 헀더 데이터 뿐만 μ•„λ‹ˆλΌ νŠΉμ • κ°’μ΄λ‚˜, λ°œμ†‘μž 및 μˆ˜μ‹ λ˜λŠ” λ©”μ‹œμ§€μ˜ 데이터에 μ ‘κ·Όν•  수 있고, κ²°κ³Όκ°’μœΌλ‘œ λ°μ΄ν„°μ˜ λ°”μ΄νŠΈ 배열을 λ°˜ν™˜ν•  μˆ˜λ„ μžˆλ‹€.

EVM μ½”λ“œμ˜ 곡식 μ‹€ν–‰ λͺ¨λΈμ€ λ†€λžλ„λ‘ λ‹¨μˆœν•˜λ‹€. 이더리움 버좔얼 머신이 μ‹€ν–‰λ˜λŠ” λ™μ•ˆ, λͺ¨λ“  계산 μƒνƒœλŠ” (block_state, transaction, message, code, memory, stack, pc, gas) νŠœν”Œ(tuple)둜 μ •μ˜λ  수 있고, block_stateλŠ” λͺ¨λ“  μ–΄μΉ΄μš΄νŠΈλ₯Ό ν¬ν•¨ν•˜λŠ” μ „μ—­μƒνƒœ(global state)λ‘œμ„œ μž”κ³ μ™€ μ €μž₯μ†Œ(storage)λ₯Ό ν¬ν•¨ν•œλ‹€. λ°˜λ³΅λ˜λŠ” 맀 μ½”λ“œ μ‹€ν–‰ μˆœκ°„μ˜ μ‹œμž‘μ‹œ, code의 pc(ν”„λ‘œκ·Έλž¨ μΉ΄μš΄ν„°)번째 λ°”μ΄νŠΈμ˜ ν˜„μž¬ λͺ…령이 μ‹€ν–‰λ˜κ³ , ( pc κ°€ μ½”λ“œμ˜ 길이보닀 크면(pc >= len(code)) pc λŠ” 0), 각각의 λͺ…령은 νŠœν”Œμ„ μ–΄λ–»κ²Œ λ³€ν™”μ‹œν‚¬μ§€ λŒ€ν•œ κ·Έ μžμ‹ μ˜ μ •μ˜λ₯Ό μ•Œκ³  μžˆλ‹€. 예λ₯Ό λ“€μ–΄, ADDλŠ” μŠ€νƒμ—μ„œ λ‘κ°œμ˜ μ•„μ΄ν…œμ„ κΊΌλ‚΄(pop), κ·Έ 합을 κ΅¬ν•œ ν›„ λ‹€μ‹œ μŠ€νƒμ— λ„£κ³ (push) gasλ₯Ό 1만큼 κ°μ†Œμ‹œν‚€κ³ , pcλŠ” 1 μ¦κ°€μ‹œν‚¨λ‹€. SSTORE λŠ” μŠ€νƒμ—μ„œ λ‘κ°œμ˜ μ•„μ΄ν…œμ„ κΊΌλ‚΄ 이 μ•„μ΄ν…œμ˜ 첫번째 값이 κ°€λ¦¬ν‚€λŠ” μ»¨νŠΈλž™νŠΈ μ €μž₯μ†Œ μΈλ±μŠ€μ— λ‘λ²ˆμ§Έ μ•„μ΄ν…œμ„ λ„£λŠ”λ‹€. 이더리움 버좔얼 λ¨Έμ‹  ν™˜κ²½μ„ JIT μ»΄νŒŒμΌμ„ 톡해 μ΅œμ ν™” ν•˜λŠ” λ§Žμ€ 방법이 μžˆμ§€λ§Œ, 기본적인 이더리움은 μˆ˜λ°±μ€„μ˜ μ½”λ“œλ‘œ κ΅¬ν˜„λ  수 μžˆλ‹€.

블둝체인과 채꡴(Blockchain and Mining)

apply_block_diagram.png

이더리움 블둝체인은 μ—¬λŸ¬λ©΄μ—μ„œ λΉ„νŠΈμ½”μΈ 블둝체인과 μœ μ‚¬ν•˜λ‚˜, μ–΄λŠμ •λ„ 차이점듀이 μžˆλ‹€. 이더리움과 λΉ„νŠΈμ½”μΈμ—μ„œμ˜ 각 블둝체인 ꡬ쑰에 λŒ€ν•œ μ£Όμš” μ°¨μ΄μ μœΌλ‘œλŠ” λΉ„νŠΈμ½”μΈκ³ΌλŠ” 달리 이더리움 블둝은 νŠΈλžœμž­μ…˜ λ¦¬μŠ€νŠΈμ™€ κ°€μž₯ 졜근의 μƒνƒœ(state) 볡사본을 가지고 μžˆλ‹€λŠ” 것이닀. 그것 외에도, λ‘κ°œμ˜ λ‹€λ₯Έ κ°’ - 블둝 λ„˜λ²„μ™€ difficulty - 이 λ˜ν•œ 블둝내에 μ €μž₯λœλ‹€. 기본적인 이더리움 블둝 검증 μ•Œκ³ λ¦¬μ¦˜μ€ λ‹€μŒκ³Ό κ°™λ‹€.

  1. μ°Έμ‘°ν•˜κ³  μžˆλŠ” 이전 블둝이 μ‘΄μž¬ν•˜λŠ”μ§€ 그리고, μœ νš¨ν•œμ§€ ν™•μΈν•œλ‹€.
  2. ν˜„μž¬ λΈ”λ‘μ˜ νƒ€μž„μŠ€νƒ¬ν”„κ°€ μ°Έμ‘°ν•˜κ³  μžˆλŠ” 이전 λΈ”λ‘μ˜ 그것보닀 ν¬λ©΄μ„œ, λ™μ‹œμ— ν˜„ μ‹œμ μ„ κΈ°μ€€μœΌλ‘œ 15λΆ„ 후보닀 μž‘μ€ 값인지 ν™•μΈν•œλ‹€.
  3. 블둝 λ„˜λ²„, difficulty, νŠΈλžœμž­μ…˜ 루트, μ‚Όμ΄Œ 루트, gas λ¦¬λ―ΈνŠΈλ“±(기타 λ‹€μ–‘ν•œ 이더리움 둜우 레벨 κ°œλ…)이 μœ νš¨ν•œμ§€ ν™•μΈν•œλ‹€.
  4. 블둝에 ν¬ν•¨λœ μž‘μ—… 증λͺ…이 μœ νš¨ν•œμ§€ ν™•μΈν•œλ‹€.
  5. S[0] 이 이전 λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ μƒνƒœ(state)라고 κ°€μ • ν•˜μž.
  6. TXλ₯Ό ν˜„μž¬ λΈ”λ‘μ˜ n개의 νŠΈλžœμž­μ…˜ 리슀트라고 ν•˜μž. 0 λΆ€ν„° n-1에 λŒ€ν•΄, S[i+1] = APPLY(S[i], TX[i]) 둜 μ„€μ •ν•˜μž. μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 였λ₯˜λ₯Ό λ°˜ν™˜ν•˜κ±°λ‚˜, 이 μ‹œμ κΉŒμ§€ λΈ”λ‘μ—μ„œ μ†Œλͺ¨λœ 총 gasκ°€ GASLIMITλ₯Ό μ΄ˆκ³Όν•˜λ©΄ 였λ₯˜λ₯Ό λ°˜ν™˜ν•œλ‹€.
  7. μ±„κ΅΄μžμ—κ²Œ μ§€λΆˆλœ 보상 블둝을 S[n] 덧뢙인 ν›„ 이것을 S_FINAL 이라 ν•˜μž.
  8. μƒνƒœ S_FINAL의 머클 트리 λ£¨νŠΈκ°€ 블둝 헀더가 가지고 μžˆλŠ” μ΅œμ’… μƒνƒœ λ£¨νŠΈμ™€ 같은지λ₯Ό κ²€μ¦ν•œλ‹€. 이 값이 κ°™μœΌλ©΄ κ·Έ 블둝은 μœ νš¨ν•œ 블둝이며, λ‹€λ₯΄λ©΄ μœ νš¨ν•˜μ§€ μ•Šμ€ κ²ƒμœΌλ‘œ νŒλ‹¨ν•œλ‹€.

μ΄λŸ¬ν•œ 접근은 μ–Έλœ», λͺ¨λ“  μƒνƒœλ₯Ό 각 블둝에 μ €μž₯ν•  ν•„μš”μ„± λ•Œλ¬Έμ— 맀우 λΉ„νš¨μœ¨μ μΈ κ²ƒμ²˜λŸΌ λ³΄μ΄μ§€λ§Œ, μ‹€μ œλ‘œλŠ” νš¨μœ¨μ„±μ˜ μΈ‘λ©΄μ—μ„œλŠ” λΉ„νŠΈμ½”μΈκ³Ό λΉ„κ΅ν• λ§Œ ν•˜λ‹€. κ·Έ μ΄μœ λ‘œλŠ” μƒνƒœκ°€ 트리 ꡬ쑰둜 μ €μž₯되고, λͺ¨λ“  블둝 후에 단지 트리의 μž‘μ€ λΆ€λΆ„λ§Œμ΄ λ³€κ²½λ˜κΈ° λ•Œλ¬Έμ΄λ‹€. 보톡, μΈμ ‘ν•œ 두 개의 λΈ”λ‘κ°„μ—λŠ” 트리의 λŒ€λΆ€λΆ„μ˜ λ‚΄μš©μ΄ κ°™κ³ , λ”°λΌμ„œ ν•œλ²ˆ 데이터가 μ €μž₯되면 포인터(μ„œλΈŒνŠΈλ¦¬μ˜ 해쉬)λ₯Ό μ‚¬μš©ν•˜μ—¬ 참쑰될 수 μžˆλ‹€. νŒ¨νŠΈλ¦¬μ‹œμ•„ 트리(Patricia tree)둜 μ•Œλ €μ§„ μ΄λŸ¬ν•œ μ’…λ₯˜μ˜ νŠΉλ³„ν•œ νŠΈλ¦¬λŠ” 머클 트리 κ°œλ…μ„ μˆ˜μ •ν•˜μ—¬ λ…Έλ“œλ₯Ό 단지 μˆ˜μ •ν•  뿐만 μ•„λ‹ˆλΌ, 효율적으둜 μ‚½μž…λ˜κ±°λ‚˜ μ‚­μ œν•˜μ—¬ μ΄λŸ¬ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλ„λ‘ ν•΄μ€€λ‹€. λ˜ν•œ, λͺ¨λ“  μƒνƒœ 정보가 λ§ˆμ§€λ§‰ 블둝에 ν¬ν•¨λ˜μ–΄ 있기 λ•Œλ¬Έμ—, 전체 블둝체인 νžˆμŠ€ν† λ¦¬λ₯Ό λͺ¨λ‘ μ €μž₯ν•  ν•„μš”κ°€ μ—†μ–΄μ§€κ²Œ λœλ‹€. 이 방법을 λΉ„νŠΈμ½”μΈμ— μ μš©ν•œλ‹€λ©΄ 5~20배의 μ €μž₯ 곡간 μ ˆμ•½μ˜ νš¨κ³Όκ°€ 생길 것이닀.

물리적인 ν•˜λ“œμ›¨μ–΄ κ΄€μ μ—μ„œ λ³Ό λ•Œ, μ»¨νŠΈλž™νŠΈ μ½”λ“œλŠ” β€œμ–΄λ””μ—μ„œ" μ‹€ν–‰λ˜λŠ”κ°€ ν•˜λŠ” 의문이 μ‰½κ²Œ λ“€ 수 μžˆλ‹€. κ°„λ‹¨ν•œ 해닡은 λ‹€μŒκ³Ό κ°™λ‹€. μ»¨νŠΈλž™νŠΈ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λŠ” μƒνƒœ μ „ν™˜ ν•¨μˆ˜ μ •μ˜μ˜ ν•œ 뢀뢄이고, 이것은 블둝 검증 μ•Œκ³ λ¦¬μ¦˜μ˜ 뢀뢄이닀. λ”°λΌμ„œ, νŠΈλžœμž­μ…˜μ΄ 블둝 B에 ν¬ν•¨λ˜λ©΄ κ·Έ νŠΈλžœμž­μ…˜μ— μ˜ν•΄ λ°œμƒν•  μ½”λ“œμ˜ 싀행은 ν˜„μž¬ λ˜λŠ” ν–₯후에 블둝 B λ₯Ό λ‹€μš΄λ‘œλ“œ ν•˜κ³  κ²€μ¦ν•˜λŠ” λͺ¨λ“  λ…Έλ“œλ“€μ— μ˜ν•΄ 싀행될 것이닀.

μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜(Applications)

기본적으둜, 이더리움을 μ΄μš©ν•˜μ—¬ 총 μ„Έ 가지 μΉ΄ν…Œκ³ λ¦¬μ˜ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ œμž‘ν•  수 μžˆλ‹€. 첫번째 μΉ΄ν…Œκ³ λ¦¬λŠ” 돈과 μ§μ ‘μ μœΌλ‘œ μ—°κ΄€λœ μ»¨νŠΈλž™νŠΈλ₯Ό κ³„μ•½μ°Έμ—¬μžλ‘œ ν•˜μ—¬κΈˆ 보닀 κ°•λ ₯ν•˜κ²Œ μ„€μ •-κ΄€λ¦¬ν•˜κ²Œλ” ν•˜λŠ” 금육 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄λ‹€. 이의 μ˜ˆλŠ” ν•˜μœ„ν™”ν(=유둜/λ‹¬λŸ¬ λ“±μ˜ μƒμœ„ν™”νμ™€ ν™˜μœ¨μ΄ μ—°λ™λœ 화폐λ₯Ό 지칭), νŒŒμƒμƒν’ˆ, ν—·μ§€μ»¨νŠΈλž™νŠΈ, 예금용 μ „μžμ§€κ°‘, μœ μ–Έμž₯, 그리고 μ΅œμ’…μ μœΌλ‘œλŠ” 전면적인 κ³ μš©κ³„μ•½ μˆ˜μ€€μ˜ κ²ƒλ“€κΉŒμ§€ ν¬ν•¨ν•œλ‹€. λ‘λ²ˆμ§Έ μΉ΄ν…Œκ³ λ¦¬λŠ” μ€€(ζΊ–)금육 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄λ‹€. κΈˆμ „μ΄ κ΄€μ—¬λ˜μ–΄ μžˆμ§€λ§Œ, 상당뢀뢄 λΉ„(非)화폐적인 면이 μ‘΄μž¬ν•˜λŠ” 계약을 μœ„ν•œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 이에 ν•΄λ‹Ήλœλ‹€. 이의 쒋은 μ˜ˆλ‘œλŠ” μ–΄λ €μš΄ μ—°μ‚° 문제λ₯Ό ν‘ΈλŠ” μžμ—κ²Œ μžλ™μ μœΌλ‘œ ν¬μƒκΈˆμ΄ μ§€κΈ‰λ˜λŠ” 계약이닀. λ§ˆμ§€λ§‰μœΌλ‘œ, 온라인 νˆ¬ν‘œμ™€ λΆ„κΆŒν˜•(εˆ†ζ¬Šε½’) κ±°λ²„λ„ŒμŠ€(Governance)와 같이 금육과 관련성이 μ•„μ˜ˆ μ—†λŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μžˆλ‹€.

토큰 μ‹œμŠ€ν…œ(Token Systems)

λΈ”λ‘μ²΄μΈν† ν°μ‹œμŠ€ν…œ(On-blockchain token system)은 λ―Έν™”/금 λ“±κ³Ό μ—°λ™λœ ν•˜μœ„ν™”ν, 주식과 β€œμŠ€λ§ˆνŠΈμžμ‚°* (Smart Property: λΉ„νŠΈμ½”μΈμ˜ 블둝체인 μƒμ—μ„œ μ†Œμœ κΆŒμ΄ 컨트둀/κ΄€λ¦¬λ˜λŠ” μžμ‚°),” "μœ„μ‘°λΆˆκ°€λŠ₯ν•œ(secure unforgeable)" 쿠폰, 그리고 톡상적인 κ°€μΉ˜μ™€ μ—°κ²°λ˜μ–΄ μžˆμ§€ μ•Šμ€ 기타 ν† ν°μ‹œμŠ€ν…œ (예, μΈμ„Όν‹°λΈŒ λΆ€μ—¬λ₯Ό μœ„ν•œ ν¬μΈνŠΈμ œλ„) 등에 이λ₯΄κΈ°κΉŒμ§€ λ‹€μ–‘ν•œ ν˜•νƒœμ˜ κ±°λž˜μ‹œμŠ€ν…œμ„ λ„€νŠΈμ›Œν¬ μƒμ—μ„œ κ΅¬ν˜„ν•˜κ²Œλ” ν•΄μ£ΌλŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ„ κ°–κ³  μžˆλ‹€. μ΄λ”λ¦¬μ›€μ—μ„œ ν† ν°μ‹œμŠ€ν…œμ€ λ†€λžλ„λ‘ μ‰½κ²Œ κ΅¬ν˜„ν•  수 μžˆλ‹€. ν† ν°μ‹œμŠ€ν…œμ„ μ΄ν•΄ν•˜λŠ” 데에 핡심은 μ•„λž˜μ™€ κ°™λ‹€.

  • λͺ¨λ“  화폐 ν˜Ήμ€ ν† ν°μ‹œμŠ€ν…œμ€ 근본은 κ²°κ΅­ ν•œ 가지 μ˜€νΌλ ˆμ΄μ…˜λ§Œμ„ μˆ˜ν–‰ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ΄λ‹€.
  • AλΌλŠ” μ£Όμ²΄λ‘œλΆ€ν„° X λ‹¨μœ„μ˜ 화폐/토큰을 μ°¨κ°ν•˜κ³ , μ°¨κ°ν•œ X λ‹¨μœ„μ˜ 화폐/토큰을 Bμ—κ²Œ μ§€κΈ‰ν•œλ‹€. 단, 거래 μ „, AλŠ” μ΅œμ†Œ Xλ‹¨μœ„λ₯Ό λ³΄μœ ν•˜κ³  μžˆμ—ˆμŒ
  • Aκ°€ 이 거래λ₯Ό μŠΉμΈν•¨

μ΄λ”λ¦¬μ›€μ—μ„œ μœ μ €λŠ” λ°”λ‘œ μœ„μ˜ λ‘œμ§μ„ μ»¨νŠΈλž™νŠΈμ— 반영 μ‹œν‚€κΈ°λ§Œ ν•˜λ©΄ λœλ‹€. Serpent μ—μ„œ ν† ν°μ‹œμŠ€ν…œμ„ μ‹€ν–‰ν•˜λŠ” 기본적은 μ½”λ“œλŠ” μ•„λž˜μ™€ κ°™λ‹€:

def send(to, value):
    if self.storage[msg.sender] >= value:
        self.storage[msg.sender] = self.storage[msg.sender] - value
        self.storage[to] = self.storage[to] + value

μ΄λŠ” 기본적으둜 λ³Έ λ°±μ„œμ—μ„œ μ„€λͺ…ν•œ β€œμ€ν–‰μ‹œμŠ€ν…œβ€μ˜ "μƒνƒœλ³€ν™˜ν•¨μˆ˜(state transition function)"λ₯Ό μ•„λ¬΄λŸ° 가곡없이 κ·ΈλŒ€λ‘œμ μš©μ‹œν‚¨ 것이닀. ν†΅ν™”μ˜ λ‹¨μœ„λ₯Ό μ •μ˜ν•˜κ³  λ°°κΈ‰ν•˜κΈ° μœ„ν•œ 졜초 μž‘μ—…μ„ μœ„ν•΄μ„œ, λ˜λŠ” 더 λ‚˜μ•„κ°€ 여타 μ»¨νŠΈλž™νŠΈλ“€μ΄ κ³„μ’Œμ˜ μž”κΈˆμ— λŒ€ν•œ μ •λ³΄μš”μ²­μ„ μ²˜λ¦¬ν•˜κΈ° μœ„ν•œ, λͺ‡ μ€„μ˜ μ½”λ“œκ°€ μΆ”κ°€μ μœΌλ‘œ 더 μ“°μ—¬μ Έμ•Ό ν•  μˆ˜λ„ μžˆλ‹€. ν•˜μ§€λ§Œ, κ·Έ 정도가 ν† ν°μ‹œμŠ€ν…œμ„ λ§Œλ“œλŠ” 데 ν•„μš”ν•œ 전뢀이닀. 이둠적으둜, 이더리움에 κΈ°λ°˜ν•œ ν•˜μœ„ν™”ν μ²΄κ³„λ‘œμ„œμ˜ ν† ν°μ‹œμŠ€ν…œμ€ λΉ„νŠΈμ½”μΈμ— κΈ°λ°˜ν•œ 메타화폐 (=λΉ„νŠΈμ½”μΈ 블둝체인 μ—°λ™λœ 화폐)κ°€ κ°–κ³  μžˆμ§€ μ•ŠλŠ” μ€‘μš”ν•œ νŠΉμ„±μ„ μ§€λ‹ˆκ³  μžˆμ„ 수 μžˆλ‹€: κ±°λž˜λΉ„μš©μ„ 거래 μ‹œ μ‚¬μš©ν•œ ν™”νλ‘œ 직접 μ§€λΆˆν•  수 μžˆλ‹€λŠ” 점이 그것이닀. λ‹€μŒκ³Ό 같은 과정을 ν†΅ν•˜μ—¬ 이 νŠΉμ„±μ€ λ°œν˜„λ  수 μžˆλ‹€: μ»¨νŠΈλž™νŠΈμ„ μ§‘ν–‰ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ°œμ†‘μΈμ—κ²Œ μ§€λΆˆν•΄μ•Ό ν•˜λŠ” λΉ„μš© 만큼의 이더 μž”κ³ λ₯Ό μœ μ§€ν•΄μ•Ό ν•œλ‹€. 그리고 μ»¨νŠΈλž™νŠΈ 집행 μ‹œ 수수료둜 λ°›λŠ” 내뢀화폐(ν•˜μœ„ν™”ν)λ₯Ό (μƒμ‹œ λŒμ•„κ°€κ³  μžˆλŠ” 내뢀화폐-이더 κ±°λž˜μ†Œμ—μ„œ) 즉각 ν™˜μ „ν•˜μ—¬ 이더 μž”κ³ λ‘œ μΆ©μ „ν•  수 μžˆλ‹€. μœ μ €λ“€μ€ κ·Έλ ‡κ²Œ μ΄λ”λ‘œ κ·Έλ“€μ˜ κ³„μ’Œλ“€μ„ β€œν™œμ„±ν™”β€μ‹œμΌœμ•Ό ν•˜μ§€λ§Œ 각 μ»¨νŠΈλž™νŠΈλ₯Ό 톡해 μ–»μ–΄μ§€λŠ” 만큼의 κΈˆμ•‘μ„ μ΄λ”λ‘œ 맀번 ν™˜μ „ν•΄ 주기에, ν•œ 번 μΆ©μ „λœ μ΄λ”λŠ” μž¬μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€κ³  λ³Ό 수 μžˆλ‹€.

νŒŒμƒμƒν’ˆκ³Ό κ°€μΉ˜μ•ˆμ •ν†΅ν™”

νŒŒμƒμƒν’ˆμ€ β€œμŠ€λ§ˆνŠΈ μ»¨νŠΈλž™νŠΈβ€μ˜ κ°€μž₯ 일반적인 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄λ©°, μ½”λ“œλ‘œ μ‹€ν–‰ν•  수 μžˆλŠ” κ°€μž₯ κ°„λ‹¨ν•œ ν˜•νƒœμ˜ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ 쀑 ν•˜λ‚˜λ‹€. 금육 μ»¨νŠΈλž™νŠΈλ₯Ό μ‹€ν–‰ν•˜λŠ” 데 κ°€μž₯ 주된 어렀움은 λŒ€λΆ€λΆ„μ˜ 경우 κ³„μ•½μ—μ„œ κ·œμ •ν•˜λŠ” μžμ‚°μ— λŒ€ν•œ μ‹œμ„Έλ₯Ό μ™ΈλΆ€μ—μ„œ μ°Έμ‘°ν•΄μ•Ό ν•œλ‹€λŠ” 것이닀. 예λ₯Ό λ“€μ–΄, κΈˆμœ΅μ»¨νŠΈλž™νŠΈμ— 맀우 ν•„μš”ν•œ 것은 이더(λ˜λŠ” 기타 가상화폐)-USD 변동성에 λŒ€ν•΄ 헷지(hedge)ν•˜λŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μΈλ°, 이 ν—·μ§€μ»¨νŠΈλž™νŠΈλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•΄μ„œλŠ” ETH/USD의 ν™˜μœ¨μ„ μ œκ³΅ν•  수 μžˆλŠ” μ»¨νŠΈλž™νŠΈκ°€ ν•„μš”ν•˜λ‹€. ν™˜μœ¨μ„ μ•ŒκΈ° μœ„ν•œ κ°€μž₯ μ‰¬μš΄ 방법은 μ£Όμ‹μ‹œμž₯의 NASDAQκ³Ό 같은 νŠΉμ •ν•œ 제 3μžκ°€ μ‹€μ‹œκ°„μœΌλ‘œ μ œκ³΅ν•˜λŠ” β€œλ°μ΄ν„°ν”Όλ“œβ€ μ»¨νŠΈλž™νŠΈλ₯Ό ν†΅ν•΄μ„œμ΄κ³ , κ΄€μ—¬μ£Όμ²΄λŠ” ν•„μš”ν•  λ•Œ λ§ˆλ‹€ ν™˜μœ¨μ„ μ—…λ°μ΄νŠΈν•  수 μžˆμ–΄μ•Ό ν•˜λ©°, 여타 μ»¨νŠΈλž™νŠΈλ“€κ³Ό ν™˜μœ¨μ— λŒ€ν•œ λ©”μ‹œμ§€λ₯Ό 주고받을 수 μžˆλŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€.

상기 핡심 μš”κ±΄λ“€μ„ κ°€μ •ν•˜κ³ , μœ„ μ–ΈκΈ‰ν•œ ν—·μ§€μ»¨νŠΈλž™νŠΈλŠ” λ‹€μŒκ³Ό 같은 ꡬ쑰λ₯Ό 띌 것이닀:

  1. Aκ°€ 1000 이더λ₯Ό μž…κΈˆν•  λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦°λ‹€
  2. Bκ°€ 1000 이더λ₯Ό μž…κΈˆν•  λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦°λ‹€
  3. μž…κΈˆλœ μ΄λ”μ˜ λ‹¬λŸ¬κ°€μΉ˜λ₯Ό κΈ°λ‘ν•˜λ©° (ν™˜μœ¨μ€ Data feed μ»¨νŠΈλž™νŠΈλ‘œ 쿼리λ₯Ό λ³΄λƒ„μœΌλ‘œμ¨ κ³„μ‚°ν•œλ‹€), 이λ₯Ό $X라 ν•œλ‹€
  4. 30일 이후, λ‹Ήμ‹œμ˜ ν™˜μœ¨μ„ μ μš©ν•œ κΈˆμ•‘μ„ κ³„μ‚°ν•˜μ—¬ Aμ—κ²ŒλŠ” $Xλ₯Ό μ†‘κΈˆν•˜κ³  λ‹Ήμ‹œ μ΄κΈˆμ•‘μ— λ‚˜λ¨Έμ§€λ₯Ό Bμ—κ²Œ μ†‘κΈˆν•˜λ„λ‘ A λ˜λŠ” Bκ°€ μ»¨νŠΈλž™νŠΈλ₯Ό λ‹€μ‹œ ν™œμ„±ν™” μ‹œν‚¬ 수 μžˆκ²Œλ” ν•œλ‹€.

μœ„μ™€ 같은 μ»¨νŠΈλž™νŠΈλŠ” 가상톡화λ₯Ό μ΄μš©ν•œ μƒκ±°λž˜μ˜ ν–₯ν›„ λ°œμ „ κ°€λŠ₯성을 μ œμ‹œν•œλ‹€. 가상화폐 μƒκ±°λž˜ ν™œμ„±ν™”μ˜ μž₯μ• λ¬Ό 쀑 ν•˜λ‚˜λŠ” κ°€μƒν™”νμ˜ 높은 변동성이닀; λ‹€μˆ˜μ˜ μœ μ €λ“€κ³Ό 상인듀은 가상화폐 ν˜Ήμ€ λΈ”λ‘μ²΄μΈμžμ‚°μ΄ μ œκ³΅ν•˜λŠ” λ³΄μ•ˆμ„±κ³Ό νŽΈμ˜μ„±μ— λŒ€ν•œ λ‹ˆμ¦ˆκ°€ μžˆμ§€λ§Œ, 단 ν•˜λ£¨λ§Œμ˜ κ·Έλ“€μ˜ μžμ‚°κ°€μΉ˜κ°€ 23% ν•˜λ½ν• μ§€λ„ λͺ¨λ₯Έλ‹€λŠ” λ¦¬μŠ€ν¬λŠ” ν”Όν•˜κ³  μ‹Άμ–΄ν•œλ‹€. 이 λ¬Έμ œμ— λŒ€ν•œ μ§€κΈˆκΉŒμ§€μ˜ κ°€μž₯ 보편적인 μ†”λ£¨μ…˜μ€ μžμ‚° λ°œν–‰μžκ°€ μžμ‚°μ— λŒ€ν•œ 보증을 μ„œλŠ” κ²ƒμ΄μ—ˆλ‹€: μ΄λŠ” 곧, λ°œν–‰μžκ°€ ν•˜μœ„ν™”νλ₯Ό λ§Œλ“€μ–΄μ„œ κ·Έλ₯Ό ν†΅ν•΄μ„œ ν†΅ν™”λŸ‰μ„ μ‘°μ ˆν•  수 μžˆλŠ” κΆŒν•œμ„ κ°–κ³ , λˆ„κ΅°κ°€κ°€ 일정 λ‹¨μœ„μ˜ ν•˜μœ„ν™”νλ₯Ό μ§€λΆˆν•˜μ˜€μ„ λ•Œ 그에 μƒμ‘ν•˜λŠ” νŠΉμ •ν•œ 베이슀 μžμ‚° (예, USD, 금)으둜 κ΅ν™˜ν•΄μ£ΌλŠ” 방식을 λœ»ν•œλ‹€. 이 방식을 λ³Έ 사둀에 μ μš©ν•œλ‹€λ©΄, 가상화폐 λ°œν–‰μžλŠ” 가상화폐λ₯Ό μ§€λΆˆν•˜λŠ” μžμ—κ²Œ 그에 μƒμ‘ν•˜λŠ” λ² μ΄μŠ€μžμ‚°μ„ μ œκ³΅ν•  것이라고 곡개적인 약속을 ν•˜λŠ” 것이닀. 이 λ©”μ»€λ‹ˆμ¦˜μ€ λΉ„(非)가상화폐 ν˜Ήμ€ λΉ„(非)λ””μ§€ν„Έμžμ‚°μ„ 블둝체인 μžμ‚°ν™”(εŒ–) μ‹œν‚€λŠ” κ²°κ³Όλ₯Ό λ‚³λŠ”λ‹€β€”λ¬Όλ‘  가상화폐 λ°œν–‰μžλ₯Ό μ‹ λ’°ν•  수 μžˆλ‹€λ©΄ 말이닀.

λ‹€λ§Œ, ν˜„μ‹€μ μœΌλ‘œλŠ” μžμ‚° λ°œν–‰μΈμ„ μ–Έμ œλ‚˜ μ‹ λ’°λ₯Ό ν•  수 μ—†μœΌλ©°, λͺ‡λͺ‡ 사둀λ₯Ό 보면, 우리의 κΈˆμœ΅μΈν”„λΌλŠ” μžμ‚°λ³΄μ¦ μ„œλΉ„μŠ€κ°€ μ‘΄μž¬ν•˜κΈ°μ—λŠ” λ„ˆλ¬΄ μ·¨μ•½ν•˜κ±°λ‚˜, λ•Œλ‘œλŠ” μ λŒ€μ μ΄κΈ°λ„ ν•˜λ‹€. νŒŒμƒμƒν’ˆμ€ 이에 λŒ€ν•œ λŒ€μ•ˆμ„ μ œκ³΅ν•΄μ€€λ‹€. μ—¬κΈ°μ„œ μžμ‚°μ„ λ³΄μ¦ν•˜κΈ° μœ„ν•œ νŽ€λ“œλ₯Ό μ œκ³΅ν•˜λŠ” μ—­ν™œμ„ ν•˜λ‚˜μ˜ μžμ‚° λ°œν–‰μžκ°€ ν•˜λŠ” 것이 μ•„λ‹ˆλΌ μ•”ν˜Έν™” λ‹΄λ³΄μžμ‚°(cryptographic reference asset, 예: 이더)의 가격이 올라갈 κ²ƒμ΄λΌλŠ” 데에 λ² νŒ…μ„ ν•˜λŠ” νˆ¬μžμžλ“€(speculators)의 νƒˆμ€‘μ•™ν™”λœ μ‹œμž₯이 κ·Έ 역할을 λ‹΄λ‹Ήν•˜κ²Œ λœλ‹€. νŒŒμƒμƒν’ˆμ„ ν†΅ν•œ 보증 λ˜ν•œ μ™„μ „ν•˜κ²Œ νƒˆμ€‘μ•™ν™”λœ 방법둠은 μ•„λ‹ˆλΌλŠ” 것을 μ£Όμ˜ν•˜κΈ° λ°”λž€λ‹€. 비둝 μžμ‚° λ°œν–‰μžμ„ ν†΅ν•œ 방법 보닀 μ§„μž…μž₯λ²½(μ˜μ—…ν—ˆκ°€μ¦ 등이 ν•„μš” μ—†μŒ)이 μ—†κ³  사기/μ‘°μž‘ κ°€λŠ₯성이 μ€„μ–΄λ“€κΈ°λŠ” ν•˜μ§€λ§Œ, μ‹ λ’°μ„±μžˆλŠ” 제 3기관이 USD/ETH μ‹œμ„Έ λ˜λŠ” ν™˜μœ¨μ„ μ œκ³΅ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€.

μ‹ μ›μ‘°νšŒ / ν‰νŒ μ‹œμŠ€ν…œ(Identity and Reputation Systems)

졜초의 μ•ŒνŠΈμ½”μΈ(λΉ„νŠΈμ½”μΈ 이후에 μƒκ²¨λ‚œ 가상화폐)인 λ„€μž„μ½”μΈμ€ λΉ„νŠΈμ½”μΈκ³Ό μœ μ‚¬ν•œ 블둝체인을 μ΄μš©ν•˜μ—¬ μ‚¬μš©μžκ°€ 곡곡DB에 λ‹€λ₯Έ 데이터와 ν•¨κ»˜ 본인의 이름을 λ“±λ‘ν•˜λŠ” λͺ…μ˜λ“±λ‘ μ‹œμŠ€ν…œμ„ λ§Œλ“€μ–΄λƒˆλ‹€. 이의 주된 μ‚¬μš©λ‘€λŠ” β€œbitcoin.org”와 (Namecoin의 κ²½μš°μ—λŠ” β€œbitcoin.bit”) 도메인λͺ…을 λ§€ν•‘ν•˜λŠ” DNS μ‹œμŠ€ν…œμ΄λ‹€. λ‹€λ₯Έ μ‚¬μš©λ‘€μ—λŠ” 이메일 인증, 그리고 보닀 μ§„μΌλ³΄λœ ν‰νŒ μ‹œμŠ€ν…œ 등이 μžˆλ‹€. μ΄λ”λ¦¬μ›€μ—μ„œ λ„€μž„μ½”μΈκ³Ό 같은 λͺ…μ˜λ“±λ‘ μ‹œμŠ€ν…œμ˜ 기본적인 μ»¨νŠΈλž™νŠΈλŠ” μ•„λž˜μ™€ 같은 ν˜•νƒœλ₯Ό λˆλ‹€.

def register(name, value):
    if !self.storage[name]:
        self.storage[name] = value

이 μ»¨νŠΈλž™νŠΈλŠ” 맀우 λ‹¨μˆœν•˜κ²Œλ„, 이더리움 λ„€νŠΈμ›Œν¬ μ•ˆμ—μ„œ μ €μž₯λ˜μ–΄ μžˆλŠ”, μΆ”κ°€ν•  μˆ˜λŠ” μžˆμ§€λ§Œ μˆ˜μ •ν•˜κ±°λ‚˜ μ§€μšΈ 수 μ—†λŠ” 데이터 베이슀일 뿐이닀. λˆ„κ΅¬λ“ μ§€ μ†ŒλŸ‰μ˜ 이더λ₯Ό μ΄μš©ν•˜μ—¬ 본인의 λͺ…μ˜λ₯Ό 등둝할 수 있으며, ν•œ 번 λ“±λ‘ν•˜λ©΄ 영ꡬ적으둜 λ³΄μ‘΄λœλ‹€. 보닀 μ •κ΅ν•œ λͺ…μ˜λ“±λ‘ μ»¨νŠΈλž™νŠΈλŠ” λ‹€λ₯Έ μ»¨νŠΈλž™νŠΈκ°€ λ³΄λ‚΄λŠ” 쿼리에 λ°˜μ‘ν•  수 μžˆλŠ” ν•¨μˆ˜μ‘°κ±΄μ΄ κ±Έλ € μžˆμ„ κ²ƒμœΌλ©°, λͺ…μ˜ μ†Œμœ μž (곧, 졜초 λ“±λ‘μž)κ°€ 데이터λ₯Ό λ³€κ²½ν•˜κ±°λ‚˜ λͺ…μ˜μ†Œμœ κΆŒμ„ 이전할 수 μžˆλŠ” λ©”μ»€λ‹ˆμ¦˜μ΄ μž₯μ°©λ˜μ–΄ μžˆμ„ 것이닀. ν˜ΉμžλŠ” ν‰νŒμ΄λ‚˜ μΈν„°λ„·μ‹ μš©λ„ κΈ°λŠ₯등을 κ·Έ μœ„μ— μΆ”κ°€ν•  μˆ˜λ„ μžˆλ‹€.

λΆ„μ‚°ν˜• 파일 μ €μž₯μ†Œ(Decentralized File Storage)

μ§€λ‚œ λͺ‡λ…„ λ™μ•ˆ, λ“œλ‘­λ°•μŠ€μ™€ 같은 μ›Ή 상에 νŒŒμΌμ„ μ €μž₯μ‹œμΌœμ£ΌλŠ” μΈκΈ°μžˆλŠ” μŠ€νƒ€νŠΈμ—…μ΄ λ‹€μˆ˜ 생겨났닀 (μ›” 정앑에 μœ μ €λ“€μ΄ ν•˜λ“œλ“œλΌμ΄λΈŒλ₯Ό λ°±μ—… μ‹œμΌœ 놓고 λ°±μ—…νŒŒμΌμ— μ•‘μ„ΈμŠ€ ν•  수 μžˆλŠ” λΉ„μ¦ˆλ‹ˆμŠ€ λͺ¨λΈμž„). κ·ΈλŸ¬λ‚˜, ν˜„μ‹œμ μ—μ„œ νŒŒμΌμ €μž₯ μ‹œμž₯은 μ’…μ’… μƒλŒ€μ μœΌλ‘œ λΉ„νš¨μœ¨μ μΌ λ•Œκ°€ λ§Žλ‹€. ν˜„μž¬ μ‘΄μž¬ν•˜λŠ” μ†”λ£¨μ…˜λ“€μ˜ μ›”μ •μ•‘ 가격을 보면 (특히 무료 ν• λ‹ΉλŸ‰λ„ κΈ°μ—… 할인도 μ—†λŠ” 20-200κΈ°κ°€λ°”μ΄νŠΈ μˆ˜μ€€μ˜ 기업이 μ§€λΆˆν•˜λŠ” μ›”μ •μ•‘), ν•œλ‹¬λ§Œ 써도 전체 ν•˜λ“œλ“œλΌμ΄λΈŒμ˜ λΉ„μš©λ³΄λ‹€ 더 λΉ„μŒ€ 정도이닀. μ΄λ”λ¦¬μ›€μ˜ μ»¨νŠΈλž™νŠΈλŠ” λΆ„μ‚°ν˜• 파일 μ €μž₯μ†Œ μƒνƒœκ³„μ˜ λ°œμ „μ„ κ°€λŠ₯μΌ€ν•œλ‹€. 이 μƒνƒœκ³„μ—μ„œ μœ μ € κ°œκ°œμΈμ€ 본인의 ν•˜λ“œλ“œλΌμ΄λΈŒλ₯Ό λŒ€μ—¬ν•΄μ£ΌλŠ” λŒ€κ°€λ‘œ μ†Œμ•‘μ˜ λˆμ„ 받을 수 있으며 λ‚¨λŠ” ν•˜λ“œλ””μŠ€ν¬ 곡간은 νŒŒμΌμ €μž₯의 λΉ„μš©μ„ λ”μš± λ‚μΆ”λŠ” κ²°κ³Όλ₯Ό 낳을 것이닀. λΆ„μ‚°ν˜• 파일 μ €μž₯μ†Œμ˜ 핡심 κΈ°λ°˜μ€, μ†Œμœ„ β€œλΆ„μ‚°ν˜• λ“œλ‘­λ°•μŠ€ μ»¨νŠΈλž™νŠΈβ€κ°€ 될 것이닀. 이 μ»¨νŠΈλž™νŠΈλŠ” λ‹€μŒκ³Ό 같이 μž‘λ™ν•œλ‹€: 1) μœ μ €κ°€ μ—…λ‘œλ“œν•˜λ €λŠ” 데이터λ₯Ό λΈ”λ‘μœΌλ‘œ μž˜λΌλ‚΄κ³ , 2) ν”„λΌμ΄λ²„μ‹œλ₯Ό μœ„ν•΄ ν•΄λ‹Ή 데이터λ₯Ό μ•”ν˜Έν™” μ‹œν‚¨ ν›„, 3) κ·Έ λ°μ΄ν„°λ‘œ 머클트리λ₯Ό λ§Œλ“ λ‹€. μœ„ 데이터에 λŒ€ν•œ μ»¨νŠΈλž™νŠΈλŠ” μ•„λž˜μ™€ 같은 룰에 μ˜ν•΄μ„œ μœ μ§€λœλ‹€.

  • N개의 블둝 λ§ˆλ‹€ λ¬΄μž‘μœ„ λ°©μ‹μœΌλ‘œ (μ»¨νŠΈλž™νŠΈ μ½”λ“œλ‘œ μ ‘κ·Όκ°€λŠ₯ν•œ μ „ λΈ”λ‘μ˜ 해쉬에 κΈ°λ°˜ν•œ λ¬΄μž‘μœ„ 방식) 머클트리의 인덱슀λ₯Ό λ½‘λŠ”λ‹€.
  • μœ μ €κ°€ 올린 νŒŒμΌμ— ν•΄λ‹Ήν•˜λŠ” 트리의 νŠΉμ • μΈλ±μŠ€μ— λŒ€ν•˜μ—¬, ν•΄λ‹Ή 데이터λ₯Ό μ €μž₯ν•΄μ£Όκ² λ‹€λŠ” 첫 μ£Όμ²΄μ—κ²Œ (κ°„μ†Œν™”λœ μ§€λΆˆμ¦λͺ…μ΄μž μ†Œμœ κΆŒμ¦λͺ…μ˜ 의미λ₯Ό λ„λŠ”) X 이더λ₯Ό μ§€λΆˆν•œλ‹€.

νŒŒμΌμ„ 올린 μœ μ €κ°€ λ‹€μ‹œ μžμ‹ μ˜ νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œ ν•˜κ³  싢을 λ•Œμ—λŠ”, μ†Œμ•‘κ²°μ œ 채널 ν”„λ‘œν† μ½œ(예, 32ν‚¬λ‘œλ°”μ΄νŠΈμ— 1 szaboλ₯Ό μ§€λΆˆν•œλ‹€)을 μ‚¬μš©ν•΄μ„œ νŒŒμΌμ„ 볡원할 수 μžˆλ‹€; 수수료 μΈ‘λ©΄μ—μ„œ κ°€μž₯ 효율적인 접근방법은 νŒŒμΌμ„ μ—…λ‘œλ“œν•œ μœ μ €κ°€ μ €μž₯이 λλ‚˜λŠ” λ§ˆμ§€λ§‰κΉŒμ§€ νŒŒμΌμ— λŒ€ν•œ νŠΈλžœμž­μ…˜μ„ κ³΅ν‘œν•˜μ§€ μ•Šκ³ , 맀 32 ν‚¬λ‘œλ°”μ΄νŠΈ λ§ˆλ‹€ λ™μΌν•œ Nonceλ₯Ό κ°–κ³  μžˆλŠ” 보닀 μˆ˜μ΅μ„±μ΄ μžˆλŠ” νŠΈλžœμž­μ…˜μœΌλ‘œ λ°”κΏ”μ£ΌλŠ” 방법이 μžˆλ‹€.

비둝 이 방식은 νŒŒμΌμ„ μ—…λ‘œλ“œν•œ μœ μ €κ°€ λ‹€μˆ˜μ˜ λžœλ€ν•œ λ…Έλ“œλ“€μ΄ λ‚˜μ˜ νŒŒμΌμ„ 계속 μ €μž₯ν•˜κ³  μžˆμ„ 것이라고 λ―Ώμ–΄μ•Ό ν•œλ‹€λŠ” 것을 μ „μ œν•˜λŠ” 것 처럼 λ³΄μ΄μ§€λ§Œ, μ‹€μ œλ‘œλŠ” μœ μ €λŠ” μ—…λ‘œλ“œν•œ νŒŒμΌμ„ μˆ˜λ§Žμ€ μ•”ν˜Έν™”λœ 쑰각으둜 μž˜λΌλ‚΄μ„œ μ—¬λŸ¬ λ…Έλ“œλ“€κ³Ό κ³΅μœ ν•˜κ³  또 μ»¨νŠΈλž™νŠΈλ₯Ό ν†΅ν•΄μ„œ μ™ΈλΆ€ λ…Έλ“œλ“€μ΄ λ‚΄κ°€ 올린 νŒŒμΌμ„ μ €μž₯ν•˜κ³  μžˆλ‹€λŠ” 것을 λͺ¨λ‹ˆν„°λ§ν•¨μœΌλ‘œμ¨ λ‚΄κ°€ 올린 νŒŒμΌμ— λŒ€ν•œ λΆ„μ‹€ ν˜Ήμ€ 제 3μžμ—μ˜ν•œ λ„μš©μ΄λΌλŠ” 리슀크λ₯Ό 거의 0에 κ°€κΉκ²Œ 쀄일 수 μžˆλ‹€λŠ” 것이 λΆ„μ‚°ν˜• λ“œλ‘­λ°•μŠ€ μ»¨νŠΈλž™νŠΈ μ€‘μš”ν•œ νŠΉμ§•μ΄λ‹€. μ»¨νŠΈλž™νŠΈκ°€ 계속 λˆμ„ μ§€λΆˆν•˜κ³  μžˆλ‹€λŠ” 것은 곧 λ„€νŠΈμ›Œν¬ μƒμ—μ„œ λˆ„κ΅°κ°€λŠ” νŒŒμΌμ„ μ €μž₯ν•˜κ³  μžˆλ‹€λŠ” 것을 증λͺ…ν•œλ‹€.

νƒˆμ€‘μ•™ν™”λœ 자율쑰직(Decentralized Autonomous Organizations)

β€œνƒˆμ€‘μ•™ν™”λœ μžμœ¨μ‘°μ§β€μ˜ 기본적인 κ°œλ…μ€νŠΉμ •ν•œ μ§‘ν•©μ˜ ꡬ성원 λ˜λŠ” 주주듀을 κ°–κ³  μžˆλŠ” 가상 독립체(virtual entity)κ°€ ν•„μš”ν•œ 수만큼의 κ΅¬μ„±μ›μ˜ λ™μ˜ν•˜μ—(예, 67% λ‹€μˆ˜) 쑰직자금운용 κΆŒν•œ 및 μ½”λ“œ λ³€κ²½ κΆŒν•œμ„ κ°–λŠ”λ‹€λŠ” 것이닀. ꡬ성원듀은 κ·Έ 쑰직이 μ–΄λ–»κ²Œ μš΄μ˜μžκΈˆμ„ 배뢄할지λ₯Ό κ³΅λ™μœΌλ‘œ κ²°μ •ν•  것이닀. DAO의 μžκΈˆμ„ λ°°λΆ„ν•˜λŠ” 방식은 포상, κΈ‰μ—¬ ν˜•μ‹λΆ€ν„° 보닀 색닀λ₯Έ λ‚΄λΆ€ν™”νλ‘œ λ³΄μƒν•˜λŠ” ν˜•μ‹κΉŒμ§€ λ‹€μ–‘ν•˜λ‹€. 이것은 본질적으둜 톡상적인 κΈ°μ—…μ΄λ‚˜ λΉ„μ˜λ¦¬μž¬λ‹¨μ—μ„œ μ‚¬μš©ν•˜λŠ” 법적인 μž₯μΉ˜λ“€μ„ κ·ΈλŒ€λ‘œ λ”°λ₯΄λŠ” κ²ƒμ΄μ§€λ§Œ, κ·Έ μ§‘ν–‰μ˜ κ°•μ œ(enforcement)λ₯Ό μœ„ν•΄ μ•”ν˜Έν™” 블둝체인 κΈ°μˆ μ„ μ‚¬μš©ν•œλ‹€λŠ” 점이 차별점이닀. μ§€κΈˆκΉŒμ§€μ˜ DAO에 λŒ€ν•œ λ…Όμ˜λŠ” 주둜 "자본주의적(capitalist)" λͺ¨λΈμΈ "νƒˆμ€‘μ•™ν™”λœ μžμœ¨κΈ°μ—…(decentralized autonomous corporation, DAC)"에 κ΄€ν•œ κ²ƒμ΄μ—ˆλŠ”λ°, 이 DACλŠ” 배당을 λ°›λŠ” μ£Όμ£Όλ“€κ³Ό 맀맀가λŠ₯ν•œ 지뢄을 가지고 μžˆλ‹€. 이것에 λŒ€ν•œ λŒ€μ•ˆμ μΈ ν˜•νƒœλ‘œ "νƒˆμ€‘μ•™ν™”λœ 자율 컀λ€λ‹ˆν‹°( decentralized autonomous community)" 같은 κ°œλ…λ„ 생각해 λ³Ό 수 μžˆλŠ”λ°, 이 μ•ˆμ—μ„œ ꡬ성원듀은 μ˜μ‚¬κ²°μ •μ— μžˆμ–΄μ„œ λͺ¨λ‘ λ™μΌν•œ 지뢄을 κ°–κ³ μžˆμœΌλ©°, κΈ°μ‘΄ κ΅¬μ„±μ›μ˜ 67%의 ν‘œκ²°μ„ ν†΅ν•œ λ™μ˜κ°€ μžˆμ„ λ•Œ ꡬ성원을 μΆ©μ›ν•˜κ±°λ‚˜ νƒˆν‡΄μ‹œν‚¬ 수 μžˆμ„ 것이닀.κ·Έλ ‡λ‹€λ©΄, ν•œμ‚¬λžŒμ΄ 였직 ν•˜λ‚˜μ˜ λ©€λ²„μ‹­λ§Œμ„ κ°€μ Έμ•Όν•œλ‹€λŠ” μš”κ±΄μ΄ κ·Έ 그룹에 μ˜ν•΄ κ³΅λ™μœΌλ‘œ μ‹œν–‰λ  ν•„μš”κ°€ μžˆμ„ 것이닀. DAO 코딩에 κ΄€ν•œ 일반적인 κ°œμš”λŠ” λ‹€μŒκ³Ό κ°™λ‹€. κ°€μž₯ κ°„λ‹¨ν•œ λ””μžμΈμ€ λ‹¨μˆœν•˜κ²Œλ„ ꡬ성원 2/3κ°€ λ™μ˜/κ±°λΆ€ν•˜μ˜€μ„ μ‹œ μ €μ ˆλ‘œ μ½”λ“œκ°€ λ³€κ²½λ˜λŠ” 컨셉이닀. 비둝 이둠적으둜 ν•œ 번 μ„ΈνŒ…λœ μ½”λ“œλŠ” λ°”λ€”μˆ˜ 없어도, λ³„λ„μ˜ μ½”λ“œλ“€μ„ 각각 λ‹€λ₯Έ μ»¨νŠΈλž™νŠΈλ“€λ‘œ λΆ„λ¦¬μ‹œμΌœμ„œ, 이것을 λ³€κ²½κ°€λŠ₯ν•œ μ €μž₯곡간에 각각 λ„£μ–΄λ‘” λ‹€μŒ, 이 μ½”λ“œλ“€μ„ λΆˆλŸ¬λ‚Ό 수 μžˆλŠ” μ£Όμ†Œλ“€μ„ μ œκ³΅ν•¨μœΌλ‘œμ¨ μš°λ¦¬λŠ” μ‹€μ œμ μœΌλ‘œ μ½”λ“œκ°€ λ³€κ²½λœ 것과 같은 효과λ₯Ό λ§Œλ“€ 수 μžˆλ‹€. μ•„μ£Ό κ°„λ‹¨ν•œ DAO μ»¨νŠΈλž™μ—λŠ” 3가지 μ’…λ₯˜μ˜ νŠΈλž™μž­μ…˜λ“€μ΄ μžˆμ„ 수 μžˆλŠ”λ°, κ·Έ ꡬ뢄은 κ·Έ νŠΈλžœμž­μ…˜μ΄ μ œκ³΅ν•˜λŠ” λ°μ΄ν„°μ˜ μ’…λ₯˜μ— λ”°λ₯Έλ‹€:

  • [0,i,K,V]λŠ” μ €μž₯곡간 인덱슀 k 에 μžˆλŠ” μ£Όμ†Œλ₯Ό v κ°’μœΌλ‘œ λ°”κΎΈλΌλŠ” 인덱슀 i λ₯Ό 가진 μ œμ•ˆμ„ 등둝
  • [0,i]λŠ” μ œμ•ˆ i 에 μ°¬μ„±ν•˜λŠ” νˆ¬ν‘œλ₯Ό 등둝
  • [2,i] λŠ” μΆ©λΆ„ν•œ νˆ¬ν‘œκ°€ 이루어 μ‘Œμ„ λ•Œ μ œμ•ˆ i λ₯Ό μ™„κ²°

μ»¨νŠΈλž™νŠΈλŠ” 상기 ν•­λͺ©λ“€ 각각에 λŒ€ν•œ μ‘°κ±΄μ ˆμ„ κ°–κ³  μžˆμ„ 것이닀. μ»¨νŠΈλž™μ€ λͺ¨λ“  μ˜€ν”ˆμŠ€ν† λ¦¬μ§€μ— μΌμ–΄λ‚œ λ³€ν™”λ“€κ³Ό λˆ„κ°€κ·Έ 변화듀에 λŒ€ν•΄ νˆ¬ν‘œν–ˆλŠ”κ°€ν•˜λŠ” 리슀트λ₯Ό λ³΄κ΄€μœ μ§€ν•˜κ²Œ 될 것이닀. μ»¨νŠΈλž™μ€ λ˜ν•œ 전체 ꡬ성원 λ¦¬μŠ€νŠΈλ„ λ³΄κ΄€ν•œλ‹€. μ–΄λ–€ μŠ€ν† λ¦¬μ§€ λ³€κ²½μ΄λ˜μ§€ κ΅¬μ„±μ›μ˜ 2/3 의 νˆ¬ν‘œλ₯Ό λ°›μœΌλ©΄, λ§ˆμ§€λ§‰μœΌλ‘œ ν™•μ •μ‹œν‚€λŠ” νŠΈλžœμž­μ…˜μ΄ κ·Έ 변경을 집행할 수 있게 λœλ‹€. 이것보닀 μ’€ 더 λ°œμ „λœ ν˜•νƒœλŠ” λ‚΄μž₯ νˆ¬ν‘œ κΈ°λŠ₯을 μ΄μš©ν•΄μ„œ νŠΈλžœμž­μ…˜μ„ μ†‘μ‹ ν•˜κ±°λ‚˜, ꡬ성원을 좩원/νƒˆν‡΄μ‹œν‚€κ±°λ‚˜, μœ„μž„ 민주주의 (Liquid Democracy λ˜λŠ” Delegative Democracy)의 νˆ¬ν‘œμœ„μž„λ“±μ˜ κΈ°λŠ₯도 μΆ”κ°€ν•  수 μžˆμ„ 것이닀. 이런 νˆ¬ν‘œμœ„μž„μ„ 톡해 λˆ„κ΅¬μ—κ²Œλ‚˜ μžμ‹ μ„ μœ„ν•΄ νˆ¬ν‘œν•  수 μžˆλ„λ‘ μœ„μž„ν•  수 있고, 또 이 κΆŒν•œμ€ λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ λ‹€μ‹œ μ „κ°€κ°€ 될 μˆ˜λ„ μžˆλ‹€. Aκ°€ Bμ—κ²Œ μœ„μž„ν•˜κ³ , BλŠ” Cμ—κ²Œ μœ„μž„ν•˜λ©΄, Cκ°€ A의 νˆ¬ν‘œλ₯Ό κ²°μ •ν•œλ‹€. μ΄λŸ¬ν•œ 섀계λ₯Ό ν†΅ν•΄μ„œ, DAOλŠ” νƒˆμ€‘μ•™ν™”λœ 컀λ€λ‹ˆν‹°λ‘œ 유기적으둜 μ„±μž₯ν•  수 있으며, 더 λ‚˜μ•„κ°€ λˆ„κ°€ ꡬ성원인지 μ•„λ‹Œμ§€λ₯Ό νŒλ‹¨ν•˜λŠ” κΈ°λŠ₯을 μ „λ¬Έκ°€λ“€μ—κ²Œ μœ„μž„ ν•  μˆ˜λ„ μžˆλ„λ‘ 해쀄 것이닀. (λ¬Όλ‘  "ν˜„ν–‰μ‹œμŠ€ν…œ"κ³Ό 달리, 각 컀λ€λ‹ˆν‹° κ΅¬μ„±μ›λ“€μ˜ 의견이 λ°”λ€œμ— 따라, κ·ΈλŸ¬ν•œ 전문가듀은 μžˆμ„ μˆ˜λ„/없을 μˆ˜λ„ 있게 λœλ‹€.)

이것과 λΉ„κ΅λ˜λŠ” λ‹€λ₯Έ λͺ¨λΈμ€ νƒˆμ€‘μ•™ν™”λœ 기업이라고 ν•  수 μžˆλŠ”λ°, μ—¬κΈ°μ—μ„œ 각 μ–΄μΉ΄μš΄νŠΈλŠ” 0 λ˜λŠ” κ·Έ μ΄μƒμ˜ 지뢄을 κ°€μ§ˆ 수 있고, μ–΄λ–€ 결정을 내리기 μœ„ν•΄μ„œλŠ” μ§€λΆ„μ˜ 2/3 κ°€ ν•„μš”ν•˜λ‹€. κ·Έκ²ƒμ˜ κ°€μž₯ λ‹¨μˆœν™”λœ 핡심 골격은 μžμ‚° 관리 κΈ°λŠ₯, 지뢄을 맀맀할 수 μžˆλŠ” 였퍼λ₯Ό λ‚Ό 수 μžˆλŠ” λŠ₯λ ₯, 그리고 λ‹€λ₯Έ μ˜€νΌλ“€μ„ μˆ˜λ½ν•  수 μžˆλŠ”(μ•„λ§ˆλ„ μ»¨νŠΈλž™νŠΈλ‚΄μ— μžˆλŠ” 주문맀칭 λ©”μ»€λ‹ˆμ¦˜μ„ 톡해) λŠ₯λ ₯듀을 ν¬ν•¨ν•˜κ²Œ 될 것이닀. "μ΄μ‚¬νšŒ" κ°œλ…μ„ μΌλ°˜ν™”ν•˜λŠ” μœ λ™μ‹ 민주주의(Liquid Democracy) μŠ€νƒ€μΌμ˜ μœ„μž„μ œλ„ λ˜ν•œ 있게 될 것이닀.

좔가적인 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜λ“€(Further Applications)

  1. 예금용 β€œμ „μžμ§€κ°‘β€. νŽ€λ“œλ₯Ό μ•ˆμ „ν•˜κ²Œ λ³΄κ΄€ν•˜κ³  싢은 Aκ°€ νŽ€λ“œλ₯Ό μžƒμ–΄λ²„λ¦¬κ±°λ‚˜ λˆ„κ΅°κ°€μ—κ²Œ κ·Έλ…€μ˜ Private keyλ₯Ό ν•΄ν‚Ήλ‹Ήν•  것을 κ±±μ •ν•œλ‹€κ³  κ°€μ •ν•΄ 보자. κ·Έλ…€λŠ” 이더λ₯Ό BλΌλŠ” μ€ν–‰κ³Όμ˜ μ»¨νŠΈλž™νŠΈμ— λ‹€μŒκ³Ό 같은 λ°©μ‹μœΌλ‘œ 집어 넣을 것이닀.
  • A만이 ν•˜λ£¨μ— κ·Έλ…€κ°€ μ†Œμœ ν•˜λŠ” νŽ€λ“œμ˜ μ΅œλŒ€ 1%λ₯Ό μΆœκΈˆν•  수 μžˆλ‹€.
  • Bλ˜ν•œ ν•˜λ£¨μ— Aκ°€ μ†Œμœ ν•˜λŠ” νŽ€λ“œμ˜ μ΅œλŒ€ 1%λ₯Ό μΆœκΈˆν•  수 μžˆμ§€λ§Œ, AλŠ” κ·Έλ…€μ˜ Private keyλ₯Ό 톡해 νŠΈλžœμž­μ…˜μ„ λ°œμ†‘ν•¨μœΌλ‘œμ¨ B의 좜금 κΆŒν•œμ„ 없애버릴 수 μžˆλ‹€.
  • A와 BλŠ” ν•¨κ»˜ μ–΄λ–€ κΈˆμ•‘λ„ μΆœκΈˆν•  수 μžˆλ‹€.

일반적으둜 ν•˜λ£¨μ˜ 1%λΌλŠ” μƒν•œμ„ μ€ Aμ—κ²Œ μΆ©λΆ„ν•˜λ©°, κ·Έ μ΄μƒμ˜ κΈˆμ•‘μ„ μΆœκΈˆν•˜κ³  싢을 μ‹œ AλŠ” Bμ—κ²Œ μƒν•œ μ‘°μ • ν—ˆκ°€λ₯Ό μš”μ²­ν•  수 μžˆλ‹€. Alice의 Private keyκ°€ ν•΄ν‚Ή λ‹Ήν•˜μ˜€μ„ 경우, Bμ—κ²Œ νŽ€λ“œλ₯Ό μƒˆλ‘œμš΄ μ»¨νŠΈλž™νŠΈλ‘œ 이체 μ‹œν‚€λΌκ³  μš”μ²­ν• μˆ˜ μžˆλ‹€. Aκ°€ 본인의 Private keyλ₯Ό λΆ„μ‹€ν•˜λŠ” 경우, BλŠ” 였랜 μ‹œκ°„μ— κ±Έμ³μ„œλΌλ„ νŽ€λ“œμ˜ κΈˆμ•‘μ„ μΆœκΈˆν•  수 μžˆλ‹€. Bκ°€ 악당인 κ²½μš°μ—λŠ” AλŠ” B의 좜금 κΆŒν•œμ„ μ •μ§€μ‹œν‚¬ 수 μžˆλ‹€.

  1. μž‘λ¬Όλ³΄ν—˜. μ‹œμ„Έκ°€ μ•„λ‹Œ 날씨 λ°μ΄ν„°ν”Όλ“œλ₯Ό μ΄μš©ν•΄μ„œ νŒŒμƒμƒν’ˆμ„ μ†μ‰½κ²Œ λ§Œλ“€ 수 μžˆλ‹€. μ•„μ΄μ˜€μ™€μ£Όμ— μžˆλŠ” 농뢀가 κ°•μˆ˜λŸ‰ 데이터와 μ—­λΉ„λ‘€ν•˜κ²Œ μ§€λΆˆκΈˆμ΄ μ‚°μΆœλ˜λŠ” νŒŒμƒμƒν’ˆμ„ μ‚°λ‹€λ©΄, 가뭄이 μžˆμ„ μ‹œ λ†λΆ€λŠ” μžλ™μ μœΌλ‘œ 보상을 받을 수 μžˆμ„ 것이닀. μ΄λŸ¬ν•œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ€ μžμ—°μž¬ν•΄ μΌλ°˜μ— λŒ€ν•œ λ³΄ν—˜μƒν’ˆμœΌλ‘œ ν™•λŒ€λ  수 μžˆμ„ 것이닀.

  2. νƒˆμ€‘μ•™ν™”λœ λ°μ΄ν„°ν”Όλ“œ. β€œμ‰˜λ§μ½”μΈ (SchellingCoin)β€μ΄λΌλŠ” ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬, λ³€λŸ‰ (Difference)을 λ‹€λ£¨λŠ” κΈˆμœ΅κ³„μ•½(예, 둜또)을 νƒˆμ€‘μ•™ν™”λœ λ°©μ‹μœΌλ‘œ μš΄μš©ν•  수 μžˆλ‹€. μ‰˜λ§μ½”μΈμ€ λ‹€μŒκ³Ό 같이 μž‘λ™ν•œλ‹€: ν•˜λ‚˜μ˜ 주어진 κΈ°μ€€μΉ˜(예, ETH/USD μ‹œμ„Έ)에 λŒ€ν•΄ Nλͺ…μ˜ μ°Έμ—¬μžκ°€ 각각 μžμ‹ λ“€μ΄ λ§žλ‹€κ³  μƒκ°ν•˜λŠ” 값을 μ‹œμŠ€ν…œμ— μ œκ³΅ν•œλ‹€. μ΄λŸ¬ν•œ 값듀은 κ·Έ κ°’μ˜ 크기에 따라 μˆœμœ„κ°€ 맀겨지며, 이 λ•Œ 25번째 퍼센타일과 75번째 퍼센타일 사이에 μžˆλŠ” 값을 μ œμ‹œν•œ μ‚¬λžŒμ€ 토큰 1개λ₯Ό λ³΄μƒμœΌλ‘œ λ°›κ²Œ λœλ‹€. μ΄λ ‡κ²Œ 되면 보상을 λ°›κΈ° μœ„ν•΄μ„œ λͺ¨λ“  μ°Έκ°€μžλ“€μ€ λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ μ œμ‹œν–ˆμ„ λ˜‘κ°™μ€ 값을 μ œμ‹œν•˜κ³ μž ν•  것이고, λ§Žμ€ λ‹€μˆ˜μ˜ μ°Έμ—¬μžκ°€ ν˜„μ‹€μ μœΌλ‘œ λ™μ˜ν•  수 μžˆλŠ” μœ μΌν•œ 값은 κ²°κ΅­ λͺ…λ°±ν•œ 기본값인 μ°Έκ°’(truth)이 될 것이닀. 이것은 ETH/USD 가격, λ² λ₯Όλ¦°μ˜ μ˜¨λ„, μ‹¬μ§€μ–΄λŠ” μ–΄λ €μš΄ μ—°μ‚°λ¬Έμ œμ˜ κ²°κ³Όκ°’κΉŒμ§€λ„ ν¬ν•¨ν•˜λŠ”, μ–΄λ–€ 수의 값듀도 이둠적으둜 μ œκ³΅ν•΄μ€„ μžˆλŠ” νƒˆμ€‘μ•™ν™”λœ ν”„λ‘œν† μ½œμ„ λ§Œλ“€ 수 있게 ν•΄μ€€λ‹€.

  3. 슀마트 λ©€ν‹°μ‹œκ·Έ 곡탁 κ³„μ’Œ. λΉ„νŠΈμ½”μΈμ€ λ©€ν‹°μ‹œκ·Έ νŠΈλžœμž­μ…˜μ„ λ§Œλ“€ 수 있게 ν•΄μ£ΌλŠ”λ°, μ΄λŠ”, κ°€λ Ή, 5개의 ν‚€ 쀑 3개λ₯Ό κ°–κ³  μ„œλͺ…ν•΄μ•Ό μΆœκΈˆμ„ ν—ˆμš©ν•˜λŠ” λ°©μ‹μ˜ νŠΈλžœμž­μ…˜μ„ μ§€μΉ­ν•œλ‹€. 이더리움은 보닀 높은 세밀도λ₯Ό μ œκ³΅ν•œλ‹€. 예λ₯Ό λ“€μ–΄, 5개 쀑 4κ°œκ°€ 있으면 κΈ°κΈˆμ€ 전체λ₯Ό μ‚¬μš©ν•  수 있고, 5개 쀑 3κ°œκ°€ 있으면 ν•˜λ£¨μ— 기금의 10%을 μ‚¬μš©ν•  수 있고, 2κ°œκ°€ 있으면 ν•˜λ£¨μ— 0.5%λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€. μΆ”κ°€μ μœΌλ‘œ, μ΄λ”λ¦¬μ›€μ˜ λ©€ν‹°μ‹œκ·ΈλŠ” λ™μ‹œμ— 집행해야 ν•  ν•„μš”κ°€ μ—†λ‹€. 즉, 두 μ£Όμ²΄λŠ” λ‹€λ₯Έ μ‹œκΈ°μ— 블둝체인에 본인의 μ „μž μ„œλͺ…을 등둝할 수 있고 μ΅œμ’…μ˜ μ „μžμ„œλͺ…이 μ΄λ£¨μ–΄μ‘Œμ„ μ‹œ μžλ™μ μœΌλ‘œ νŠΈλžœμž­μ…˜μ΄ λ„€νŠΈμ›Œν¬λ‘œ 보내진닀.

  4. ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…. EVM κΈ°μˆ μ„ μ‚¬μš©ν•˜μ—¬ μž…μ¦ κ°€λŠ₯ν•œ μ»΄ν“¨νŒ… ν™˜κ²½μ„ λ§Œλ“€ 수 μžˆλ‹€. μž…μ¦ κ°€λŠ₯ν•œ μ»΄ν“¨νŒ… ν™˜κ²½μ˜ μ˜ˆμ‹œλŠ” λ‹€μŒκ³Ό κ°™λ‹€: ν•œ μœ μ €κ°€ λ‹€λ₯Έ μœ μ €μ—κ²Œ 연산을 μˆ˜ν–‰ν•˜κ²Œ ν•œ ν›„ λžœλ€ν•œ μ‹œμ μ— 연산을 μˆ˜ν–‰ν•œ μ£Όμ²΄μ—κ²Œ 미리 μ„€μ •λœ μ—°μ‚° μ²΄ν¬ν¬μΈνŠΈκ°€ μ˜¬λ°”λ₯Έμ§€μ— λŒ€ν•œ 증λͺ…을 μš”κ΅¬ν•  수 μžˆλ‹€. 이 κΈ°μˆ μ€ λˆ„κ΅¬λ“ μ§€ μžμ‹ μ˜ λ°μŠ€ν¬νƒ‘, λ…ΈνŠΈλΆ, λ˜λŠ” μ „λ¬Έν™”λœ μ„œλ²„λ₯Ό κ°–κ³  μ°Έμ—¬ν•  수 μžˆλŠ” ν΄λΌμš°λ“œμ»΄ν“¨νŒ… μ‹œμž₯을 μ°½μ‘°ν•˜κ²Œ 될 것이며, ν•¨κ»˜ μ—°μ‚°μ˜ 정확성을 λ¬΄μž‘μœ„ μΆ”μΆœκ²€μ‚¬λ₯Ό ν•¨μœΌλ‘œμ¨ μ‹œμŠ€ν…œμ˜ 신뒰성이 λ”μš± 강화될 것이닀 (즉, λ…Έλ“œλ“€μ΄ 이읡을 λ‚΄κΈ° μœ„ν•΄μ„œλŠ” μœ μ €λ“€μ„ 속일 수 μ—†κ²Œ λœλ‹€). λ¬Όλ‘  κ·ΈλŸ¬ν•œ μ‹œμŠ€ν…œμ€ λͺ¨λ“  μž‘μ—…λ“€μ„ μˆ˜ν–‰ν•˜λŠ” 데에 μ ν•©ν•œ 것은 μ•„λ‹ˆλ‹€; 예λ₯Ό λ“€μ–΄, 높은 μˆ˜μ€€μ˜ ν”„λ‘œμ„ΈμŠ€κ°„ 컀λ€λ‹ˆμΌ€μ΄μ…˜μ΄ ν•„μš”ν•œ μž‘μ—… 같은 경우 μ—¬λŸ¬ 개의 ν΄λΌμš°λ“œ λ…Έλ“œλ“€λ‘œ μˆ˜ν–‰ν•˜κΈ°μ—λŠ” μ ν•©ν•˜μ§€ μ•Šλ‹€. ν•˜μ§€λ§Œ κ·Έ μ™Έ μž‘μ—…λ“€μ€ 보닀 μˆ˜μ›”ν•˜κ²Œ 병렬진행이 κ°€λŠ₯ν•˜λ‹€; SETI@home, folding@home, μœ μ „μž μ•Œκ³ λ¦¬μ¦˜ 같은 κ²½μš°λŠ” λΆ„μ‚°ν™”λœ ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… ν”Œλž«νΌμ—μ„œ μ‰½κ²Œ μž‘μ—…ν•  수 μžˆλŠ” ν”„λ‘œμ νŠΈλ“€μ΄λ‹€.

  5. P2P 도박. Frank Stajanoλ‚˜ Richard Clayton의 Cyberdice 같은 P2P 도박 ν”„λ‘œν† μ½œλ“€μ€ λͺ¨λ‘ μ΄λ”λ¦¬μ›€μ˜ 블둝체인 μœ„μ— κ΅¬ν˜„λ  수 μžˆλ‹€. κ°€μž₯ λ‹¨μˆœν•œ 도박 ν”„λ‘œν† μ½œμ€ λ‹€μŒ λΈ”λ‘μ˜ ν•΄μ‹œκ°’μ˜ 차이에 λŒ€ν•œ μ»¨νŠΈλž™νŠΈμ΄λ©°, 0에 κ°€κΉŒμš΄ μˆ˜μˆ˜λ£Œμ™€ κ·Έ λˆ„κ΅¬λ„ 사기λ₯Ό μΉ  수 μ—†λŠ” 보닀 λ°œμ „λœ ν”„λ‘œν† μ½œμ΄ κ·Έ μœ„μ— μ–Ήν˜€μ§ˆ 수 μžˆλ‹€.

  6. 예츑 μ‹œμž₯. 였라클(Oracle) ν˜Ήμ€ μ‰˜λ§μ½”μΈ(Schelling Coin) 등을 κ°–κ³ , Robin Hanson이 μ£Όμ°½ν•œ 것과 같은 예츑 μ‹œμž₯도 μ‰½κ²Œ κ΅¬ν˜„ν•  수 μžˆλ‹€. μ‰˜λ§μ½”μΈκ³Ό ν•¨κ»˜ μ˜ˆμΈ‘μ‹œμž₯은 λΆ„κΆŒν™”λœ 쑰직듀에 λŒ€ν•œ κ±°λ²„λ„ŒμŠ€ ν”„λ‘œν† μ½œλ‘œμ„œ β€œν“¨νƒ€ν‚€([Futarchy]((http://hanson.gmu.edu/futarchy.html), μ—­μ£Ό: μ •μΉ˜μΈλ“€μ΄ ꡭ가볡지에 κ΄€ν•œ 정책을 μ •μ˜ν•˜λ©΄ μ˜ˆμΈ‘μ‹œμž₯이 μ •μ±… 쀑 κ°€μž₯ 긍정적인 νš¨κ³Όκ°€ λ§Žμ„ 수 μžˆλŠ” 정책을 κ²°μ •ν•˜λŠ” ν˜•μ‹μ˜ κ±°λ²„λ„ŒμŠ€)의 첫 번째 μ£Όλ₯˜ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 될 수 μžˆλ‹€.

  7. λΈ”λ‘μ²΄μΈμƒμ˜ νƒˆμ€‘μ•™ν™”λœ μž₯ν„°. μ‹ μ›μ‘°νšŒ / ν‰νŒ μ‹œμŠ€ν…œμ„ 기반으둜 μ›ν™œν•˜κ²Œ λŒμ•„κ°€λŠ” P2P μž₯ν„°λ₯Ό ꡬ좕할 수 μžˆλ‹€.

κ·Έ λ°–μ˜ μ΄μŠˆλ“€

μˆ˜μ •λœ GHOST λ„μž…(Modified GHOST Implementation)

GHOST(Greedy Heaviest Observed Subtree)ν”„λ‘œν† μ½œμ€ Yonatan Sompolinsky and Aviv Zohar 에 μ˜ν•΄ 2013λ…„ 12월에 처음 μ†Œκ°œλœ ν˜μ‹ μ΄λ‹€. GHOST의 λ¬Έμ œμ˜μ‹μ€, ν˜„μž¬ λΉ λ₯Έ ν™•μΈμ‹œκ°„(confirmation times)을 가지고 μžˆλŠ” 블둝체인듀이 높은 μŠ€ν…ŒμΌ(stale) λΉ„μœ¨λ‘œ 인해 λ³΄μ•ˆμ„± μ €ν•˜λΌλŠ” 문제λ₯Ό κ²ͺκ³  μžˆλ‹€λŠ” 것인데, μ΄λŠ” 블둝듀이 λ„€νŠΈμ›Œν¬λ₯Ό 톡해 μ „νŒŒλ˜λŠ”λ° μΌμ •ν•œ μ‹œκ°„μ΄ 걸리기 λ•Œλ¬Έμ΄λΌλŠ” 것이닀. 만일 μ±„κ΅΄μž Aκ°€ ν•˜λ‚˜μ˜ 블둝을 μ±„κ΅΄ν–ˆλŠ”λ°, 이 블둝이 μ±„κ΅΄μž Bμ—κ²Œ μ „νŒŒλ˜κΈ°μ „μ— μ±„κ΅΄μž Bκ°€ λ‹€λ₯Έ 또 ν•˜λ‚˜μ˜ 블둝을 μ±„κ΅΄ν–ˆλ‹€κ³  ν•˜λ©΄, μ±„κ΅΄μž B의 블둝은 κ²°κ΅­ 낭비될 것이고, λ„€νŠΈμ›Œν¬ λ³΄μ•ˆμ— κΈ°μ—¬ν•˜μ§€ λͺ»ν•˜κ²Œ 될 것이닀.

κ²Œλ‹€κ°€ 쀑앙집쀑화(centralization) μ΄μŠˆλ„ μžˆλ‹€; 만일 μ±„κ΅΄μž Aκ°€ 30%의 ν•΄μ‹œνŒŒμ›Œλ₯Ό, 그리고 Bκ°€ 10%의 ν•΄μ‹œνŒŒμ›Œλ₯Ό 가지고 μžˆλ‹€λ©΄, Aκ°€ μŠ€ν…ŒμΌ 블둝을 생산할 μœ„ν—˜μ„±μ€ 맀번 70%κ°€ 될 것이고(μ™œλƒν•˜λ©΄ λ‹€λ₯Έ 30%의 κ²½μš°μ—λŠ” Aκ°€ λ§ˆμ§€λ§‰ 블둝을 λ§Œλ“€κ²Œ λ˜μ—ˆκ³ , λ”°λΌμ„œ μ¦‰κ°μ μœΌλ‘œ 채꡴데이터λ₯Ό κ°€μ§€κ²Œ 되기 λ•Œλ¬Έμ΄λ‹€), 반면 BλŠ” 맀번 90%의 κ²½μš°μ— μŠ€ν…ŒμΌ 블둝을 μƒμ‚°ν•˜κ²Œ 될 μœ„ν—˜μ„±μ„ 가지고 μžˆλ‹€. λ”°λΌμ„œ 만일 블둝 μ£ΌκΈ°κ°€ μŠ€ν…ŒμΌ λΉ„μœ¨μ΄ 높은 것에 ν•„μš”ν•œ 만큼 μΆ©λΆ„νžˆ 짧닀면, AλŠ” λ‹¨μˆœνžˆ 크기가 ν¬λ‹€λΌλŠ” 사싀 자체만으둜 훨씬 더 높은 νš¨μœ¨μ„±μ„ κ°€μ§€κ²Œ λœλ‹€. μ΄λŸ¬ν•œ 두가지 νš¨κ³Όκ°€ κ²°ν•©λ˜μ–΄μ„œ, 블둝주기가 짧은 λΈ”λ‘μ²΄μΈμ—μ„œλŠ”, 높은 ν•΄μ‹œνŒŒμ›Œ μ μœ μœ¨μ„ 가진 λ‹¨μΌν•œ 풀이 채꡴과정에 λŒ€ν•œ μ‚¬μ‹€μƒμ˜ ν†΅μ œκΆŒμ„ κ°€μ§€κ²Œ 될 κ°€λŠ₯성이 맀우 높아진닀.

Sompolinsky와 Zoharκ°€ μ„€λͺ…ν–ˆλ“―이, GHOSTλŠ” μ–΄λŠ 체인이 β€œκ°€μž₯ κΈ΄(longest)”것인지 계산할 λ•Œ μŠ€ν…ŒμΌ 블둝도 ν¬ν•¨μœΌλ‘œμ¨ μœ„μ—μ„œ μ œκΈ°ν•œ 첫번째 이슈, 즉 λ„€νŠΈμ›Œν¬ λ³΄μ•ˆ μ†μ‹€μ΄λΌλŠ” 문제λ₯Ό ν•΄κ²°ν•œλ‹€. λ‹€μ‹œ λ§ν•΄μ„œ μ–΄λŠ 블둝이 κ°€μž₯ 큰 전체 μž‘μ—…μ¦λͺ…을 가지고 μžˆλŠ”μ§€ 계산함에 μžˆμ–΄μ„œ, κ·Έ λΈ”λ‘μ˜ λͺ¨λΈ”둝(parent)κ³Ό κ·Έ 쑰상(ancestors) 뿐만 μ•„λ‹ˆλΌ, κ·Έ λΈ”λ‘μ˜ μŠ€ν…ŒμΌ μžμ†(stale descendants, μ΄λ”λ¦¬μ›€μ˜ μš©μ–΄λ‘œλŠ” β€œμ‚Όμ΄Œβ€)κΉŒμ§€λ„ λ”ν•œλ‹€λŠ” 것이닀. μ€‘μ•™ν™”λΌλŠ” λ‘λ²ˆμ§Έ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œ μš°λ¦¬λŠ” Sompolinsky와 Zoharκ°€ μ„€λͺ…ν•œ ν”„λ‘œν† μ½œμ„ λ„˜μ–΄μ„œμ„œ, μŠ€ν…ŒμΌ 블둝듀에 λŒ€ν•΄μ„œλ„ 블둝보상을 μ œκ³΅ν•œλ‹€. μŠ€ν…ŒμΌ 블둝도 κΈ°λ³Έ λ³΄μƒμ˜ 87.5%λ₯Ό λ°›κ²Œ 되며, κ·Έ μŠ€ν…ŒμΌ 블둝을 ν¬ν•¨ν•˜κ³  μžˆλŠ” μ‚¬μ΄Œμ΄ λ‚˜λ¨Έμ§€ 12.5%λ₯Ό λ°›λŠ”λ‹€. ν•˜μ§€λ§Œ μˆ˜μˆ˜λ£ŒλŠ” μ‚Όμ΄Œλ“€μ—κ²ŒλŠ” 주어지지 μ•ŠλŠ”λ‹€.

이더리움은 7단계 레벨만 ν¬ν•¨ν•˜λŠ” λ‹¨μˆœν™”λœ GHOST 버전을 κ΅¬ν˜„ν•œλ‹€. 그것은 λ‹€μŒκ³Ό 같이 ꡬ체적으둜 μ •μ˜λœλ‹€;

  • ν•˜λ‚˜μ˜ 블둝은 λ°˜λ“œμ‹œ ν•˜λ‚˜μ˜ λͺ¨λΈ”둝을 지정해야 ν•˜λ©°, 0 λ˜λŠ” κ·Έ μ΄μƒμ˜ μ‚Όμ΄Œμ„ 지정해야 ν•œλ‹€.
  • 블둝 B에 ν¬ν•¨λœ μ‚Όμ΄Œμ€ λ‹€μŒκ³Ό 같은 속성듀을 가지고 μžˆμ–΄μ•Ό ν•œλ‹€.
    • B의 k번째 μ‘°μƒμ˜ 직접적인 μžμ†μ΄μ–΄μ•Ό ν•œλ‹€. μ—¬κΈ°μ„œ 2 <= k <= 7.
    • B의 μ‘°μƒμ΄μ–΄μ„œλŠ” μ•ˆλœλ‹€.
    • μœ νš¨ν•œ 블둝 헀더여야 ν•˜μ§€λ§Œ, 이전에 ν™•μΈλ˜μ—ˆμ„ ν•„μš”λ„, λ˜λŠ” 심지어 μœ νš¨ν•œ 블둝일 ν•„μš”λ„ μ—†λ‹€.
    • 이전 블둝듀에 ν¬ν•¨λœ λͺ¨λ“  μ‚Όμ΄Œλ“€, 그리고 같은 블둝에 ν¬ν•¨λœ λͺ¨λ“  λ‹€λ₯Έ μ‚Όμ΄Œλ“€κ³ΌλŠ” 달라야 ν•œλ‹€(쀑볡포함방지)
  • 블둝 B에 μžˆλŠ” 각 μ‚Όμ΄Œ U에 λŒ€ν•΄, B의 μ±„κ΅΄μžλŠ” μ½”μΈλ² μ΄μŠ€ 보상에 더해 μΆ”κ°€λ‘œ 3.125%λ₯Ό 더 λ°›κ³ , U의 μ±„κ΅΄μžλŠ” κΈ°λ³Έ μ½”μΈλ² μ΄μŠ€ λ³΄μƒμ˜ 93.75%λ₯Ό λ°›λŠ”λ‹€.

단지 μ΅œλŒ€ 7μ„ΈλŒ€λ§Œ μ‚Όμ΄Œμ„ 포함할 수 μžˆλŠ” μ œν•œλœ GHOST 버전을 μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ” 두가지이닀. 첫째, λ¬΄μ œν•œ GHOSTλŠ” ν•˜λ‚˜μ˜ 블둝에 λŒ€ν•΄ μ–΄λ–€ μ‚Όμ΄Œμ΄ μœ νš¨ν•œμ§€μ— λŒ€ν•œ 계산을 맀우 λ³΅μž‘ν•˜κ²Œ λ§Œλ“ λ‹€.. λ‘˜μ§Έ, 만일 이더리움과 같은 λ°©μ‹μ˜ 보상을 ν•˜λ©΄μ„œλ„ λ¬΄μ œν•œ GHOSTλ₯Ό μ μš©ν•˜κ²Œ 되면 μ±„κ΅΄μžλ“€μ΄ 곡격자의 체인이 μ•„λ‹ˆλΌ 주체인(mainchain)μ—μ„œ 채꡴λ₯Ό ν•  동기λ₯Ό μžƒκ²Œ 될 것이닀.

수수료

블둝체인에 μ˜¬λ €μ§€λŠ” 각 νŠΈλžœμž­μ…˜μ€ 그것을 λ‹€μš΄λ‘œλ“œν•˜κ³  κ²€μ¦ν•˜κΈ° μœ„ν•œ λΉ„μš©μ„ λ„€νŠΈμ›Œν¬μ— λΆ€κ³Όν•˜κΈ° λ•Œλ¬Έμ—, λ‚¨μš©μ„ λ°©μ§€ν•˜λŠ” μ–΄λ– ν•œ 규제 λ©”μ»€λ‹ˆμ¦˜, μΌλ°˜μ μœΌλ‘œλŠ” νŠΈλžœμž­μ…˜ μˆ˜μˆ˜λ£Œκ°€ ν•„μš”ν•˜κ²Œ λœλ‹€. λΉ„νŠΈμ½”μΈμ—μ„œ μ‚¬μš©λ˜λŠ” 기본적인 접근방법은 μˆœμˆ˜ν•˜κ²Œ 자발적인 수수료λ₯Ό μ§•μˆ˜ν•˜λ©΄μ„œ, μ±„κ΅΄μžλ“€μ΄ κ²Œμ΄νŠΈν‚€νΌ(gatekeeper)λ‘œμ„œμ˜ 역할을 ν•˜κ³  μœ λ™μ μœΌλ‘œ μ΅œμ €μ•‘μ„ μ„€μ •ν•˜λ„λ‘ ν•˜λŠ” 것이닀. 이런 접근방법은 λΉ„νŠΈμ½”μΈ 컀λ€λ‹ˆν‹°μ—μ„œ 맀우 ν™˜μ˜ λ°›μ•„μ™”λŠ”λ°, 그것이 β€œμ‹œμž₯-κΈ°λ°˜β€μ΄κΈ° λ•Œλ¬Έμ—, μ±„κ΅΄μžμ™€ νŠΈλžœμž­μ…˜ μ†‘μ‹ μžλ“€κ°„μ˜ μˆ˜μš”μ™€ 곡급이 κ·Έ 가격을 κ²°μ •ν•œλ‹€λŠ” μ΄μœ μ—μ„œμ˜€λ‹€.

ν•˜μ§€λ§Œ μ΄λŸ°μ‹μ˜ μ‚¬κ³ λ°©μ‹μ—λŠ” λ¬Έμ œκ°€ μžˆλŠ”λ°, νŠΈλžœμž­μ…˜ μ²˜λ¦¬λŠ” μ‹œμž₯μ—μ„œ μΌμ–΄λ‚˜λŠ” 것이 μ•„λ‹ˆλΌλŠ” 점이닀. νŠΈλžœμž­μ…˜ 처리λ₯Ό μ±„κ΅΄μžκ°€ μ†‘μ‹ μžμ— μ œκ³΅ν•˜λŠ” ν•˜λ‚˜μ˜ μ„œλΉ„μŠ€λ‘œ ν•΄μ„ν•˜λŠ” 것이 μ§κ΄€μ μœΌλ‘œ 솔깃해 λ³΄μ΄κΈ°λŠ” ν•˜μ§€λ§Œ, μ‹€μ œμ μœΌλ‘œλŠ” μ±„κ΅΄μžκ°€ ν¬ν•¨ν•˜λŠ” λͺ¨λ“  νŠΈλžœμž­μ…˜λ“€μ€ λ„€νŠΈμ›Œν¬μ˜ λͺ¨λ“  λ…Έλ“œλ“€μ— μ˜ν•΄ μ²˜λ¦¬λ˜μ–΄μ•Ό ν•˜κ³ , λ”°λΌμ„œ νŠΈλžœμž¬μ…˜μ²˜λ¦¬μ— ν•„μš”ν•œ λŒ€λΆ€λΆ„μ˜ λΉ„μš©μ€ 제3μžκ°€ λΆ€λ‹΄ν•˜λŠ” 것이지, κ·Έ νŠΈλž™μž¬μ…˜μ„ 포함할지 말지λ₯Ό κ²°μ •ν•˜λŠ” μ±„κ΅΄μžλ“€μ΄ μ•„λ‹ˆλΌλŠ” 것이닀. κ·ΈλŸ¬λ―€λ‘œ κ³΅μœ μ§€μ˜ λΉ„κ·Ή(tragedy-of-the-commons) λ¬Έμ œλ“€μ΄ 맀우 μΌμ–΄λ‚˜κΈ° μ‰½λ‹€λŠ” 것이닀.

ν•˜μ§€λ§Œ, μ΄λŸ¬ν•œ μ‹œμž₯기반 λ©”μ»€λ‹ˆμ¦˜μ˜ 결함은 μ–΄λ–€ λΆ€μ •ν™•ν•œ λ‹¨μˆœν™” μ „μ œλ“€μ΄ μ£Όμ›Œμ‘Œμ„ λ•Œ, 마술처럼 κ·Έ κ²°ν•¨μžμ²΄λ₯Ό μƒμ‡„ν•˜κ²Œ λœλ‹€. κ·Έ μ£Όμž₯은 λ‹€μŒκ³Ό κ°™λ‹€. λ‹€μŒμ„ μ „μ œν•΄ 보자:

  1. ν•˜λ‚˜μ˜ νŠΈλžœμž­μ…˜μ΄ k개의 μž‘μ—…λ“€(operations)을 μ΄ˆλž˜ν•˜λŠ”λ°, 이 νŠΈλž™μž­μ…˜μ„ ν¬ν•¨ν•˜λŠ” μ±„κ΅΄μžμ—κ²Œ kR만큼의 보상을 μ œκ³΅ν•˜κ²Œ λœλ‹€. μ—¬κΈ°μ„œ R은 μ†‘μ‹ μžμ— μ˜ν•΄μ„œ μ„€μ •λ˜κ³ , k 와 R은 (λŒ€λž΅μ μœΌλ‘œ) μ±„κ΅΄μžμ—κ²Œ 사전에 λ…ΈμΆœλœλ‹€.
  2. ν•˜λ‚˜μ˜ μž‘μ—…μ€ μ–΄λ–€ λ…Έλ“œμ— λŒ€ν•΄μ„œλ“  C 만큼의 μ²˜λ¦¬λΉ„μš©μ„ 가진닀(즉, λͺ¨λ“  λ…Έλ“œλ“€μ€ λ˜‘κ°™μ€ νš¨μœ¨μ„±μ„ 가지고 μžˆλ‹€).
  3. N개의 μ±„κ΅΄λ…Έλ“œλ“€μ΄ 있고, 각각은 μ •ν™•νžˆ λ˜‘κ°™μ€ μ²˜λ¦¬νŒŒμ›Œ(즉, μ „μ²΄μ˜ 1/N)λ₯Ό 가지고 μžˆλ‹€.
  4. 채꡴을 ν•˜μ§€ μ•ŠλŠ” μ™„μ „λ…Έλ“œ(full nodes)λŠ” μ—†λ‹€.

μ±„κ΅΄μžλŠ” μ–΄λ– ν•œ νŠΈλžœμž­μ…˜μ΄ κ·Έ λΉ„μš©λ³΄λ‹€ κΈ°λŒ€λ³΄μƒμ΄ 클 경우 μ²˜λ¦¬ν•˜λ €κ³  ν•  것이닀. λ”°λΌμ„œ, κΈ°λŒ€ 보상은 kR/N인데, μ™œλƒν•˜λ©΄ μ±„κ΅΄μžλŠ” λ‹€μŒλ²ˆ 블둝을 μ²˜λ¦¬ν•  1/N ν™•λ₯ μ„ 가지고 있으며, 이 μ±„κ΅΄μžμ—κ²Œ μ²˜λ¦¬λΉ„μš©μ€ λ‹¨μˆœνžˆ kC이닀. κ·ΈλŸ¬λ―€λ‘œ μ±„κ΅΄μžλ“€μ€ kR/N > kC μ΄κ±°λ‚˜, R > NCμΌλ•Œ νŠΈλžœμž­μ…˜λ“€μ„ ν¬ν•¨ν•˜λ € ν•  것이닀. μ—¬κΈ°μ„œ R은 μ†‘μ‹ μžμ— μ˜ν•΄ 제곡된 λ‹¨μœ„μž‘μ—…(pre-operation)λ‹Ή 수수료이고, λ”°λΌμ„œ 이것은 μ†‘μ‹ μžκ°€ κ·Έ νŠΈλžœμž­μ…˜μ—μ„œ 보게 될 ν˜œνƒμ— λŒ€ν•œ ν•˜ν•œκ°’μ΄ 되고, NCλŠ” ν•˜λ‚˜μ˜ μž‘μ—…μ„ μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ 전체 λ„€νŠΈμ›Œν¬μ— λΆ€κ³Όλœ λΉ„μš©μž„μ„ μ£Όλͺ©ν•˜μž. λ”°λΌμ„œ μ±„κ΅΄μžλ“€μ€ λΉ„μš©λ³΄λ‹€ 전체 곡리적인 ν˜œνƒμ΄ 큰 νŠΈλžœμž­μ…˜λ“€λ§Œ ν¬ν•¨ν•˜λ € ν•˜λŠ” μΈμ„Όν‹°λΈŒλ₯Ό κ°–κ²Œ λœλ‹€.

ν•˜μ§€λ§Œ ν˜„μ‹€μ—μ„œλŠ” μ΄λŸ¬ν•œ 가정듀이 λ§žμ§€ μ•ŠλŠ” λͺ‡κ°€μ§€ μ€‘μš”ν•œ 차이듀이 μžˆλ‹€.

  1. μ±„κ΅΄μžλŠ” λ‹€λ₯Έ 검증 λ…Έλ“œλ“€λ³΄λ‹€ νŠΈλžœμž­μ…˜μ„ μ²˜λ¦¬ν•˜λŠ”λ° 더 λ§Žμ€ λΉ„μš©μ„ μ§€λΆˆν•˜κ²Œ λ˜λŠ”λ°, μ™œλƒν•˜λ©΄, 좔가적인 κ²€μ¦μ‹œκ°„μ€ λΈ”λ‘μ „νŒŒλ₯Ό μ§€μ—°μ‹œν‚€κ³ , λ”°λΌμ„œ 블둝이 μŠ€ν…ŒμΌλ˜λŠ” ν™•λ₯ μ„ μ¦κ°€μ‹œν‚€κΈ° λ•Œλ¬Έμ΄λ‹€.
  2. 비채꡴ μ™„μ „λ…Έλ“œ(full note)듀이 μ‘΄μž¬ν•œλ‹€.
  3. 채꡴ νŒŒμ›Œμ˜ λΆ„ν¬λŠ” μ‹€μ œλ‘œ μ‹¬κ°ν•˜κ²Œ λΆˆν‰λ“±ν•˜κ²Œ 될 수 μžˆλ‹€.
  4. λ„€νŠΈμ›Œν¬μ— ν”Όν•΄λ₯Ό μ£ΌλŠ” 이해관계λ₯Ό 가진 νˆ¬κΈ°μžλ“€, μ •μΉ˜μ  적, 그리고 μΌνƒˆμžλ“€μ΄ μ‘΄μž¬ν•˜κ³ , 그듀은 λ‹€λ₯Έ κ²€μ¦λ…Έλ“œκ°€ μ§€λΆˆν•˜λŠ” λΉ„μš©λ³΄λ‹€ 훨씬 적은 λΉ„μš©μ΄ λ“€κ²Œ 될 그런 μ»¨νŠΈλž™νŠΈλ“€μ„ κ΅λ¬˜ν•˜κ²Œ λ§Œλ“€ 수 μžˆλ‹€.

(1)은 μ±„κ΅΄μžκ°€ 더 적은 수의 νŠΈλžœμž­μ…˜λ“€μ„ ν¬ν•¨ν•˜κ²Œ λ˜λŠ” κ²½ν–₯을 μ œκ³΅ν•˜κ²Œ 되고, (2)λŠ” NCλ₯Ό μ¦κ°€μ‹œν‚€κ²Œ 되며, λ”°λΌμ„œ 이 λ‘κ°€μ§€μ˜ νš¨κ³Όλ“€μ€ λΆ€λΆ„μ μœΌλ‘œλŠ” μ„œλ‘œλ₯Ό μƒμ‡„ν•œλ‹€. (3)κ³Ό (4)κ°€ μ£Όμš”ν•œ 문제인데, 이것듀을 ν•΄κ²°ν•˜κΈ° μœ„ν•΄, ν”Œλ‘œνŒ… μƒν•œκ°’(floating cap)을 λ„μž…ν•œλ‹€. μ–΄λ–€ λΈ”λ‘μ΄λ˜μ§€ BLK_LIMIT_FACTOR κ³±ν•˜κΈ° μž₯κΈ° μ§€μˆ˜ 이동평균(the long-term exponential moving average)보닀 더 λ§Žμ€ μ˜€νΌλ ˆμ΄μ…˜λ“€μ„ κ°€μ§ˆ 수 μ—†λ‹€λŠ” 것이닀. μ •ν™•νžˆλŠ”:

blk.oplimit = floor((blk.parent.oplimit * (EMAFACTOR - 1) + floor(parent.opcount * BLK_LIMIT_FACTOR)) / EMA_FACTOR)

BLK_LIMIT_FACTOR 와 EMA_FACTOR은 μƒμˆ˜μ΄λ©° 각각 μž μ •μ μœΌλ‘œ 65536와 1.5둜 μ •ν•΄μ§ˆ κ²ƒμ΄μ§€λ§Œ, μΆ”ν›„ 뢄석 후에 λ°”λ€” κ°€λŠ₯성이 λ§Žλ‹€.

λΉ„νŠΈμ½”μΈμ— μžˆμ–΄μ„œ 큰 블둝크기λ₯Ό λ§‰λŠ” 또 λ‹€λ₯Έ μš”μΈλ„ μžˆλ‹€. 큰 블둝이 μ „νŒŒλ˜λŠ”λ°μ— 더 였래 걸리기 λ•Œλ¬Έμ—, μŠ€ν…ŒμΌ 될 κ°€λŠ₯성이 λ†’λ‹€λŠ” 점이닀. μ΄λ”λ¦¬μ›€μ—μ„œλ„ 높은 κ°€μŠ€(GAS)μ‚¬μš© 블둝은 μ „νŒŒλ˜λŠ”λ° 더 μ˜€λž˜κ±Έλ¦¬λŠ”λ°, 그것은 크기가 물리적으둜 ν¬λ‹€λŠ” 점과, νŠΈλžœμž­μ…˜ μƒνƒœλ³€ν™˜λ“€(state transitions)을 검증 μ²˜λ¦¬ν•˜λŠ”λ° 더 였래 κ±Έλ¦°λ‹€λŠ” 점 λ•Œλ¬Έμ— κ·ΈλŸ¬ν•˜λ‹€. μ΄λŸ¬ν•œ 지연 뢈이읡(delay disincentive)은 λΉ„νŠΈμ½”μΈμ˜ κ²½μš°μ—λŠ” μ€‘μš”ν•œ κ³ λ €μ‚¬ν•­μ΄μ§€λ§Œ, μ΄λ”λ¦¬μ›€μ˜ κ²½μš°μ—λŠ” GHOSTν”„λ‘œν† μ½œ 덕뢄에 μ€‘μš”λ„κ°€ λ‚아진닀. λ”°λΌμ„œ μ‘°μ •λœ λΈ”λ‘λ¦¬λ―ΈνŠΈ(block limit)둜 인해, 보닀 μ•ˆμ •μ μΈ κΈ°λ³ΈκΈ°μ€€(baseline)을 얻을 수 있게 λœλ‹€.

μ—°μ‚°κ³Ό νŠœλ§μ™„μ „μ„±(Computation And Turing-Completeness)

μ€‘μš”ν•œ 점은 이더리움 가상 λ¨Έμ‹ (EVM)이 튜링-μ™„μ „ν•˜λ‹€λŠ” 것이닀. 즉 EVM은 λ¬΄ν•œ μˆœν™˜μ„ ν¬ν•¨ν•œ 상상가λŠ₯ν•œ λͺ¨λ“  계산 μˆ˜ν–‰μ„ μ½”λ”©ν•  수 μžˆλ‹€. EVMμ½”λ“œλŠ” μˆœν™˜ 계산을 λ‹€μŒ 두 가지 λ°©λ²•μœΌλ‘œ μˆ˜ν–‰ν•œλ‹€. μ²«λ²ˆμ§ΈλŠ” JUMP λͺ…λ Ήμ–΄λ‘œ μ½”λ“œμ˜ 이전 μž₯μ†Œλ‘œ λ˜λŒμ•„κ°€κ³ , JUMPI λͺ…λ Ήμ–΄λ‘œ while x < 27: x = x * 2 같은 λ¬Έμž₯처럼 쑰건에 따라 κ±΄λ„ˆλ›°κ²Œ ν•˜λŠ” 것이닀. λ‘λ²ˆμ§ΈλŠ” ν•œ 계약이 μž¬κ·€ λ°˜λ³΅μ„ 톡해 μˆœν™˜μ„ μΌμœΌν‚¬ κ°€λŠ₯성이 μžˆλŠ” λ‹€λ₯Έ 계약을 ν˜ΈμΆœν•˜λŠ” 것이닀. 이것은 μžμ—°μŠ€λŸ½κ²Œ μ–΄λ–€ 문제λ₯Ό μ•ΌκΈ°ν•œλ‹€: μ•…μ˜μ μΈ μ‚¬μš©μžκ°€ 계산을 λ¬΄ν•œ μˆœν™˜μ— λΉ λœ¨λ¦¬λŠ” λ°©λ²•μœΌλ‘œ μ±„κ΅΄μžμ™€ ν’€ λ…Έλ“œλ₯Ό λ§ˆλΉ„μ‹œμΌœλ²„λ¦΄ 수 μžˆμ„κΉŒ? 컴퓨터 ν•™κ³„μ—μ„œ μ •μ§€λ¬Έμ œ(halting problem)라고 μ•Œλ €μ§„ 유λͺ…ν•œ 문제λ₯Ό 톡해 이런 이슈λ₯Ό ν”Όν•  수 μ—†μŒμ„ μ•Œ 수 μžˆλ‹€. 일반적으둜 μ–΄λ–€ 주어진 λ¬Έμ œκ°€ ꢁ극적으둜 λ©ˆμΆ”λŠ”μ§€ μ•„λ‹Œμ§€λ₯Ό 미리 νŒλ³„ν•  방법은 μ—†λ‹€. μƒνƒœλ³€ν™˜ κ³Όμ •μ—μ„œ μ„€λͺ…ν–ˆλ“―이, ν•œ κ±°λž˜μ— μ΅œλŒ€λ‘œ 계산할 수 μžˆλŠ” 단계 수λ₯Ό μ„€μ •ν•¨μœΌλ‘œμ¨ μš°λ¦¬λŠ” 해닡을 얻을 수 μžˆλ‹€. λ§Œμ•½ 계산 단계가 κ·Έ μ΅œλŒ€μˆ˜λ³΄λ‹€ 더 많으면 계산은 μ›μ μœΌλ‘œ λŒμ•„κ°€μ§€λ§Œ μˆ˜μˆ˜λ£ŒλŠ” κ·ΈλŒ€λ‘œ μ§€λΆˆλœλ‹€ λ©”μ‹œμ§€λ“€λ„ 같은 λ°©λ²•μœΌλ‘œ μž‘λ™ν•œλ‹€. μš°λ¦¬κ°€ μ œμ‹œν•œ ν•΄λ‹΅μ˜ 의미λ₯Ό 더 잘 μ΄ν•΄ν•˜κΈ° μœ„ν•΄, μ•„λž˜μ™€ 같은 λͺ‡κ°€μ§€ 보기λ₯Ό μƒκ°ν•΄λ³΄μž.

  • ν•œ μ•…μ˜μ  κ³΅κ²©μžκ°€ λ¬΄ν•œ μˆœν™˜μ„ μ‹€ν–‰ν•˜λŠ” 계약을 λ§Œλ“€μ–΄ μ±„κ΅΄μžλ‘œ ν•˜μ—¬κΈˆ λ¬΄ν•œ μˆœν™˜μ„ μ‹€ν–‰ν•˜λ„λ‘ 거래λ₯Ό λ³΄λƒˆλ‹€κ³  ν•˜μž. μ±„κ΅΄μžλŠ” 거래λ₯Ό μ§„ν–‰ν•˜κ³  λ¬΄ν•œ μˆœν™˜μ„ μ‹€ν–‰ν•΄ κ°€μŠ€λ₯Ό λ‹€ μ†Œλͺ¨ν•΄μ„œ μ‹€ν–‰ 도쀑에 λ©ˆμΆ˜λ‹€κ³  ν•˜λ”λΌλ„, κ±°λž˜λŠ” μ—¬μ „νžˆ μœ νš¨ν•˜κ³  μ±„κ΅΄μžλŠ” μ—¬μ „νžˆ κ³΅κ²©μžμ—κ²Œ 이미 μ‹€ν–‰λœ 각 계산 λ‹¨κ³„λ§ˆλ‹€μ˜ 수수료λ₯Ό μš”κ΅¬ν•  수 μžˆλ‹€.
  • ν•œ μ•…μ˜μ  κ³΅κ²©μžκ°€ μ±„κ΅΄μžμ—κ²Œ 계산을 μ˜€λž«λ™μ•ˆ κ³„μ†ν•˜κ²Œ ν•  λͺ©μ μœΌλ‘œ μ•„μ£Ό κΈ΄ λ¬΄ν•œ μˆœν™˜ ν”„λ‘œκ·Έλž¨μ„ μ§°λ‹€κ³  ν•˜μž. 계산이 끝났을 λ•Œ λͺ‡λͺ‡ λΈ”λŸ­μ΄ μΆ”κ°€λ‘œ μƒμ„±λ˜μ–΄ μ±„κ΅΄μžκ°€ 수수료λ₯Ό μš”κ΅¬ν•˜κΈ° μœ„ν•΄ κ·Έ 거래λ₯Ό ν¬ν•¨ν•˜λŠ”κ²Œ λΆˆκ°€λŠ₯ν•˜κ²Œ λ§Œλ“œλŠ” 게 μ•…μ˜μ  곡격자의 λͺ©μ μ΄λ‹€. ν•˜μ§€λ§Œ, κ·Έ κ³΅κ²©μžλŠ” μ‹€μ œ μ‹€ν–‰λ˜λŠ” 계산 λ‹¨κ³„μ˜ μƒν•œμ„ μ„ κ·œμ •ν•˜λŠ” STARTGAS λͺ…령어에 λŒ€ν•œ 값을 μ œμΆœν•΄μ•Όλ§Œ ν•˜κ³ , λ”°λΌμ„œ μ±„κ΅΄μžλŠ” ν•΄λ‹Ή 계산이 κ³Όλ„ν•˜κ²Œ λ§Žμ€ λ‹¨κ³„μ˜ 수λ₯Ό ν•„μš”λ‘œ ν•œλ‹€λŠ” 것을 계산 전에 미리 μ•Œκ²Œ λœλ‹€.
  • 예λ₯Ό λ“€μ–΄send(A,contract.storage[A]); contract.storage[A] = 0, 같은 λͺ…령이 λ“€μ–΄κ°„ 계약이 μžˆλ‹€κ³  ν•˜μž. ν•œ μ•…μ˜μ  κ³΅κ²©μžκ°€ 이 계약을 λ³Έ ν›„ 첫번째 계산 λ‹¨κ³„λ§Œ μ‹€ν–‰μ‹œν‚€κ³  λ‘λ²ˆμ§Έ λ‹¨κ³„λŠ” μ‹€ν–‰ν•  수 없을 만큼의(예λ₯Ό λ“€μ–΄ 예금 인좜만 ν•œ λ‹€μŒ μž₯뢀에 κΈ°λ‘λ˜λŠ” μŠ€ν…μ€ μ‹€ν–‰λ˜μ§€ μ•Šκ²Œ) κ°€μŠ€λ§Œ λ„£κ³  거래λ₯Ό μ§„ν–‰μ‹œμΌ°λ‹€κ³  ν•˜μž. 계약 μž‘μ„±μžλŠ” 이런 곡격에 λŒ€ν•΄ λ°©μ–΄λ₯Ό κ±±μ •ν•  ν•„μš”κ°€ μ—†λ‹€. μ™œλƒν•˜λ©΄ 계산 싀행이 도쀑에 λ©ˆμΆ”λ©΄, ν•΄λ‹Ή 변화도 μ›μƒλ³΅κ΅¬λ˜κΈ° λ•Œλ¬Έμ΄λ‹€.
  • μ–΄λ–€ 금육 계약이 9개의 κΈˆμœ΅μƒν’ˆ μžλ£Œκ°’μ˜ 평균을 μ·¨ν•΄ μœ„ν—˜μ„ μ΅œμ†Œν™”ν•˜λ„λ‘ μž‘λ™ν•˜κ³  μžˆλ‹€κ³  ν•˜μž. κ·Έ 쀑 DAOs μ„Ήμ…˜μ—μ„œ μ„€λͺ…λœ 것 같은 κ°€λ³€μ£Όμ†Œμš”μ²­ λ©”μ»€λ‹ˆμ¦˜μ„ 톡해 λ³€κ²½κ°€λŠ₯ν•˜λ„λ‘ λ””μžμΈ 된 ν•˜λ‚˜μ˜ μžλ£Œκ°’μ„ μ•…μ˜μ  κ³΅κ²©μžκ°€ μ·¨ν•œλ‹€κ³  ν•˜μž. κ·Έλ ‡κ²Œ ν•¨μœΌλ‘œμ¨ 이 금육 κ³„μ•½μœΌλ‘œλΆ€ν„° νŽ€λ“œλ₯Ό μ°ΎμœΌλ €λŠ” λͺ¨λ“  μ‹œλ„μ— λŒ€ν•΄ κ°€μŠ€κ°€ λ‹€ μ†Œλͺ¨λ˜λ„둝 μ‹œλ„ν•˜κ²Œ λœλ‹€. ν•˜μ§€λ§Œ 금육 계약은 이 문제λ₯Ό 막기 μœ„ν•΄ λ©”μ‹œμ§€ μœ„μ— κ°€μŠ€ ν•œλ„λ₯Ό μ„€μ •ν•΄ λ‘λŠ” κ²ƒμœΌλ‘œ 곡격을 λ°©μ–΄ν•  수 μžˆλ‹€..

튜링-완전에 λŒ€ν•œ λŒ€μΉ­μ μΈ κ°œλ…μ€ 튜링-비완전이닀. 즉 JUMP λͺ…λ Ήμ–΄λ‚˜ JUMPI λͺ…λ Ήμ–΄κ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©°, κ·Έ μ–΄λ–€ 주어진 μ‹œκ°„μ—λ„ 였직 각각의 κ³„μ•½μ˜ 볡사본 ν•˜λ‚˜λ§Œμ΄ ν—ˆμš©λœλ‹€. 이런 μ‹œμŠ€ν…œ μ•„λž˜μ—μ„œλŠ” μœ„μ— μ„œμˆ λœ 수수료 μ‹œμŠ€ν…œμ΄λΌλ“ μ§€ μš°λ¦¬κ°€ μ œμ‹œν•œ ν•΄λ‹΅μ˜ νš¨μœ¨μ„±μ„ λ‘˜λŸ¬μ‹Ό λΆˆν™•μ‹€μ„±μ— κ΄€ν•œ λ…ΌμŸμ€ λΆˆν•„μš”ν•  것이닀. ν•œ 계약을 μ‹€ν–‰ν•˜λŠ”λ° λ“œλŠ” λΉ„μš©μ€ ν”„λ‘œκ·Έλž¨μ˜ 크기에 따라 μƒν•œμ„ μ΄ μ •ν•΄μ§ˆ 것이기 λ•Œλ¬Έμ΄λ‹€. λ‚˜μ•„κ°€, 튜링-비완전성은 그리 큰 μ œν•œλ„ μ•„λ‹ˆλ‹€. μš°λ¦¬κ°€ ν˜„μž¬κΉŒμ§€ μƒμƒν–ˆλ˜ 계약 κ°€μš΄λ°, μˆœν™˜ λͺ…령을 ν•„μš”λ‘œ ν–ˆλ˜ 것은 단 ν•˜λ‚˜ λΏμ΄μ—ˆλ‹€. 그리고 κ·Έ μˆœν™˜ λͺ…령쑰차도 ν”„λ‘œκ·Έλž¨ μ½”λ”©μ—μ„œ ν•œ λ¬Έμž₯을 26번 λ°˜λ³΅ν•¨μœΌλ‘œμ¨ μ—†μ•¨μˆ˜ μžˆμ—ˆλ‹€. 튜링-완전이 ν•¨μ˜ν•˜κ³  μžˆλŠ” 심각성과 κ·Έ μ œν•œμ μΈ 이점을 생각해볼 λ•Œ, μ™œ 튜링-λΆˆμ™„μ „ μ–Έμ–΄λ₯Ό μ“°λ©΄ μ•ˆλ˜λŠ” 걸까? ν•˜μ§€λ§Œ ν˜„μ‹€μ μœΌλ‘œ, 튜링-λΆˆμ™„μ „μ„±μ€ μˆœν™˜ λ¬Έμ œμ™€ μ•…μ„± 곡격에 λŒ€ν•œ κΉ”λ”ν•œ 해닡이 μ•„λ‹ˆλ‹€. μ™œ κ·ΈλŸ°μ§€λ₯Ό μ•ŒκΈ° μœ„ν•΄ μ•„λž˜μ™€ 같은 예제 계약을 보자.

C0: call(C1); call(C1);
C1: call(C2); call(C2);
C2: call(C3); call(C3);
...
C49: call(C50); call(C50);
C50: (ν”„λ‘œκ·Έλž¨μ˜ ν•œ 단계λ₯Ό μ‹€ν–‰ν•œ ν›„ κ·Έ λ³€ν™”λ₯Ό μ €μž₯μ†Œμ— κΈ°λ‘ν•œλ‹€.) 

이제 A μ—κ²Œ 거래λ₯Ό λ³΄λ‚΄μž. 51번의 κ±°λž˜μ—μ„œ μš°λ¦¬λŠ” 2 의 50승의 계산 단계λ₯Ό κ³„μ†ν•˜λŠ” 계약을 보낸닀..μ±„κ΅΄μžλ“€μ€ 각 계약에 λ”°λ₯Έ 계산 λ‹¨κ³„μ˜ μ΅œλŒ€ μˆ˜μ™€ λ‹€λ₯Έ 계약을 μž¬κ·€μ μœΌλ‘œ ν˜ΈμΆœν•˜λŠ” 계약에 λŒ€ν•œ 계산 단계 수λ₯Ό λͺ¨λ‘ ν™•λ³΄ν•¨μœΌλ‘œμ¨, 이런 논리 폭탄을 사전에 κ°μ§€ν•˜λ €κ³  μ‹œλ„ν•  수 μžˆμ„μ§€λ„ λͺ¨λ₯Έλ‹€. ν•˜μ§€λ§Œ 이런 μ‹œλ„λŠ” μ±„κ΅΄μžλ“€μ΄ λ‹€λ₯Έ 계약을 ν˜ΈμΆœν•˜λŠ” 계약은 닀루지 λͺ»ν•˜κ²Œ λ§Œλ“ λ‹€. (μ™œλƒν•˜λ©΄ μœ„μ˜ λͺ¨λ“  26개 κ³„μ•½μ˜ μž‘μ„±κ³Ό 싀행은 ν•œ μ€„μ˜ κ³„μ•½μœΌλ‘œ μ‰½κ²Œ ν•©μ³μ§ˆ 수 있기 λ•Œλ¬Έμ΄λ‹€.) λ‹€λ₯Έ 문제적 지점은 λ©”μ‹œμ§€μ˜ μ£Όμ†Œ ν•„λ“œλŠ” λ³€μˆ˜λΌλŠ” 점이닀. κ·Έλž˜μ„œ 일반적으둜, 주어진 계약이 사전에 미리 ν˜ΈμΆœν•˜λŠ” λ‹€λ₯Έ 계약이 뭔지λ₯Ό νŒλ³„ν•˜λŠ” 것쑰차 λΆˆκ°€λŠ₯할지도 λͺ¨λ₯Έλ‹€. κ·Έλž˜μ„œ,κ²°κ΅­ μš°λ¦¬λŠ” λ†€λΌμš΄ 결둠에 λ„λ‹¬ν•œλ‹€. 튜링-완전은 λ†€λžλ„λ‘ 닀루기 μ‰¬μš°λ©°, λ§Œμ•½ νŠœλ§μ™„μ „μ„±μ΄ μ—†μœΌλ©΄ μ •ν™•νžˆ 같은 κ³„μ•½μœΌλ‘œ λŒ€μ²΄ν•  수 μ—†λŠ” ν•œ, λ§ˆμ°¬κ°€μ§€λ‘œ 닀루기가 λ†€λžλ„λ‘ μ–΄λ ΅λ‹€λŠ” 점이닀. κ·Έλ ‡λ‹€λ©΄, κ·Έλƒ₯ κ·Έ ν”„λ‘œν† μ½œμ„ 튜링-μ™„μ „ν•˜κ²Œ λ†”λ‘λŠ”κ²Œ 쒋을 것이닀.

톡화 그리고 λ°œν–‰(Currency and Issuance)

이더리움(Ethereum) λ„€νŠΈμ›Œν¬λŠ” κ·Έ μ•ˆμ—μ„œ 자체적으둜 ν†΅μš©λ˜λŠ”, β€˜μ΄λ”(Ether)β€™λΌλŠ” 화폐λ₯Ό 가지고 μžˆλ‹€. μ΄λ”λŠ” μ—¬λŸ¬κ°€μ§€ κ°€μƒμžμ‚°λ“€κ°„μ˜ 효율적인 κ΅ν™˜μ„ κ°€λŠ₯μΌ€ν•˜λŠ” 맀개물의 역할을 ν•˜λ©°, λ˜ν•œ νŠΈλžœμž­μ…˜ 수수료(transaction fee)λ₯Ό μ§€λΆˆν•˜κΈ° μœ„ν•œ 방법을 μ œκ³΅ν•œλ‹€. μ‚¬μš©μžμ˜ νŽΈμ˜μ™€ ν–₯ν›„ μžˆμ„ 지 λͺ¨λ₯΄λŠ” λ…ΌμŸμ„ μ˜ˆλ°©ν•˜λŠ” μ°¨μ›μ—μ„œ, 이더(Ether)의 각 λ‹¨μœ„μ— λŒ€ν•œ λͺ…칭은 λ‹€μŒκ³Ό 같이 미리 μ •ν•΄μ‘Œλ‹€. (λΉ„νŠΈμ½”μΈ λͺ…μΉ­κ³Ό κ΄€λ ¨ν•˜μ—¬ λ²Œμ–΄μ§€λŠ” λ…ΌμŸ μ°Έμ‘°)

  • 1: wei
  • 1012: szabo
  • 1015: finney
  • 1018: ether

μœ„ λͺ…칭듀은, λ―Έν™” λͺ…칭인 β€œλ‹¬λŸ¬β€μ™€ β€œμ„ΌνŠΈβ€ λ˜λŠ” λΉ„νŠΈμ½”μΈμ˜ β€œBTC”와 β€œμ‚¬ν† μ‹œβ€ λ“±μ˜ ν™•μž₯κ°œλ…μœΌλ‘œ μƒκ°ν•˜λ©΄ μ΄ν•΄ν•˜λŠ”λ° 도움이 될 것이닀. κ°€κΉŒμš΄ λ―Έλž˜μ—, β€œμ΄λ”(ether)β€λŠ” 일반 거래(transaction)λ₯Ό μœ„ν•΄, β€œν”Όλ‹ˆ(finney)β€λŠ” μ†Œμ•‘κ²°μ œλ₯Ό μœ„ν•΄, 그리고 β€œμ‹Έλ³΄(szabo)”와 β€œμ›¨μ΄(wei)”가 μˆ˜μˆ˜λ£Œλ‚˜ ν”„λ‘œν† μ½œ λ„μž… λ“±κ³Ό κ΄€λ ¨λœ κΈ°μˆ μ λ…Όμ˜λ₯Ό μœ„ν•΄ μ‚¬μš©λ  κ²ƒμœΌλ‘œ κΈ°λŒ€λœλ‹€. λ‚˜λ¨Έμ§€ λͺ…칭듀은, μ§€κΈˆ λ‹Ήμž₯은 ν΄λΌμ΄μ–ΈνŠΈμ— ν¬ν•¨μ‹œν‚€μ§€ μ•ŠλŠ”λ‹€.

ν™”νλ°œν–‰ λͺ¨λΈ:

  • BTC λ‹Ή 1000-2000개의 κ°€κ²©μœΌλ‘œ 이더λ₯Ό νŒλ§€ν•œλ‹€. Matercoinμ΄λ‚˜ NXT와 같은 λ‹€λ₯Έ μ•”ν˜Έν™”ν™”ν ν”Œλž«νΌμ—μ„œ μ„±κ³΅μ μœΌλ‘œ μ‚¬μš©ν–ˆλ˜ λ°©λ²•μœΌλ‘œ, 이더리움 쑰직을 κΈˆμ „μ μœΌλ‘œ μ§€μ›ν•˜κ³  κ°œλ°œμ— ν•„μš”ν•œ λΉ„μš©μ„ λŒ„λ‹€. 이 μ‹œκΈ°μ— 이더λ₯Ό κ΅¬λ§€ν•˜λŠ” κ΅¬λ§€μžλ“€μ€ 큰 폭의 할인을 톡해 μ €λ ΄ν•˜κ²Œ 이더λ₯Ό μ–»κ²Œ λœλ‹€. μ΄λ ‡κ²Œ λͺ¨μΈ μžκΈˆμ€ μ „μ•‘, 개발자λ₯Ό μœ„ν•œ μ›”κΈ‰κ³Ό 보상, 그리고 μ—¬λŸ¬κ°€μ§€μ˜ 이더리움 κ΄€λ ¨ μ˜λ¦¬μ™€ λΉ„μ˜λ¦¬ν”„λ‘œμ νŠΈλ₯Ό μœ„ν•œ 투자금으둜써 μ‚¬μš©λœλ‹€.
  • 판맀 된 총 이더(60,102,216 ETH)의 0.099λ°° 만큼(5,950,110)의 이더가 μ‹ κ·œλ°œν–‰ λ˜μ–΄, 이더리움 런칭 μ „μ˜ μ΄ˆκΈ°κΈ°μ—¬μžλ“€κ³Ό β€˜μ΄λ”λ‘œ 이미 λ°œμƒ 된 λΉ„μš©μ— λŒ€ν•œ λ―Έμ§€κΈ‰κΈˆβ€™μ„ μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ 이더리움쑰직(Ethereum organization)μ—κ²Œ λΆ„λ°°λœλ‹€.
  • 또 λ‹€λ₯Έ 0.099λ°° 만큼의 μ΄λ”λŠ” μž₯기보유금으둜 μ‹ κ·œ λ°œν–‰ν•˜μ—¬ 적립해둔닀.
  • μ±„κ΅΄μ‹œμ  이후뢀터 영ꡬ히 맀년, 총 νŒλ§€μˆ˜λŸ‰(60,102,216 ETH)의 0.26λ°° 만큼(15,626,576)씩을 μ±„κ΅΄μžμ—κ²Œ μ‹ κ·œ λ°œν–‰ν•΄μ€€λ‹€.
λΆ„λ₯˜ λŸ°μΉ­μ‹œ 1λ…„ν›„ 5λ…„ν›„
초기판맀 μ΄λ”μ΄λŸ‰μ— λŒ€ν•œ 배수 1.198X 1.458X 2.498X
ꡬ맀자 83.5% 68.6% 40.0%
λŸ°μΉ­μ „ 미지급 적립금 8.26% 6.79% 3.96%
λŸ°μΉ­ν›„ 적립급 8.26% 6.79% 3.96%
μ±„κ΅΄μž μ±„κ΅΄λŸ‰ 0% 17.8% 52.0%

** 이더 μž₯κΈ° 곡급 μ„±μž₯λ₯ (%)**

SPV in bitcoin

맀년 μ‹ κ·œλ°œν–‰λŸ‰μ΄ 일정함에도 λΆˆκ΅¬ν•˜κ³ , λΉ„νŠΈμ½”μΈμ΄ κ·ΈλŸ¬ν•œ κ²ƒμ²˜λŸΌ, λ°œν–‰λœ 총 이더에 λŒ€ν•œ μ‹ κ·œ μ΄λ”μ˜ λ°œν–‰λ₯ μ€ κ·Έ 비쀑이 0을 ν–₯ν•˜μ—¬ 계속 μ€„μ–΄λ“€κ²Œ λœλ‹€.

μœ„ λͺ¨λΈμ—μ„œ κ²°μ •λ˜μ–΄μ•Όν•  두 가지 선택이 μžˆλ‹€. (1) ν•˜λ‚˜λŠ”, β€˜μž¬λ‹¨λ³΄μœ κΈˆ(endowment pool)β€™μ˜ μ‘΄μž¬μœ λ¬΄μ™€ κ·Έ 규λͺ¨μ΄λ©°, (2) λ‘˜μ§ΈλŠ” 총 λ°œν–‰μ½”μΈλŸ‰μ΄ μ •ν•΄μ Έ μžˆλŠ” λΉ„νŠΈμ½”μΈκ³ΌλŠ” 달리, μ‹ κ·œμ½”μΈμ„ λŠμž„μ—†μ΄ λ°œν–‰ν•΄μ•Ό ν•˜λŠ”μ§€μ˜ 여뢀이닀.

β€˜μž¬λ‹¨λ³΄μœ κΈˆ(endowment pool)β€™μ˜ 정당성에 λŒ€ν•΄μ„œλŠ” λ‹€μŒκ³Ό 같이 μ„€λͺ…ν•  수 μžˆλ‹€. 만일 μ΄λŸ¬ν•œ 보유금이 μ—†λŠ” 상황이라면, 같은 μΈν”Œλ ˆμ΄μ…˜μœ¨μ„ μœ μ§€ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ—°κ°„ λ°œν–‰λŸ‰μ΄ 26%κ°€ μ•„λ‹Œ, 21.7%둜 쀄어듀어야 ν•œλ‹€. κ·Έλ ‡κ²Œ 되면 μ΄λ”μ˜ μ΄λŸ‰μ€ 16.5% μ€„μ–΄λ“€κ²Œ 되며, 각 μ΄λ”μ˜ κ°€μΉ˜λŠ” 19.8%μ¦κ°€ν•˜κ²Œ λœλ‹€. 이 경우 κ· ν˜•μ„ μœ„ν•΄μ„œλŠ” 19.8%의 이더가 더 ν”„λ¦¬μ„ΈμΌμ—μ„œ νŒλ§€λ˜μ–΄μ•Ό ν•œλ‹€. κ·Έλ ‡κ²Œ 되면 각 경우의 이더 κ°€μΉ˜λŠ” μ„œλ‘œ μ •ν™•νžˆ 동일해진닀. κ·Έλ ‡κ²Œ 되면 이더리움 μž¬λ‹¨μ΄ 1.198배의 BTCλ₯Ό κ°€μ§€κ²Œ λ˜λŠ”λ°, 이λ₯Ό 처음 BTC μ•‘μˆ˜(1배수)와 μΆ”κ°€λœ 0.198배수의 BTC둜 λ‚˜λˆ„μ–΄λ³΄λ©΄ κ²°κ΅­ 상황이 λ™μΌν•΄μ§„λ‹€λŠ” 점을 μ•Œ 수 μžˆλ‹€. κ·ΈλŸ¬λ‚˜ ν•œ 가지 차이점은 이 경우 쑰직이 가진것은 이더가 μ•„λ‹Œ BTCμ΄λ―€λ‘œ, μ΄λ”μ˜ κ°€μΉ˜λ₯Ό 높이기 μœ„ν•œ μΈμ„Όν‹°λΈŒλ₯Ό 얻지 λͺ»ν•œλ‹€λŠ” 점이닀.

정해진 μ–‘μ˜ 이더λ₯Ό 영ꡬ적으둜 μ‹ κ·œλ°œν–‰ν•˜λŠ” λͺ¨λΈ(permanent linear supply growth model)은 λΉ„νŠΈμ½”μΈμ΄ κ²ͺκ³ μžˆλŠ” β€˜λΆ€μ˜ μ§‘μ€‘ν˜„μƒβ€™μ„ μ™„ν™”μ‹œν‚¬ 수 μžˆλ‹€. λ˜ν•œ ν˜„μž¬ λ˜λŠ” 미래의 μ°Έμ—¬μžλ“€μ΄ κ³„μ†ν•΄μ„œ 이더λ₯Ό μ‹œμž₯이 μ•„λ‹Œ 채꡴을 톡해 얻을 수 μžˆλŠ” 기회λ₯Ό μ œκ³΅ν•œλ‹€. λ™μ‹œμ—, β€œκ³΅κΈ‰μ„±μž₯λ₯ (Supply Growth Rate)”은 κ³„μ†ν•΄μ„œ 0을 ν–₯ν•΄ μ€„μ–΄λ“€κ²Œ λœλ‹€. 우리츑의 μ΄λ‘ μœΌλ‘œλŠ” λ‹€μŒκ³Ό 같은 ν˜„μƒμ„ μ˜ˆμƒν•΄ λ³Ό 수 μžˆλ‹€. μ‹œκ°„μ΄ 흐름에 따라 μ‚¬μš©μžλ“€μ˜ λΆ€μ£Όμ˜, 죽음 λ“±μœΌλ‘œ 인해 ν˜„μ‹€μ μœΌλ‘œ μΌλΆ€μ˜ 이더듀이 κ³„μ†ν•΄μ„œ μ‹œμž₯μ—μ„œ μ‚¬λΌμ§€κ²Œ λœλ‹€. μ΄λ ‡κ²Œ μ‚¬λΌμ§€λŠ” μ΄λ”λ‘œ 인해 점점 μ€„μ–΄λ“œλŠ” β€˜μ‹œμž₯μœ ν†΅κ°€λŠ₯ μ΄λ”μ΄λŸ‰(the total currency supply in circulation)’은 맀년 μ‹ κ·œλ°œν–‰λ˜λŠ” 이더에 μ˜ν•΄ κ· ν˜•μ„ 이루게 λœλ‹€. (ex. 만일 총 μ΄λ”λŸ‰μ΄ 26배수(1,562,657,616 ETH)에 λ‹¬ν–ˆκ³ , 맀년 이 쀑 1%(0.26배수)에 ν•΄λ‹Ήν•˜λŠ” 이더가 μ†Œμ‹€λœλ‹€λ©΄, μ΄λŠ” 맀년 μƒˆλ‘œμ΄ λ°œν–‰λ˜λŠ” 0.26배수의 이더와 κ· ν˜•μ„ 이루게 λœλ‹€)

μž₯래, 곡급성μž₯λ₯ μ„ μ•½ β€˜0μ—μ„œ 0.05배수 이내’가 λ˜λ„λ‘ μˆ˜μ •μ„ ν•˜λ©΄μ„œ, POS둜 채꡴λͺ¨λΈμ„ λ³€κ²½ν•  κ³„νšμ„ 가지고 μžˆλ‹€. 만일, β€˜μ΄λ”λ¦¬μ›€ μž¬λ‹¨(Ethereum organization)’이 λ³΄μœ κΈˆμ„ λͺ¨λ‘ μžƒκ±°λ‚˜, λ˜λŠ” μ—¬νƒ€μ˜ 이유둜 μ‚¬λΌμ§€κ²Œ 되면, β€œμ‚¬νšŒμ κ³„μ•½(social contract)”을 μ—΄μ–΄λ‘˜ 것이닀. 이λ₯Ό 톡해, 이더 λ°œν–‰λŸ‰μ„ μ΅œλŒ€ β€˜60102216 * (1.198 + 0.26 * n)β€˜λ₯Ό λ„˜μ§€ μ•Šλ„λ‘λ§Œ(n은 첫 블둝 생성 μ΄ν›„μ˜ 총 λ…„μˆ˜) 지킨닀면, λˆ„κ΅¬λ“ μ§€ μ΄λ”λ¦¬μ›€μ˜ β€˜ν›„μ†λ²„μ „(a future candidate version:RC버전)’을 λ§Œλ“€ 수 μžˆμ„ 것이닀. 이 ν›„μ†λ²„μ „μ˜ μ°½μ‹œμžλŠ” 개발/관리에 ν•„μš”ν•œ λΉ„μš©μ„ μΆ©λ‹Ήν•˜κΈ° μœ„ν•΄μ„œ, 곡개판맀(crowd-sell)λ₯Ό ν•˜κ±°λ‚˜, β€˜μ΄ κ°€λŠ₯ μ΄λ”λ°œν–‰λŸ‰β€™κ³Ό β€˜POSλ₯Ό ν†΅ν•œ κ³΅κΈ‰λŸ‰β€™ κ°„μ˜ μ°¨μ•‘ 쀑 μΌλΆ€λ‚˜ μ „λΆ€λ₯Ό μ΄μš©ν•  수 μžˆμ„ 것이닀. 만일 μ–΄λ– ν•œ μ°½μ‹œμžκ°€ μ΄λŸ¬ν•œ β€œμ‚¬νšŒμ κ³„μ•½(social contract)”에 λ°˜ν•˜λŠ” λ‚΄μš©μ„ μ—…λ°μ΄νŠΈν•˜κ²Œ λœλ‹€λ©΄, κ²°κ΅­ λŒ€μ˜μ— μ˜ν•΄ ν•©λ‹Ήν•œ(compliant) λ²„μ „μ—μ„œ λ³„κ°œλ‘œ ν¬ν¬λ˜μ–΄(forked)λ‚˜μ™€ νƒˆλ½ν•˜κ²Œ 될 것이닀.

채꡴ 쀑앙집쀑화(Mining Centralization)

λΉ„νŠΈμ½”μΈ 채꡴ 방식은, λͺ©ν‘œ κ°’(ν˜„μž¬ κΈ°μ€€ μ•½ 2192)보닀 λ‚은 값이 λ‚˜μ˜¬ λ•ŒκΉŒμ§€, 블둝헀더에 λŒ€ν•œ sha256 ν•΄μ‹± μž‘μ—…μ„ λ¬΄ν•œμ • λ°˜λ³΅ν•˜λŠ” 것이닀. ν•˜μ§€λ§Œ ν•΄λ‹Ή λ°©μ‹μ—λŠ” 두 가지 약점이 μ‘΄μž¬ν•œλ‹€.

μ²«λ²ˆμ§ΈλŠ” ν˜„μž¬ 채꡴참여에 λŒ€ν•œ μž₯벽이 맀우 λ†’μ•„μ‘Œλ‹€λŠ” 것이닀. ν˜„μž¬ μ±„κ΅΄μƒνƒœκ³„λŠ” ASIC(특수λͺ©μ μ„ μœ„ν•΄ μ „μš©μœΌλ‘œ μ„€κ³„λœ λ°˜λ„μ²΄λ‘œ, λ²”μš©λ°˜λ„μ²΄μ— λΉ„ν•΄ μ„±λŠ₯이 뛰어남)에 μ˜ν•΄ μ™„μ „νžˆ μž μ‹λ˜μ—ˆλ‹€. μ΄λŸ¬ν•œ ASICμ±„κ΅΄κΈ°λŠ” 일반 GPU채꡴기 등에 λΉ„ν•΄ 수 천배 μ΄μƒμ˜ νš¨μœ¨μ„ κ°€μ§€λŠ”λ°, λ”°λΌμ„œ ASIC이 μ•„λ‹Œ μΌλ°˜μ»΄ν“¨ν„°λ₯Ό ν†΅ν•œ μΌλ°˜μ‚¬μš©μžλ“€μ˜ μ±„κ΅΄ν–‰μœ„λŠ” 경쟁λ ₯μ—μ„œ λ°€λ € νš¨μš©μ„ μžƒκ²Œ λ˜μ—ˆλ‹€. 과거의 μ±„κ΅΄ν–‰μœ„κ°€ λΆ„κΆŒν™”λ˜κ³  이타적인 μ°Έμ—¬μž μ€‘μ‹¬μ˜ β€˜μƒνƒœκ³„β€™μ˜€λ‹€λ©΄, ν˜„μž¬λŠ” μˆ˜μ‹­μ–΅μ›μ˜ νˆ¬μžκ°€ λ˜μ–΄μ•Όλ§Œ μ°Έμ—¬κ°€ κ°€λŠ₯ν•œ 재λ ₯κ°€λ“€μ˜ β€˜μ‚¬μ—…β€™μœΌλ‘œ λ³€μ§ˆλ˜κ³  λ§μ•˜λ‹€.

λ‘λ²ˆμ§ΈλŠ” 채꡴방식이닀. μ΄μ „μ²˜λŸΌ μ—¬λŸ¬ μ§€μ—­μ—μ„œ μ—¬λŸ¬ μ°Έμ—¬μžκ°€ 블둝생성에 μ°Έμ—¬ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, μ€‘μ•™μ§‘μ€‘ν™”λœ 채꡴풀(Mining pool)이 μ œκ³΅ν•˜λŠ” 블둝헀더(block header)에 μ˜μ‘΄ν•˜μ—¬ 채꡴에 μ°Έμ—¬ν•œλ‹€λŠ” 점이닀. 이둜 μΈν•œ λΆ€μž‘μš©μ΄ μƒλ‹Ήν•œλ°, ν˜„μž¬ κΈ°μ€€μœΌλ‘œλŠ”, 3개 채꡴풀듀이 κ°œμΈλ“€μ˜ μ»΄ν“¨νŒ…νŒŒμ›Œλ₯Ό 인계 λ°›μ•„μ„œ 무렀 50%에 μœ‘λ°•ν•˜λŠ” ν•΄μ‹œλ₯Ό κ°„μ ‘μ μœΌλ‘œ ν†΅μ œν•˜κ³  μžˆλ‹€. λ¬Όλ‘  ν•΄λ‹Ή ν’€μ˜ 점유율이 50%λ₯Ό λ„˜μ–΄κ°€κΈ° 전에 κ°œμΈλ“€μ΄ λ‹€λ₯Έ μ†Œκ·œλͺ¨ ν’€λ“€λ‘œ 이동을 ν•  수 있기 λ•Œλ¬Έμ—, 풀듀이 λ§ˆμŒλŒ€λ‘œ μžμ›μ„ λ‚¨μš©ν•  μˆ˜λŠ” μ—†κ² μ§€λ§Œ, μ΄λŠ” μ—¬μ „νžˆ 큰 λ¬Έμ œμ΄λ‹€.

μ΄λ”λ¦¬μ›€μ˜ 채꡴ 방식은 쑰금 λ‹€λ₯΄λ‹€. 각 μ±„κ΅΄μžκ°€ μƒνƒœμ •λ³΄(the state)μ—μ„œ λ¬΄μž‘μœ„μ˜ 정보λ₯Ό κ°€μ Έμ™€μ„œ, λ¬΄μž‘μœ„λ‘œ 선택 된 졜근 λͺ‡κ°œμ˜ 블둝내역을 ν•΄μ‹± μž‘μ—…ν•˜κ³  결과값을 λ‚΄λ†“λŠ” 것이닀. μ΄λ ‡κ²Œ ν•˜κ²Œ 되면 두가지 이점이 μžˆλ‹€.

μ²«λ²ˆμ§ΈλŠ” 이더리움 계약이 λͺ¨λ“  μ’…λ₯˜μ˜ 컴퓨터 계산방식을 포괄할 수 μžˆλ‹€λŠ” 점이닀. λ”°λΌμ„œ μžμ—°νžˆ ASIC도 λͺ¨λ“  계산방식에 μ ν•©ν•˜κ²Œ μ„€κ³„λ˜μ–΄μ•Ό ν•˜λŠ”λ°, μ΄λ ‡κ²Œ 되면 κ²°κ΅­ ASIC이라기 λ³΄λ‹€λŠ” μΌμ’…μ˜ κ³ μ„±λŠ₯ CPUκ°€ λ˜λŠ” μ…ˆμ΄λ‹€. 즉 ν˜„μ‹€μ μœΌλ‘œ ASIC(μ£Όλ¬Έν˜• μ „μš©λ°˜λ„μ²΄) μžμ²΄κ°€ λ¬΄μš©μ§€λ¬Όμ΄ λœλ‹€.

λ‘λ²ˆμ§Έλ‘œ, μ±„κ΅΄μžλ“€μ€ μž‘μ—… μ‹œ 전체 블둝체인을 λ‹€μš΄ λ°›μ•„ λͺ¨λ“  이체내역을 검증해야 ν•œλ‹€λŠ” 점이닀. μ΄λ ‡κ²Œ 되면 쀑앙집쀑화 된 λŒ€ν˜• 풀이 ν•„μš”μ—†κ²Œ λœλ‹€. λ¬Όλ‘  λŒ€ν˜•ν’€ μžμ²΄λŠ” μ‹ κ·œλΈ”λ‘μƒμ„± 보상을 κ· μΌν•˜κ²Œ μ°Έμ—¬μžλ“€μ—κ²Œ λ°°λΆ„ν•΄ μ£ΌλŠ” νš¨κ³Όκ°€ 있긴 ν•˜μ§€λ§Œ, κ·ΈλŸ¬ν•œ νš¨κ³ΌλŠ” P2Pν˜•μ‹μ˜ ν’€(pool)을 ν†΅ν•΄μ„œλ„ μΆ©λΆ„νžˆ κ΅¬ν˜„μ΄ κ°€λŠ₯ν•˜λ‹€. ꡳ이 μ€‘μ•™μ§‘μ€‘ν˜• ν’€(centralized pool) 방식을 μ‚¬μš©ν•  ν•„μš”κ°€ μ—†λ‹€.

λ¬Όλ‘  μœ„μ˜ 채꡴ λͺ¨λΈμ΄ 아직 κ²€μ¦λœ 것은 μ•„λ‹ˆλ‹€. λ˜ν•œ ASICμž₯비에 λŒ€ν•œ 저항성을 λ†’μ΄λŠ” μž‘μ—…λ„, 이둠처럼 ν˜„μ‹€μ—μ„œ 적용이 될 수 μžˆμ„μ§€μ— λŒ€ν•˜μ—¬λŠ” 의문의 여지가 μžˆλ‹€. ν•˜μ§€λ§Œ ν•œ 가지 ν™•μ‹€ν•œ 것은, μ—¬λŸ¬μ’…λ₯˜μ˜ μˆ˜λ§Žμ€ 계약이 적용이 되면, 이λ₯Ό λͺ¨λ‘ ν¬κ΄„ν•˜λŠ” ASIC을 μ˜ˆμ „μ²˜λŸΌ λ§Œλ“€μ–΄ λ‚΄κΈ°λŠ” μ–΄λ ΅λ‹€λŠ” 점이닀. λ˜ν•œ μ–΄λ– ν•œ μ’…λ₯˜μ˜ μž‘μ—…μ— νŠΉν™” 된 ASIC이 μ‘΄μž¬ν•œλ‹€λ©΄, 이에 λ°˜ν•˜λŠ” μž‘μ—…μ„ μš”ν•˜λŠ” 계약이 μƒμ„±λ˜λŠ” 것을 μ›μΉ˜ μ•Šμ„ 것이닀. 그러면 ν•΄λ‹Ή ASICμ±„κ΅΄μžμ˜ κ²½μŸμžλŠ” 그에 μ λŒ€μ μΈ, 즉 λΉ„νš¨μœ¨μ μΈ μž‘μ—…μ„ μš”ν•˜λŠ” 계약듀을 생성해 λƒ„μœΌλ‘œμ¨ 곡격을 κ°€ν•  것이닀. 즉, 각 뢀뢄에 νŠΉν™”λœ ASIC을 μ†Œμœ ν•œ μ±„κ΅΄μžλ“€μ€ μ„œλ‘œμ—κ²Œ λΆˆλ¦¬ν•œ μž‘μ—…μ„ ν•˜κ²Œν•˜λŠ” 계약듀을 λ§Œλ“€μ–΄ λƒ„μœΌλ‘œμ¨ μ„œλ‘œλ₯Ό 곡격할 것이닀. λ¬Όλ‘  μ΄λŸ¬ν•œ 방법은 β€˜κΈ°μˆ μ β€™μΈ μ ‘κ·Όμ΄λΌκΈ°λ³΄λ‹€λŠ” β€˜κ²½μ œν•™μ  인간행동둠’에 κ·Όκ±°ν•œ 접근에 가깝닀.

ν™•μž₯μ„±(Scalability)

이더리움에 λŒ€ν•œ ν•œ 가지 κ³΅ν†΅λœ μ˜λ¬Έμ μ€ ν™•μž₯μ„± 뢀뢄이닀. λΉ„νŠΈμ½”μΈκ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ 이더리움도 λͺ¨λ“  μ΄μ²΄μž‘μ—…μ΄ λ„€ν¬μ›Œν¬ μƒμ˜ 전체 λ…Έλ“œμ— μ˜ν•΄μ„œ 일일이 검증 및 μž‘μ—…μ΄ λ˜μ–΄μ•Ό ν•œλ‹€λŠ” 약점이 μžˆλ‹€. λΉ„νŠΈμ½”μΈμ˜ 경우, ν˜„μž¬ 전체 λΈ”λ‘μ²΄μΈμ˜ 크기가 μ•½ 15GB에 이λ₯΄λ©°, κ·Έ ν¬κΈ°λŠ” 맀 μ‹œκ°„ 1MBμ”© κΎΈμ€€νžˆ λŠ˜μ–΄λ‚˜κ³  μžˆλ‹€. VISA의 경우 μ΄ˆλ‹Ή 2,000μ—¬ 건의 μ΄μ²΄μž‘μ—…μ„ μ²˜λ¦¬ν•˜λŠ”λ°, μ΄λŠ” 맀 3μ΄ˆλ‹Ή 1MBμ”©μ˜ ν™•μž₯(μ‹œκ°„ λ‹Ή 1GB, 맀 λ…„ 8TB)을 μ˜λ―Έν•œλ‹€. 이더리움도 λΉ„μŠ·ν•œ 문제λ₯Ό κ²ͺ을 것이고, λ‹¨μˆœνžˆ ν™”νλ‘œμ„œμ˜ μ—­ν•  λ§Œν•˜λŠ” λΉ„νŠΈμ½”μΈμ— λΉ„ν•œλ‹€λ©΄, μ˜¨κ°– μ’…λ₯˜μ˜ νƒˆμ€‘μ•™ν™”λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜λ“€(Dapps: Decentralized applications)을 ν¬κ΄„ν•˜λŠ” 이더리움은 이 λΆ€λΆ„μ—μ„œ 훨씬 더 λ§Žμ€ 문제λ₯Ό κ²ͺ을 μˆ˜λ„ μžˆμ„ 것이닀. ν•˜μ§€λ§Œ ν•œ 가지 λ‹€λ₯Έ 점은, 이더리움은 β€˜μ „μ²΄ 블둝체인 νžˆμŠ€ν† λ¦¬β€™κ°€ μ•„λ‹Œ, 단지 β€˜μƒνƒœ 정보(the state)β€™λ§Œ 가지고 있으면 λœλ‹€λŠ” 점이닀.

만일 개개의 λͺ¨λ“  λ…Έλ“œκ°€ 전체 블둝체인을 보관해야 ν•œλ‹€λ©΄, μ•„λž˜μ™€ 같은 λ¬Έμ œκ°€ 생길 수 μžˆλ‹€. λΈ”λ‘μ²΄μΈμ˜ 크기가 점점 컀져 100TB에 μœ‘λ°•ν•˜κ²Œ λ˜μ—ˆλ‹€κ³  μƒκ°ν•΄λ³΄μž. 이 정도 μˆ˜μ€€μœΌλ‘œ λ³΄κ΄€ν•΄μ•Όν•˜λŠ” λΈ”λ‘μ²΄μΈμ˜ 크기가 컀지면, 였직 μ†Œμˆ˜μ˜ μ‚¬μ—…κ°€λ‚˜ κΈ°μ—… ν˜•νƒœμ˜ μ°Έμ—¬μžλ§Œμ΄ 이λ₯Ό 감당할 수 있게 λœλ‹€. λ‹€μˆ˜μ˜ 일반 μ‚¬μš©μžλ“€μ€ β€˜λΌμ΄νŠΈ SPV(Simple Payment Verification)’ λ…Έλ“œλ§Œλ“€ μ‚¬μš©ν•˜κ²Œ 될 것이닀. μ΄λ ‡κ²Œ 되면, 전체 λΈ”λ‘μ²΄μΈμ˜ 내역을 가진 μ†Œμˆ˜μ˜ μ°Έμ—¬μžλ“€μ΄ κ²°νƒν•˜μ—¬, μž₯뢀내역을 μˆ˜μ •ν•˜κ±°λ‚˜ λΈ”λ‘λ³΄μƒλŸ‰μ„ λ°”κΏ”μΉ˜κΈ° ν•˜λŠ” λ“±μ˜ μ‘°μž‘ν–‰μœ„κ°€ 일어날 수 μžˆμ„ 것이닀. λ‹¨μˆœν•œ β€˜λΌμ΄νŠΈ λ…Έλ“œ(light node)β€™λ‘œμ„œλŠ” μ΄λŸ¬ν•œ μ‘°μž‘μ„ 감지할 방법이 μ—†λ‹€. λ¬Όλ‘  β€˜μ „μ²΄ 블둝체인λ₯Ό μ†Œμœ ν•œ λ…Έλ“œ(full node)’ μ€‘μ—μ„œλ„ μ„ μ˜μ˜ μ°Έκ°€μžκ°€ μžˆμ„μ§€ λͺ¨λ₯Έλ‹€. κ·ΈλŸ¬λ‚˜ λ‹€μˆ˜μ˜ β€˜μ™„μ „λ…Έλ“œ(full node)’가 μž‘μ‹¬ν•˜μ—¬ 블둝체인 μ‘°μž‘μ„ μ‹œλ„ν•œλ‹€λ©΄, 이λ₯Ό λ°œκ²¬ν•˜λŠ” μ‹œμ μ—μ„œλŠ” 이미 λŠ¦μ—ˆλ‹€κ³  봐야 ν•  것이닀. μ‹€μ œλ‘œ λΉ„νŠΈμ½”μΈμ΄ ν˜„μž¬ 이와 λΉ„μŠ·ν•œ λ¬Έμ œμ— μ²˜ν•  μœ„ν—˜μ΄ μžˆλ‹€κ³  κ²½κ³ λ°›κ³  있으며, ν•΄λ‹Ή 문제λ₯Ό μ™„ν™”μ‹œν‚€λŠ” 방법에 λŒ€ν•˜μ—¬λŠ” Peter Todd에 μ˜ν•΄ λ…Όμ˜λœ λ°” μžˆλ‹€.

μœ„μ˜ 문제λ₯Ό ν•΄κ²°ν‚€ μœ„ν•΄, κ°€κΉŒμš΄ μ‹œμΌ μ•ˆμ— 두 κ°€μ§€μ˜ μ „λž΅μ„ μΆ”κ°€λ‘œ λ„μž…ν•  μ˜ˆμ •μ΄λ‹€. 첫번째둜 이더리움도 기본적으둜 블둝체인 κΈ°μˆ μ„ λ°”νƒ•μœΌλ‘œ ν•œ 채꡴ μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜κ³  있기 λ•Œλ¬Έμ—, λͺ¨λ“  μ±„κ΅΄μžλ“€μ€ β€˜μ™„μ „λ…Έλ“œ(full node)’가 λ˜λ„λ‘ μ˜λ¬΄ν™” 될 것이며, μ΄λŠ” ν•„μš”ν•œ μ΅œμ†Œν•œμ˜ μ™„μ „λ…Έλ“œ 숫자λ₯Ό 확보할 수 μžˆλ„λ‘ 해쀄 것이닀 . λ‘λ²ˆμ§Έλ‘œ, 이체내역 검증 μž‘μ—… 이후 블둝체인에 β€˜μ€‘κ°„μƒνƒœ 트리루트(an intermediate state tree root)’λ₯Ό λ„μž…ν•˜λŠ” 것이닀. μ΄λ ‡κ²Œ 되면, 아무리 블둝생성 μž‘μ—…μ΄ μ†Œμˆ˜μ˜ λ…Έλ“œμ— μ§‘μ€‘λ˜λ”λΌλ„, 단 ν•˜λ‚˜μ˜ μ„ μ˜μ˜ λ…Έλ“œ(honest node)만 μ‘΄μž¬ν•œλ‹€λ©΄ 검증 ν”„λ‘œν† μ½œ(verification protocol)을 톡해 이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ‹€.

만일 μ–΄λ– ν•œ μ±„κ΅΄λ…Έλ“œκ°€ μ „νŒŒν•œ 블둝이 κ²€μ¦μ˜€λ₯˜(invalid)μ²˜λ¦¬κ°€ λ˜μ—ˆλ‹€λ©΄, ν•΄λ‹Ή λΈ”λ‘μ˜ β€˜κ΅¬μ„±(format)’이 λ§žμ§€ μ•Šκ±°λ‚˜ β€˜μƒνƒœλ‚΄μ—­ S [ n ]’이 ν‹€λ¦° 경우일 것이닀. β€˜S [ 0 ]’ μƒνƒœκ°€ μ˜³μ€ κ²ƒμœΌλ‘œ κ°„μ£Όλ˜κΈ° λ•Œλ¬Έμ—, β€˜S[ i-1 ]’이 λ§žλ‹€λ©΄, β€˜S[ i ]’에 였λ₯˜κ°€ μžˆλŠ” 것이닀. κ²€μ¦μž‘μ—…μ— μ°Έμ—¬ν•˜λŠ” λ…Έλ“œλŠ”, β€˜APPLY(S[i-1],TX[i]) -> S[i]’ μž‘μ—…(processing)을 ν•˜λŠ” β€˜νŽ˜νŠΈλ¦¬μƒ€ 트리 λ…Έλ“œμ˜ 뢀뢄집합(the subset of Patricia tree)’을 톡해 β€˜κ²€μ¦μ˜€λ₯˜μ¦λͺ…(proof of invalidity)’과 β€˜μΈλ±μŠ€ i’λ₯Ό μ œκ³΅ν•œλ‹€. λ…Έλ“œλ“€μ€, μœ„μ˜ λ…Έλ“œλ“€μ„ μ΄μš©ν•΄ ν•΄λ‹Ή μž‘μ—…μ„ μˆ˜ν–‰ν•˜λ©°, μƒμ„±ν•œ β€˜S[ i ]’가 μ œκ³΅λ°›μ€ β€˜S[ i ]’와 μΌμΉ˜ν•˜μ§€ μ•ŠμŒμ„ λ°œκ²¬ν•˜κ²Œ λœλ‹€.

λ˜ν•œ β€˜λΆˆμ™„μ „ν•œ 블둝(incomplete block)’을 μ „νŒŒν•˜λ €λŠ” μ•…μ˜μ˜ μ±„κ΅΄λ…Έλ“œλ“€κ³Ό κ΄€λ ¨λœ λ”μš± μ •κ΅ν•œ 곡격이 μ΄λ£¨μ–΄μ§ˆ 수 μžˆλ‹€. 블둝을 κ²€μ¦ν•˜λŠ”λ°μ— ν•„μš”ν•œ 정보가 μ˜¨μ „νžˆ μ‘΄μž¬ν•˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆλ‹€. 이 경우, β€˜μ§ˆμ˜-μ‘λ‹΅ν”„λ‘œν† μ½œ(challenge-response protocol)’ 기법이 μ‚¬μš©λ  수 μžˆλ‹€. κ²€μ¦λ…Έλ“œκ°€ β€˜λͺ©ν‘œ λΈ”λ‘μ˜ 인덱슀 ν˜•νƒœ(target transaction indices)β€™λ‘œ β€˜μ§ˆλ¬Έ(challenge)’을 μƒμ„±ν•˜κ³ , λ…Έλ“œλ₯Ό μˆ˜μ‹ ν•˜λŠ” λΌμ΄νŠΈλ…Έλ“œ(light node)λŠ” ν•΄λ‹Ή 블둝(challenge)을 일단 κ²€μ¦μ˜€λ₯˜λΈ”λ‘μœΌλ‘œ μ·¨κΈ‰ν•œλ‹€. 이후, λ‹€λ₯Έ λ…Έλ“œ(μ±„κ΅΄λ…Έλ“œμ΄λ“  κ²€μ¦λ…Έλ“œμ΄λ“ )κ°€ β€˜νŽ˜νŠΈλ¦¬μƒ€ 트리 λ…Έλ“œμ˜ 뢀뢄집합(the subset of Patricia tree)’을 검증증λͺ…(proof of validity)으둜써 μ œκ³΅ν•œλ‹€λ©΄, κ·Έλ•Œμ„œ μœ„μ˜ 블둝은 κ²€μ¦λœ(μœ νš¨ν•œ) κ²ƒμœΌλ‘œ μ·¨κΈ‰λœλ‹€.

κ²°λ‘ 

이더리움 ν”„λ‘œν† μ½œμ€ 본래 맀우 λ²”μš©μ μΈ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄λ₯Ό 톡해 β€˜λΈ”λ‘μ²΄μΈμƒ μ—μŠ€ν¬λ‘œλ‚˜ μΈμΆœν•œλ„μ„€μ •, κΈˆμ „κ³„μ•½, 도박 μ‹œμž₯ λ“±μ˜ κ³ κΈ‰ κΈ°λŠ₯’을 μ œκ³΅ν•˜λŠ”, κ°€μƒν™”νμ˜ μ—…κ·Έλ ˆμ΄λ“œ λ²„μ „μœΌλ‘œ κ΅¬μƒλ˜μ—ˆλ‹€. 이더리움 ν”„λ‘œν† μ½œμ€ μ΄λŸ¬ν•œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ„ μ§μ ‘μ μœΌλ‘œ μ œκ³΅ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, νŠœλ§μ™„μ „μ–Έμ–΄(Turing-complete programming language)λ₯Ό 톡해 이둠적으둜 거의 λͺ¨λ“  ν˜•νƒœμ˜ μ΄μ²΄λ°©μ‹μ΄λ‚˜ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€μ–΄λ‚Ό 수 μžˆλ„λ‘ μ§€μ›ν•œλ‹€. λ”μš± ν₯미둜운 점은, 이더리움은 λ‹¨μˆœν•œ β€˜ν™”νβ€™μ˜ 차원을 훨씬 λ›°μ–΄λ„˜λŠ”λ‹€λŠ” 점이닀. λΆ„μ‚°μ €μž₯곡간(DFS:decentralized file storage)μ΄λ‚˜, λΆ„μ‚°μ»΄ν“¨νŒ…, λΆ„μ‚°μ˜ˆμΈ‘μ‹œμž₯(decentralized prediction market) ν”„λ‘œν† μ½œ 등은 사싀 μˆ˜λ§Žμ€ μ‘μš©κ°œλ…λ“€ 쀑 일뢀에 λΆˆκ³Όν•˜λ‹€. μ΄λŸ¬ν•œ μƒˆλ‘œμš΄ κ°œλ…λ“€μ€ μ»΄ν“¨νŒ… μ‚°μ—…μ˜ νš¨μœ¨μ„±μ„ 폭발적으둜 높일 수 μžˆλŠ” 잠재λ ₯이 있으며, P2Pν”„λ‘œν† μ½œμ— 처음으둜 β€˜κ²½μ œμ μΈ 차원(economic layer)’을 μž…νž˜μœΌλ‘œμ¨ μ—„μ²­λ‚œ ν˜μ‹ μ„ κ°€μ Έμ˜¬ 수 μžˆμ„ 것이닀. λ§ˆμ§€λ§‰μœΌλ‘œ, μ»΄ν“¨νŒ…μ΄λ‚˜ 금육과 관련이 μ—†λŠ” λΆ„μ•Όλ“€μ—μ„œλ„ λ‹€μ–‘ν•œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ΄ λ‚˜μ˜¬ 것이닀.

이더리움 ν”„λ‘œν† μ½œμ΄ μ œκ³΅ν•˜λŠ” β€˜μž„μ˜μƒνƒœλ³€ν™˜(arbitrary state transition function)β€™μ΄λΌλŠ” κ°œλ…μ€ 고유의 잠재λ ₯을 μ§€λ‹Œ ν”Œλž«νΌμ„ νƒ„μƒμ‹œν‚¨λ‹€. 기쑴의 μžλ£Œμ €μž₯κ³΅κ°„μ΄λ‚˜ 도박, 금육 λ“±μ˜ ν•˜λ‚˜μ˜ λͺ©μ μ— νŠΉν™”λœ νμ‡„ν˜• ꡬ쑰(close-ended)μ™€λŠ” 달리, 이더리움은 자유둭게 쑰정이 κ°€λŠ₯ν•œ ꡬ쑰(open-ended)이닀. μš°λ¦¬λŠ” 이것이 λͺ‡ λ…„ 이내에, κΈˆμœ΅λΆ€λ¬Έμ΄λ“  λΉ„κΈˆμœ΅λΆ€λ¬Έμ΄λ“  μ—„μ²­λ‚˜κ²Œ λ§Žμ€ μ’…λ₯˜μ˜ μ„œλΉ„μŠ€λ₯Ό 섀계할 수 μžˆλ„λ‘ λ•λŠ” 것에 νŠΉν™”λœ 기반이 될 것이라고 λ―ΏλŠ”λ‹€.

주석, μ°Έκ³ λ¬Έν—Œ 및 μΆ”κ°€μžλ£Œ

주석

  1. κ΄€μ°°λ ₯이 쒋은 λ…μžλΌλ©΄, λΉ„νŠΈμ½”μΈ μ£Όμ†ŒλŠ” β€˜κ³΅κ°œν‚€(public key)’가 μ•„λ‹ˆλΌ, β€˜νƒ€μ›κ³‘μ„ κ³΅κ°œν‚€μ˜ ν•΄μ‹œ(the hash of the elliptic curve public key)β€™λ‘œ 이루어져 μžˆλ‹€λŠ” 것은 λˆˆμΉ˜μ±˜μ„ 것이닀. λ¬Όλ‘ , μ•”ν˜Έν•™μ  κ΄€μ μ—μ„œ 보자면 β€˜κ³΅κ°œν‚€ ν•΄μ‹œ(public key hash)β€™λ‘œ λΆ€λ₯΄λ“  λ‹¨μˆœνžˆ β€˜κ³΅κ°œν‚€(public key)β€™λ‘œ λΆ€λ₯΄λ“  μ°¨μ΄λŠ” μ—†λ‹€. μ™œλƒν•˜λ©΄, β€˜λΉ„νŠΈμ½”μΈ μ•”ν˜ΈκΈ°λ²•β€™ μžμ²΄κ°€ β€˜μΌμ’…μ˜ λ§žμΆ€ν˜• μ „μžμ„œλͺ…μ•Œκ³ λ¦¬μ¦˜β€™μ΄κ³ , 이 μ•Œκ³ λ¦¬μ¦˜μ—μ„œλŠ” κ³΅κ°œν‚€κ°€ β€˜νƒ€μ›κ³‘μ„ κ³΅κ°œν‚€μ˜ ν•΄μ‹œ(the hash of the Elliptic Curve public key)’λ₯Ό ν¬ν•¨ν•˜κ³  있고, μ—¬κΈ°μ„œμ˜ β€˜μ„œλͺ…(signature)’은 β€˜νƒ€μ›κ³‘μ„ μ„œλͺ…(ECC signature)’과 μ—°κ²°λœ β€˜νƒ€μ›κ³‘μ„ κ³΅κ°œν‚€(ECC public key)β€™λ‘œ κ΅¬μ„±λ˜μ–΄ 있기 λ•Œλ¬Έμ΄λ‹€. λ˜ν•œ β€˜κ²€μ¦μ•Œκ³ λ¦¬μ¦˜β€™μ€ μ„œλͺ…(signature) μ•ˆμ˜ β€˜νƒ€μ›κ³‘μ„ κ³΅κ°œν‚€(ECC public key)’λ₯Ό, κ³΅κ°œν‚€λ‘œμ¨ 제곡 된 β€˜νƒ€μ›κ³‘μ„ κ³΅κ°œν‚€ν•΄μ‹œ(the hash of the elliptic curve public key)’와 λŒ€μ‘°ν™•μΈν•˜κ³ , λ˜ν•œ β€˜μ„œλͺ…’을 β€˜νƒ€μ›κ³‘μ„ κ³΅κ°œν‚€(ECC public key)’와 λŒ€μ‘°ν•˜μ—¬ κ²€μ¦ν•˜λŠ” 것이기 λ•Œλ¬Έμ΄λ‹€.

  2. κΈ°μˆ μ μœΌλ‘œλŠ”, 이전 11개 λΈ”λ‘μ˜ 쀑간값(median)이닀.

  3. λ‚΄λΆ€μ μœΌλ‘œλŠ” 2와 β€œCHARLIE” λͺ¨λ‘ μˆ«μžμ΄λ‹€. λ‹€λ§Œ β€œCHARLIEβ€λŠ” β€˜λΉ… μ—”λ””μ–Έ(big-endian)’ 기반의 256λΉ„νŠΈλ‘œ ν‘œμ‹œν•œ 것이닀. μˆ«μžλŠ” 0λΆ€ν„° 2256-1κΉŒμ§€ μ‚¬μš©ν•œλ‹€.

μ°Έκ³ λ¬Έν—Œ

1a. Nakamoto, S. 31 October 2008. "Bitcoin: A Peer-to-Peer Electronic Cash System". Also known as the Bitcoin whitepaper. http://nakamotoinstitute.org/bitcoin/. http://bitcoin.org/bitcoin.pdf. https://github.com/saivann/bitcoinwhitepaper. Accessed 7 July 2017.
1b. Davis, J. 10 October 2011. "The Crypto-Currency: Bitcoin and its mysterious inventor". The New Yorker. http://www.newyorker.com/magazine/2011/10/10/the-crypto-currency. Retrieved 31 October 2014. Accessed 7 July 2017. 2. Unknown author. Unknown date. "Intrinsic value". http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/. Unable to access 7 July 2017.
3. Assia, Y.; Vitalik, B.; Haki, M.; Meni R.; and Rotem, L. U.d. "Colored coins whitepaper". https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit. Accessed 7 July 2017. 4. Last edited on 10 May 2016. "Smart property". Bitcoin Wiki. https://en.bitcoin.it/wiki/Smart_Property. Accessed 7 July 2017.
5. Last modified 6 July 2017. "Namecoin". https://namecoin.org/. Accessed 7 July 2017.
6. Last edited on 24 June 2017. "Smart contracts". Bitcoin Wiki. https://en.bitcoin.it/wiki/Contracts. Accessed 7 July 2017.
7. Buterin, V. Sep 19, 2013. "Bootstrapping A Decentralized Autonomous Corporation: Part I". Bitcoin Magazine. http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i. Accessed 7 July 2017.
8. "Blind signature". Last modified 29 March 2017. Wikipedia. https://en.wikipedia.org/wiki/Blind_signature. Accessed 7 July 2017.
9. Dai, W. U.d. "B-money". http://www.weidai.com/bmoney.txt. Accessed 7 July 2017.
10. Hal, F. Reusable proofs of work: http://www.finney.org/~hal/rpow/. Unable to access 7 July 2017.
11. Back, A. U.d. Hashcash. http://www.hashcash.org/. Accessed 7 July 2017.
12. Last edited on 15 June 2017. "Sybil attack". Wikipedia. https://en.wikipedia.org/wiki/Sybil_attack. Accessed 7 July 2017.
13. Last edited on 30 June 2017. "SHA-2". Wikipedia.https://en.wikipedia.org/wiki/SHA-2. Accessed 7 July 2017. 14. Szabo, N. 1998. "Secure property titles with owner authority". http://szabo.best.vwh.net/securetitle.html. Unable to access 7 July 2017. Alternative link here: http://nakamotoinstitute.org/secure-property-titles/. Accessed 7 July 2017. 15. Last edited on 27 June 2017. "Elliptic Curve Digital Signature Algorithm". Wikipedia. https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm. Accessed 7 July 2017.
16. Dogecoin. http://dogecoin.com/. Accessed 7 July 2017.
17. Last edited on 29 June 2017. "Denial-of-service attack". Wikipedia. https://en.wikipedia.org/wiki/Denial-of-service_attack. Accessed 7 July 2017.

μΆ”κ°€μžλ£Œ

  1. Intrinsic value: http://bitcoinmagazine.com/8640/an-exploration-of-intrinsic-value-what-it-is-why-bitcoin-doesnt-have-it-and-why-bitcoin-does-have-it/
  2. Smart property: https://en.bitcoin.it/wiki/Smart_Property
  3. Smart contracts: https://en.bitcoin.it/wiki/Contracts
  4. B-money: http://www.weidai.com/bmoney.txt
  5. Reusable proofs of work: http://www.finney.org/~hal/rpow/
  6. Secure property titles with owner authority: http://szabo.best.vwh.net/securetitle.html
  7. Bitcoin whitepaper: http://bitcoin.org/bitcoin.pdf
  8. Namecoin: https://namecoin.org/
  9. Zooko's triangle: http://en.wikipedia.org/wiki/Zooko's_triangle
  10. Colored coins whitepaper: https://docs.google.com/a/buterin.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit
  11. Mastercoin whitepaper: https://github.com/mastercoin-MSC/spec
  12. Decentralized autonomous corporations, Bitcoin Magazine: http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/
  13. Simplified payment verification: https://en.bitcoin.it/wiki/Scalability#Simplifiedpaymentverification
  14. Merkle trees: http://en.wikipedia.org/wiki/Merkle_tree
  15. Patricia trees: http://en.wikipedia.org/wiki/Patricia_tree
  16. GHOST: http://www.cs.huji.ac.il/~yoni_sompo/pubs/15/btc_scalability_full.pdf
  17. StorJ and Autonomous Agents, Jeff Garzik: http://garzikrants.blogspot.ca/2013/01/storj-and-bitcoin-autonomous-agents.html
  18. Mike Hearn on Smart Property at Turing Festival: http://www.youtube.com/watch?v=Pu4PAMFPo5Y
  19. Ethereum RLP: https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP
  20. Ethereum Merkle Patricia trees: https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-Patricia-Tree
  21. Peter Todd on Merkle sum trees: http://sourceforge.net/p/bitcoin/mailman/message/31709140/
Clone this wiki locally