#블록체인의 구조 관련 용어 #블록(block)

2024. 11. 12. 14:11#블록체인기술...

728x90
반응형

블록은 데이터를 저장하는 단위로, 바디(body)와 헤더(header)로 구분된다. 바디에는 거래 내용이, 헤더에는 머클해시(머클루트)나 넌스(nounce, 암호화와 관련되는 임의의 수) 등의 암호코드가 담겨 있다. 블록은 약 10분을 주기로 생성되며, 거래 기록을 끌어 모아 블록을 만들어 신뢰성을 검증하면서 이전 블록에 연결하여 블록체인 형태가 된다. 여기서 처음 시작된 블록을 제네시스 블록이라고 부른다. 즉, 제네시스 블록은 그 앞에 어떤 블록도 생성되지 않은 최초의 블록을 말한다.

· 해시함수

해시 함수 예시(출처: 위키피디아)
어떤 데이터를 입력해도 같은 길이의 결과를 도출하는 함수이다. 도출되는 결과가 중복될 가능성이 낮고, 결과 값으로 입력 값을 역으로 추정하기 어렵다. 이 때문에 해시 값을 비교하면 데이터의 변경이 발생했는지 파악할 수 있다. 해시함수는 SHA(Secure Hash Algorithm)-1이 처음 고안된 후 더 발전된 형태의 SHA-2(SHA 256)가 나왔는데, 이것을 블록체인에서 사용하고 있다. SHA-2는 어떤 길이의 값을 입력해도 결과가 256비트로 도출된다.

· 머클트리(Merkle trees)와 머클루트(Merkle root)

머클트리 예시(출처: 이더리움 위키)
머클트리는 블록의 거래 내용을 모두 담고 있는 것으로 해시 값들을 두 개씩 짝지어 트리 모양으로 나타내는 것이다. 해시 트리를 발명한 랄프 머클의 이름을 따 머클트리라고 부른다. 최초의 데이터를 해시 값으로 변환한 후 노드 2개를 합쳐 해시 값으로 변환하는 과정을 하나가 남을 때까지 반복하는데, 마지막 남은 하나를 머클루트라고 한다. 머클루트는 머클트리의 모든 거래 내역을 요약한 데이터로 블록 헤더에 포함된다. 머클트리의 경우 용량이 매우 큰데, 용량이 적은 머클루트 값만 가지고 있으면 다양한 사람들이 거래의 유효성 검사를 할 수 있게 돼 블록체인 보안이 더 강력해질 수 있다.

· 노드(node)
블록체인은 중앙 집중형 서버에 거래 기록을 보관, 관리하지 않고 거래에 참여하는 개개인의 서버들이 모여 네트워크를 유지 및 관리한다. 이 개개인의 서버, 즉 참여자를 노드라고 한다. 중앙 관리자가 없기 때문에 블록을 배포하는 노드의 역할이 중요하며, 참여하는 노드들 가운데 절반 이상의 동의가 있어야 새 블록이 생성된다. 노드들은 블록체인을 컴퓨터에 저장해 놓고 있는데, 일부 노드가 해킹을 당해 기존 내용이 틀어져도 다수의 노드에게 데이터가 남아 있어 계속적으로 데이터를 보존할 수 있다. 블록체인 네트워크의 모든 거래 정보를 모두 가지고 있으면 풀 노드(full blockchain node), 머클트리만 가지고 있으면 라이트 노드(lightweight node)라고 부른다.

· 하드포크(hard fork)와 소프트포크(soft fork)
포크(fork)는 가상화폐의 기반이 되는 블록체인을 업그레이드하는 기술로, 본래 포크는 한곳에서 분기가 발생하는 것을 뜻한다. 포크는 호환성 여부에 따라 소프트포크(Soft Fork)와 하드포크(Hard Fork)로 나뉘는데 소프트포크는 이전 버전과 호환 가능한 업그레이드를, 하드포크는 불가능한 업그레이드를 말한다. 하드포크를 적용하면 이전 버전의 블록체인을 사용할 수 없기 때문에 이전 버전에서 개발, 채굴하던 사용자의 대다수가 업그레이드에 찬성해야 적용할 수 있다. 예컨대 비트코인은 거래 처리 용량을 늘리는 업그레이드 방식을 놓고 비트코인 개발자들과 채굴자들이 대립하면서, 채굴자들의 주도하에 하드포크로 비트코인캐시(BCH)와 비트코인골드(BTG)가 분리됐다.

■ 블록체인 확장성 관련 용어
블록체인의 확장성(scalability)이란 블록체인이 처리할 수 있는 거래용량과 관련이 있는 것으로, '속도비용'이라 할 수 있다. 블록체인은 네트워크상에서 발생한 모든 거래 데이터를 모든 노드가 기록하는 구조로 돼 있다. 이에 아무리 많은 컴퓨터가 연결돼도 컴퓨팅 성능이 단일 노드에 묶여 있게 된다. 따라서 확장성에 있어 한계가 있고, 이를 해결해야 하는 것이 주요 과제가 되고 있다.

· 온체인(on-chain)과 오프체인(off-chain)
온체인(on-chain)은 블록체인 거래를 기록하는 방식 중 하나로, 네트워크에서 발생하는 모든 전송 내역을 블록체인에 저장하는 방식이다. 반면 오프체인(off-chain)은 블록체인 밖에서 거래 내역을 기록하는 방식으로, 이는 온체인에서 해결하지 못하는 확장성 문제를 해결하기 위해서 이뤄진다.

· 라이트닝 네트워크(lightning network)
암호화폐인 비트코인 기반 코드를 바꾸지 않고 네트워크에 추가로 층을 더해, 비트코인 네트워크의 느린 거래 속도와 높은 전송 수수료를 해결하는 확장성 솔루션을 말한다. 라이트닝 네트워크는 수백, 수천 건 이상의 거래를 별도의 채널에서 처리한 후 그 결과만을 단 한 번만 블록체인에 기록하는 방식으로 거래 속도와 수수료를 절감할 수 있다. 즉, 모든 거래가 종료되면 채널을 폐쇄한 뒤 최종 정산 결과 한 건만 블록체인에 기록하기 때문에 확장성 문제를 해결할 수 있는 것이다.
한편, 라이덴 네트워크(raiden network)는 라이트닝 네트워크의 이더리움 버전에 해당한다.

· 플라즈마(plasma)
암호화폐 이더리움의 확장성 이슈를 개선하기 위해 제시된 것으로, 블록체인 기록을 최소화하는 기술이다. 하나의 상위 블록체인이 모든 정보를 처리하던 방식에서 여러 개의 하위 블록체인으로 업무를 분배해 전체 네트워크의 과부화를 방지할 수 있도록 한 것이다.

· 샤딩(sharding)
샤딩은 ‘조각’이라는 뜻으로, 한 곳에 저장돼 있던 데이터를 여러 샤드(수평 분할한 데이터베이스 테이블)에 중복 저장하거나 하나에만 저장할 수 있는 기술을 가리킨다.

· 세그윗(segwit)
비트코인 등 암호화폐의 거래가 급증하면서 블록의 생성 속도와 크기가 문제가 되자, 거래 시 데이터 용량을 줄이기 위한 방법으로 데이터를 분리했는데 이것이 세그윗이다. 다시 말해 세그윗은 블록체인의 외부에서 거래량의 일부를 처리하는 방법을 가리킨다.

반응형
사업자 정보 표시
무지개다리 | 이정우 | 경기 | 사업자 등록번호 : 119-21-98384 | TEL : 010-5585-0941 | Mail : e3706@hanmail.net | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기