πŸ‘©πŸ»β€πŸ’» 블둝체인

whenΒ·2022λ…„ 6μ›” 25일
0

κ³΅κ°œλ²”μœ„μ— λ”°λ₯Έ 블둝체인

Public Blockchain

κ°œλ°©ν˜• λΈ”λ‘μ²΄μΈμœΌλ‘œ λˆ„κ΅¬λ‚˜ νŠΈλžœμž­μ…˜μ„ 생성할 수 μžˆλ‹€.
νŠΈλžœμž­μ…˜ 내역이 λͺ¨λ‘μ—κ²Œ κ³΅κ°œλ˜μ–΄ λ„€νŠΈμ›Œν¬μ— μ°Έμ—¬ν•œ λͺ¨λ“  λ…Έλ“œκ°€ 이λ₯Ό μƒν˜Έκ²€μ¦ν•˜κ³  거래λ₯Ό μŠΉμΈν•˜κΈ° λ•Œλ¬Έμ— 신뒰도가 λ†’λ‹€.
λͺ¨λ“  μ°Έμ—¬μžμ˜ κ±°λž˜κΈ°λ‘μ„ λ‚¨κΈ°λ‘œ κ³΅μœ ν•˜λŠλΌ μ²˜λ¦¬μ†λ„κ°€ λŠλ¦¬λ‹€.

Private Blockchain

= Enterprise Blockchain
νμ‡„ν˜• λΈ”λ‘μ²΄μΈμœΌλ‘œ μ„œλΉ„μŠ€ 제곡자의 μŠΉμΈμ„ λ°›μ•„μ•Ό μ°Έμ—¬ν•  수 μžˆλ‹€.
μ€‘μ•™ν™”λœ λ„€νŠΈμ›Œν¬

  • Hyperledger : 슀마트 계약을 κ΅¬ν˜„ν•  수 μžˆλŠ” μ˜€ν”ˆμ†ŒμŠ€ 기반의 프라이빗 블둝체인 ν”Œλž«νΌ

Consortium Blockchain

λ™μΌν•œ λͺ©μ μ΄λ‚˜ κ°€μΉ˜λ₯Ό 가지고 μžˆλŠ” λ‹€μˆ˜μ˜ κΈ°μ—…κ³Ό 단체듀이 ν•˜λ‚˜μ˜ μ»¨μ†Œμ‹œμ—„μ„ κ΅¬μ„±ν•˜κ³  κ·Έ μ•ˆμ—μ„œ μž‘λ™ν•˜λ„λ‘ λ§Œλ“  블둝체인
퍼블릭 블둝체인과 프라이빗 λΈ”λ‘μ²΄μΈμ˜ 쀑간 ν˜•νƒœ(ν•˜μ΄λΈŒλ¦¬λ“œ 블둝체인)
μ»¨μ†Œμ‹œμ—„μ— μ†Œμ†λœ μ°Έμ—¬μžλ“€μ˜ ν•©μ˜μ— 따라 법칙을 λ°”κΏ€ μˆ˜μžˆλ‹€.
κΈ°κ΄€ 간에 직접 κ±°λž˜ν•¨μœΌλ‘œμ¨ 제3μžμ— λŒ€ν•œ κ±°λž˜μˆ˜μˆ˜λ£Œβ†“, κ±°λž˜μ‹œκ°„β†“

  • Hyperledger Fabric
    블둝체인 μ†”λ£¨μ…˜κ³Ό μ‘μš© ν”„λ‘œκ·Έλž¨μ„ κ°œλ°œν•˜κΈ° μœ„ν•œ λͺ¨λ“ˆν˜• 아킀텍쳐 ν”Œλž«νΌ(블둝체인 ν”„λ ˆμž„μ›Œν¬)
    λ¦¬λˆ…μŠ€μž¬λ‹¨μ΄ μ£Όλ„ν•˜μ—¬ μ„€λ¦½ν•œ Hyperledger의 ν”„λ‘œμ νŠΈ 쀑 ν•˜λ‚˜μ΄λ‹€.
    슀마트 계약을 μ§€μ›ν•˜λŠ” 졜초의 뢄산원μž₯ ν”Œλž«νΌ
    μ•”ν˜Έν™”ν 없이 ν•©μ˜ ν”„λ‘œν† μ½œμ„ ν™œμš©ν•  수 μžˆλ‹€.

뢄산원μž₯기술(Distributed Ledger Technology)

뢄산원μž₯은 κ±°λž˜μ •λ³΄λ₯Ό κΈ°λ‘ν•œ 원μž₯을 νŠΉμ • κΈ°κ΄€μ˜ μ€‘μ•™ν™”λœ μ„œλ²„κ°€ μ•„λ‹Œ λΆ„μ‚°ν™”λœ λ„€νŠΈμ›Œν¬μ—μ„œ μ°Έμ—¬μžλ“€μ΄ κ³΅λ™μœΌλ‘œ 기둝 및 κ΄€λ¦¬ν•˜λŠ” 기술(=κ³΅μœ μ›μž₯, 뢄산원μž₯기술)

쀑앙집쀑원μž₯(Centralized Ledger)의 취약점

  • λΉ„μš© : κ³Όλ„ν•œ 관리, μ€‘κ°œμˆ˜μˆ˜λ£Œ πŸ‘‰πŸΌ ν•΄μ™Έμ†‘κΈˆ
  • μ‹œκ°„ : λ§Žμ€ λ―Έλ“€λ§¨λ“€μ˜ 쑴재 πŸ‘‰πŸΌ μ£Όμ‹λŒ€κΈˆ κ²°μ œμ— 3일 μ†Œμš”
  • λ³΄μ•ˆ : Single point of failure

뢄산원μž₯기술의 μž₯점

  • 인증과 증λͺ…μ˜ νš¨μœ¨μ„±
  • μ‹œμŠ€ν…œ μ•ˆμ •μ„±
  • λ³΄μ•ˆμ„±
  • 투λͺ…μ„±

Transaction

blockchain = block + chain
block = header(metadata) + body(transaction list)

  • Metadata
    이 블둝은 체인 쀑 λͺ‡ 번째 블둝인지
    이 블둝에 λͺ‡ 개의 νŠΈλžœμž­μ…˜μ΄ μžˆλŠ”μ§€
    이 블둝을 λˆ„κ°€ μƒμ„±ν–ˆλŠ”μ§€
    이 λΈ”λ‘μ˜ 크기, 총 μ „μ†‘λŸ‰ 등은 μ–Όλ§ˆμΈμ§€
  • Transaction
    λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλ₯Ό λ³€ν™”μ‹œν‚€λŠ” ν•˜λ‚˜μ˜ 논리적 κΈ°λŠ₯을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•œ μž‘μ—…μ˜ λ‹¨μœ„
  • ACID(κΈˆμœ΅μ•± λ°μ΄ν„°λ² μ΄μŠ€ ꡬ성에 μ€‘μš”!)
    λ°μ΄ν„°λ² μ΄μŠ€ νŠΈλžœμž­μ…˜μ΄ μ•ˆμ „ν•˜κ²Œ μˆ˜ν–‰λœλ‹€λŠ” 것을 보μž₯ν•˜κΈ° μœ„ν•œ μ„±μ§ˆ
    Atomicity μ›μžμ„±: ν•˜λ‚˜μ˜ νŠΈλžœμž­μ…˜ λ‚΄μ—μ„œλŠ” λͺ¨λ“  연산이 μ„±κ³΅ν•˜κ±°λ‚˜ λͺ¨λ“  연산이 μ‹€νŒ¨ν•΄μ•Όν•œλ‹€.
    Consistency 일관성: νŠΈλžœμž­μ…˜ μ „κ³Ό ν›„μ˜ λ°μ΄ν„°λ² μ΄μŠ€μ˜ μƒνƒœλŠ” λ˜‘κ°™μ΄ μœ νš¨ν•΄μ•Όν•œλ‹€.
    Isolation 고립성: 각각의 νŠΈλžœμž­μ…˜μ€ 독립적.
    Durability 내ꡬ성: ν•˜λ‚˜μ˜ μ„±κ³΅λœ νŠΈλžœμž­μ…˜μ— λŒ€ν•œ λ‘œκ·ΈλŠ” 기둝되고 영ꡬ적으둜 λ‚¨λŠ”λ‹€.

λΉ„νŠΈμ½”μΈ, μ΄λ”λ¦¬μ›€μ˜ νŠΈλžœμž­μ…˜ 데이터ꡬ쑰 차이

Nonce의 μœ λ¬΄κ°€ κ°€μž₯ 큰 차이

  • λΉ„νŠΈμ½”μΈ νŠΈλžœμž­μ…˜ 데이터ꡬ쑰
ν•„λ“œμ„€λͺ…
λ²„μ „λ²ˆν˜Έμ±„κ΅΄μžμ™€ λ…Έλ“œκ°€ νŠΈλžœμž­μ…˜ μ²˜λ¦¬μ— μ‚¬μš©ν•  κ·œμΉ™μ„ μ§€μ •ν•˜λŠ”λ° μ‚¬μš©
μž…λ ₯ μΉ΄μš΄ν„°νŠΈλžœμž­μ…˜μ— ν¬ν•¨λœ μž…λ ₯의 개수
μž…λ ₯ λ¦¬μŠ€νŠΈλΈ”λ‘μ˜ 첫 νŠΈλžœμž­μ…˜μ€ μ½”μΈλ² μ΄μŠ€ νŠΈλžœμž­μ…˜. μž…λ ₯ λ¦¬μŠ€νŠΈμ—λŠ” ν•˜λ‚˜ μ΄μƒμ˜ νŠΈλžœμž­μ…˜μž…λ ₯이 포함
좜λ ₯ μΉ΄μš΄ν„°μΆœλ ₯의 개수λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ–‘μ˜ μ •μˆ˜
좜λ ₯ λ¦¬μŠ€νŠΈνŠΈλžœμž­μ…˜μ— ν¬ν•¨λœ 좜λ ₯
Lockμ‹œκ°„νŠΈλžœμž­μ…˜μ΄ μœ νš¨ν•΄μ§€λŠ” κ°€μž₯ λΉ λ₯Έ μ‹œκ°„μ„ μ •μ˜ν•˜λŠ” ν•„λ“œ
  • 이더리움 νŠΈλžœμž­μ…˜ 데이터ꡬ쑰
ν•„λ“œμ„€λͺ…
Nonceλ°œμ‹ EOA에 μ˜ν•΄ λ°œν–‰λ˜μ–΄ λ©”μ‹œμ§€ μž¬μ‚¬μš©μ„ λ°©μ§€ν•˜λŠ”λ° μ‚¬μš©λ˜λŠ” 일련번호
Gas Priceλ°œμ‹ μžκ°€ μ§€κΈ‰ν•˜λŠ” κ°€μŠ€μ˜ 가격
Gas Limit이 νŠΈλžœμž­μ…˜μ„ μœ„ν•΄ κ΅¬μž…ν•  κ°€μŠ€μ˜ μ΅œλŒ€λŸ‰
Recipientλͺ©μ μ§€ μ΄λ”λ¦¬μ›€μ˜ μ£Όμ†Œ
Valueλͺ©μ μ§€μ— 보낼 μ΄λ”μ˜ μ–‘
Dataκ°€λ³€κΈΈμ΄μ˜ λ°”μ΄λ„ˆλ¦¬ 데이터(payload)
v,r,sEOA의 ECDSA디지털 μ„œλͺ…μ˜ 세가지 ꡬ성 μš”μ†Œ

🍟 이더리움 νŠΈλžœμž­μ…˜ λ…ΌμŠ€
λ°œμ‹ μ£Όμ†Œμ˜ 속성이며 λ°œμ‹ μ£Όμ†Œμ˜ μ»¨ν…μŠ€νŠΈ μ•ˆμ—μ„œλ§Œ 의미λ₯Ό κ°–λŠ”λ‹€.
μ€‘λ³΅λ˜μ§€ μ•Šκ³  순차적
νŠΈλžœμž­μ…˜λ§ˆλ‹€ λ…ΌμŠ€λŠ” 1μ”© 증가
λ™μΌν•œ λ…ΌμŠ€λŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€.
같은 λ…ΌμŠ€μ— μ—¬λŸ¬ νŠΈλžœμž­μ…˜ 전솑이 λ°œμƒν•˜λ©΄ κ°€μž₯ 높은 κ°€μŠ€λΉ„λ₯Ό μ§€λΆˆν•œ νŠΈλžœμž­μ…˜μ΄ μ²˜λ¦¬λœλ‹€.
μ΄μ€‘μ§€λΆˆ(Double Spending)을 λ°©μ§€ν•œλ‹€.
λ…ΌμŠ€κ°€ 0인 νŠΈλžœμž­μ…˜ 전솑 ν›„ λ…ΌμŠ€κ°€ 2인 νŠΈλžœμž­μ…˜μ„ μ „μ†‘ν•˜λ©΄, λ…ΌμŠ€κ°€ 2인 νŠΈλžœμž­μ…˜μ„ 멀풀에 μ €μž₯ν•œλ‹€. λ…ΌμŠ€κ°€ 1인 νŠΈλžœμž­μ…˜μ„ μ „μ†‘ν•˜λ©΄ 두 νŠΈλžœμž­μ…˜μ΄ 처리되고 블둝에 ν¬ν•¨ν•œλ‹€.

  • Mempool : 아직 블둝에 듀어가지 μ•Šμ€ μƒνƒœμ˜ νŠΈλžœμž­μ…˜λ“€μ΄ μ–΄λ–€ 곡간에 μžˆλŠ” 것
  • μ΄μ€‘μ§€λΆˆ : μ›λ³ΈνŒŒμΌμ— μ €μž₯된 κ°€μΉ˜λ₯Ό μ§€λΆˆν•œ λ’€ ν•΄λ‹Ή νŒŒμΌμ„ λ³΅μ‚¬ν•˜μ—¬ λ‹€λ₯Έ μ‚¬λžŒμ—κ²Œ 또 μ§€λΆˆν•˜λŠ” 것

πŸ• λͺ¨λ“  νŠΈλžœμž­μ…˜μ€ μΌνšŒμ„±μœΌλ‘œ ν•˜λ‚˜μ˜ νŠΈλžœμž­μ…˜μ€ ν•˜λ‚˜μ˜ μƒνƒœλ§Œ λ³€ν™”μ‹œν‚¬ 수 μžˆλ‹€.
이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄

  • λΉ„νŠΈμ½”μΈμ€ UTXO(Unspent Transaction Outputs)
  • 이더리움은 Account기반 μ‹œμŠ€ν…œμœΌλ‘œ λ…ΌμŠ€κ°’μ„ μΉ΄μš΄ν„°λ‘œ μ‚¬μš©ν•œλ‹€.
profile
상상은 ν˜„μ‹€μ΄ λœλ‹€.

0개의 λŒ“κΈ€