[신뢰의 혁명, 블록체인의 철학 008] '블록체인 기술 개관' 번역 연재 08회. "3 블록체인의 구성요소 중 '3.5 원장', '3.6 블록', '3.7 블록 연결하기'"

in #kr-coin6 years ago (edited)

번역 연재 소개의 말

미국 국립표준기술원(National Institute of Standards and Technology, NIST)에서 2018년 10월 3일에 발간한 "블록체인 기술 개관"(Blockchain Technology Overview) 이라는 66쪽 짜리 보고서 최종본(National Institute of Standards and Technology Internal Report (NISTIR) 8202)을 번역합니다. 이 보고서의 초고는 2018년 1월 24일에 공개되었고, 많은 공개 논평(public comment)를 받아 새롭게 작성되었습니다.


문서와 관련된 자세한 내용은 다음 포스팅을 참고하세요.

[신뢰의 혁명, 블록체인의 철학 001] '블록체인 기술 개관' 번역 연재 01회. "목차"


많은 호응과 후원 부탁드립니다. 그리고 오류가 있으면 거침없이 지적해주세요. 번역물의 저작권은 저에게 있고, 출처와 함께 링크로 퍼가시기 바랍니다. 보팅과 리스팀은 고래도 춤추게 합니다. 맨 아래 dclick 광고 링크도 한 번 눌러주고 가시면 제게 도움이 됩니다.

이번 회는 "3 블록체인의 구성요소 중 '3.5 원장', '3.6 블록', '3.7 블록 연결하기'"입니다.


3.5 원장**

원장은 거래들의 모음collection이다. 역사를 통해 종이와 펜 원장이 재화와 서비스의 교환을 놓치지 않고 기록하기 위해 사용되어 왔다. 현대에 들어 원장은 이용자 커뮤니티 대신 흔히는 신뢰받는 중앙의 제3자(즉 원장 소유자)에 의해 소유되고 가동되는 큰 데이터베이스에 디지털 저장되었다. 중앙 소유된 원장들은 중심화된 방식으로도 분산된 방식으로도 시행될 수 있다(즉, 단 하나의 서버나 서로 조율된 서버 클러스터).

원장의 분산 소유를 탐색하는 일에 관심이 고조되고 있다. 블록체인 기술은 분산 소유와 분산 물리 아키텍처를 이용해 그런 접근을 가능하게 해준다. 블록체인 네트워크의 분산 물리 아키텍처는 전형적인 중앙 관리 분산 물리 아키텍처보다 종종 훨씬 큰 규모의 컴퓨터 집합을 포함한다. 원장의 분산 소유에 대한 고조되는 관심은 중앙 소유 원장과 관련된 신뢰 가능성, 보안, 신뢰도 등에 기인한다.

  • 중앙 소유 원장은 손실되거나 파괴될 수 있다. 이용자는 소유자가 시스템을 적절히 백업했는지 신뢰해야만 한다.

    • 블록체인 네트워크는 설계상 분산되어 있어서, 피어 사이에서 같은 원장 데이터에 업데이트하고 동기화하는 많은 백업 사본이 창조된다. 블록체인 기술의 핵심 이점은 모든 이용자가 자기 나름의 원장 사본을 유지할 수 있다는 점이다. 블록체인 네트워크에 새로운 풀노드가 합류할 때면, 풀노드는 다른 풀노드를 찾기 위해 연락을 취해 블록체인 네트워크의 원장의 전체 사본을 요청하며, 그렇게 해서 원장의 분실이나 파괴를 어렵게 한다.

      주 - 어떤 블록체인 시행의 경우 개인 거래나 개인 채널 같은 개념을 지원할 능력을 갖고 있다. 개인 거래란 전체 네트워크가 아닌 거래에 참여한 노드들에게만 정보 전달을 할 수 있게 해준다.

  • 중앙 소유 원장은 등질적인 네트워크 상에 있으며, 모든 소프트웨어, 하드웨어, 네트워크 하부구조가 똑같다. 이 특성 때문에 시스템 전반의 빠른 회복력이 축소될 수 있는데, 네트워크 한 부분에 대한 공격이 모든 곳에 영향을 미칠 것이기 때문이다.

    • 블록체인 네트워크는 이종적 네트워크이며, 모든 소프트웨어, 하드웨어, 네트워크 하부구조가 모두 다르다. 블록체인 네트워크 상의 노드들 간의 많은 차이 때문에, 한 노드에 대한 공격이 다른 노드들에게 영향을 미친다는 보장이 없다.
  • 중앙 소유 원장은 모든 게 특수한 지리적 장소에(가령 모두가 한 나라에) 위치해 있다. 네트워크 침해가 그 장소에서 일어나게 된다면, 거기에 의존하고 있는 원장과 서비스는 이용할 수 없게 된다.

    • 블록체인 네트워크는 전 세계에서 발견될 수 있는 지리적으로 잡다한 노드로 이루어질 수 있다. 이것 때문에, 그리고 P2P 방식으로 동작하는 블록체인 네트워크 때문에, 어떤 노드의 손실, 심지어 특정 지역 노드 전체의 손실일지라도 빨리 회복된다.
  • 중앙 소유 원장에서의 거래는 투명하지 않게 이루어지며 유효하지 않을 수도 있다. 이용자는 [원장] 소유자가 수신된 각각의 거래를 인가하고 있다고 신뢰해야만 한다.

    • 블록체인 네트워크는 모든 거래가 유효한지 확인해야만 한다. 만약 악성 노드가 유효하지 않은 거래를 전송하면, 다른 노드들은 그 거래를 감지하고 무시해서, 유효하지 않은 거래가 블록체인 네트워크 전체로 전파되는 것을 막아낸다.
  • 중앙 소유 원장에서의 거래 목록은 완전하지 않을 수 있다. 이용자는 [원장] 소유자가 수신했던 모든 유효한 거래를 포함하고 있다고 신뢰해야만 한다.

    • 블록체인 네트워크는 분산 원장 안에 모든 채택된 거래를 간직하고 있다. 새 블록을 건설하려면, 전 블록에 대한 참조가 반드시 있어야만 하고, 따라서 블록 꼭대기에 놓여야 한다. 공표 노드가 가장 최근 블록에 대한 참조를 포함하고 있지 않으면, 드른 노드들은 그 블록을 거절한다.
  • 중앙 소유 원장의 거래 날짜는 바뀌었을 수도 있다. 이용자는 [원장] 소유자가 과거 거래를 바꾸지 않았다고 신뢰해야만 한다.

    • 블록체인 네트워크는 디지털 서명과 암호 해시 함수 같은 암호 메커니즘을 사용해서, 손을 대면 흔적이 분명하게 남고 손 타기 어렵게 되어 있는 원장을 마련한다.
  • 중앙 소유 시스템은 안전하지 않을 수 있다. 이용자는 연관된 컴퓨터 시스템과 네트워크가 중요한 보안 패치를 받고 있으며 보안을 위한 최선의 실천을 해왔다고 신뢰해야만 한다. 시스템은 보안 문제 때문에 뚫려서 개인 정보를 도난당할 수도 있다.

    • 블록체인 네트워크는 분산이라는 본성 덕분에 중심 공격점이 없다. 일반적으로 블록체인 네트워크에서의 정보는 공개적으로 볼 수 있어서 훔쳐갈 거리가 전혀 없다. 블록체인 네트워크 이용자를 공격하기 위해, 공격자는 개별적으로 과녁을 정할 필요가 있다. 블록체인 자체를 과녁으로 정하면 시스템 안에 존재하는 정직한 노드들의 저항을 만나게 되리라. 개별 노드가 패치되지 않는다 해도, 그건 단지 그 노드에만 영향을 줄 뿐, 시스템 전반에는 아무 영향도 없다.

3.6 블록

블록체인 네트워크 이용자들은 소프트웨어(데스크탑 어플리케이션, 스마트폰 어플리케이션, 디지털 지갑, 웹서비스 등)를 경유해서 블록체인 네트워크에 후보 거래들을 제출한다. 소프트웨어는 이 거래들을 블록체인 네트워크 내 노드들에 전송한다. 선택된 노드들은 공표 노드일 수도 있고 비공표 풀노드일 수도 있다. 제출된 거래는 그 다음에 네트워크 내 다른 노드들로 전파되는데, 이 자체로는 블록체인에 거래를 넣는 일은 아니다. 많은 블록체인 시행에서, 미결 거래가 노들들에 분배되고 나면, 공표 노드에 의해 블록체인에 추가될 때까지 대기하며 기다려야 한다.

거래는 공표 노드가 블록을 공표할 때 블록체인에 추가된다. 블록은 블록헤더와 블록 데이터를 포함하고 있다. 블록헤더는 이 블록의 메타데이터를 포함하고 있다. 블록 데이터는 블록체인 네트워크에 제출된 인가되었고 진정한 거래 목록을 포함하고 있다. 거래가 올바로 포맷되었는지, 각 거래에서 (거래의 '입력' 값에 목록이 등재된) 디지털 자산의 제공자가 그 거래 각각을 암호학적으로 서명했는지 점검함으로써 유효성과 진정성이 확보된다. 이는 거래에 디지털 자산을 제공한 자가 이용 가능한 디지털 자산에 서명할 수 있는 개인키에 접속했음을 검증해 준다. 다른 풀노드들은 공표된 블록 내의 모든 거래의 유효성과 진정성을 점검할 것이며, 유효하지 않은 거래가 포함되었을 경우 블록을 수락하지 않을 것이다.

모든 블록체인 시행이 자신만의 데이터 필드를 정의할 수 있다는 점은 유의해야 한다. 하지만 많은 블록체인 시행은 다음과 같은 데이터 필드를 사용한다:

  • 블록헤더
    • 블록 넘버, 이는 어떤 블록체인 네트워크에서는 블록 높이라고 알려져 있음.
    • 전 블록헤더의 해시값.
    • 블록 데이터의 해시 표상 (이를 달성하기 위해 상이한 방법이 사용될 수 있는데, 머클트리(부록B에서 정의됨)를 생성하기, 루트 해시를 저장하기, 또는 모든 결합된 블록 데이터의 해시릉 이용하기 등이 그 예이다).
    • 시간도장(=타임스탬프)
    • 블록 크기
    • 난스 값. 채굴을 사용하는 블록체인 네트워크에서, 난스 값은 공표 노드가 해시 퍼즐을 풀기 위해 조종되는 숫자이다(세부사항은 4.1을 참조). 다른 블록체인 네트워크는 해시 퍼즐을 푸는 일 말고 다른 목적을 위해 난스 값을 포함하거나 이용할 수도 있고 아닐 수도 있다.
  • 블록 데이터
    • 블록에 포함되어 있는 거래들 및 장부 사건들의 목록.
    • 다른 데이터가 들어있을 수 있음.

3.7 블록 연결하기

블록들은 전 블록의 헤더의 해시값을 포함하고 있는 각 블록을 통해 서로 연결되어 있으먀, 그래서 블록체인을 형성한다. 만일 전에 공표된 블록이 바뀌면, 그 블록은 다른 해시값을 갖게 될 것이다. 이렇게 되면 이번엔 그 뒤에 이어지는 모든 블록들 또한 다른 해시 값을 갖게 되며, 그 까닭은 그것들이 전 블록의 해시를 포함하고 있기 때문이다. 이 점 때문에 바뀐 블록을 쉽게 감지하고 거부할 수 있다.

Chaining Blocks.png

출처: BLOCKCHAIN TECHNOLOGY OVERVIEW, pp. 13 ~ 17.


Sponsored ( Powered by dclick )

dclick-imagead

Sort:  

감사합니다. 저녁에 다시 한번 더 읽어봐야겠네요 ^^

블록데이터의 해시릉 ☞ 해시를

아름다운 형아 포스팅 완전 고마워용~♥♩♬

디클릭 ♥ 사랑 함께 응원합니당~!
행복한 불금 ♥ 보내셔용~^^

Posted using Partiko Android

Hi @armdown!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.351 which ranks you at #2392 across all Steem accounts.
Your rank has dropped 6 places in the last three days (old rank 2386).

In our last Algorithmic Curation Round, consisting of 248 contributions, your post is ranked at #214.

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers like your work!
  • Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!

Feel free to join our @steem-ua Discord server

Coin Marketplace

STEEM 0.16
TRX 0.15
JST 0.027
BTC 60244.17
ETH 2333.72
USDT 1.00
SBD 2.47