[블록체인] 분산원장 (2)

dhkim·2022년 7월 5일
0

블록체인 뽀개기

목록 보기
15/22
post-thumbnail

탭 루트(Tap root)
탭 루트
비트코인의 스크립트를 개선하여 프라이버시를 향상시키고 복잡한 트랜잭션과 관련된 요소를 개선하기 위한 소프트 포크

탭루트 특징
프라이버시, 확장성, 보안을 강화하기 위해 비트코인 스크립트 작동 방식에 변화를 주는 것

슈노르 서명
독일의 수학자이자 암호학자인 클라우스 슈노르가 개발한 암호학적 서명 체계

슈노르 서명 특징
복잡한 비트코인 트랜잭션 내에 다수의 키를 포함할 수 있고, 단일하고 고유한 서명을 생성할 수 있다.

탭루트와 슈노르 서명의 적용 in 비트코인
프라이버시
단일한 하나의 트랜잭션처럼 보내는 주소와 받는 주소만 확인 가능
확장성
블록체인상에서 전송 및 저장해야 하는 데이터양의 감소
블록당 더 많은 트랜잭션 처리(더 높은 TPS 비율)
더욱 저렴한 트랜잭션 수수료
보안
서명을 더 이상 변경할 수 없게 되어 이중 지불 문제 해결

블룸 필터(Bloom Filter)
블룸 필터
특정 원소가 집합에 속하는지 검사하는데 사용할 수 있는 확률형 자료 구조
블룸 필터 특징
길이 N의 이진 배열(Binary array)과 1부터 N까지의 출력값을 갖는 M개의 해시함수를 가지고 있다고 했는데 이 N과 M을 조절함으로써 정확도와 프라이버시 보호 수준을 조절할 수 있다.
블루 필터 사용 예
블룸필터는 처리능력 대비 적은 메모리 공간이 있어야 하는 장점 때문에 DB 이외에도 많은 곳에서 사용되고 있다.

  • IP 주소 검색 및 차단 필터링
  • 문자열 맞춤법 교정
  • 가상화폐
  • 라우터
  • 크롬 브라우저
  • 빅데이터 환경

DAG(Directed Acyclic Graph)
방향 그래프 중 순환이 발생하지 않은 그래프

DAG(Directed Acyclic Graph) 특징
한 정점에서 시작해 다시 해당 정점으로 돌아오지 않은 일방향성
트랜잭션 처리 속도
채굴이 없다
확장성 문제에서 비교적 자유로움

암호화폐에서의 DAG(Directed Acyclic Graph)
일반적으로 암호화폐 플랫폼에서는 데이터 구조로 블록체인을 사용하지만, 블록체인 대신 DAG를 사용하는 경우도 있다.
DAG를 사용한 플랫폼

  • IOTA
  • ByteBall

DHT(Distributed Hash Table)

해시 테이블을 활용해, 키-값 쌍 방식으로 데이터를 검색하는 분산형 데이터베이스

DHT와 HT의 차이

해시테이블은 실제 값에 해시함수를 적용하여 형성한 키 또는 식별자의 조합에 대해 배열을 사용하여 빠른 검색을 하기 위한 자료 구조
분산해시테이블은 이 해시테이블을 네트워크 환경에 위치한 노드들에 분산하여 적용한 것

IPFS(InterPlanetary File System)

IPFS는 Git, BitTorrent, Kademlia, Bitcoin 등과 같은 서비스에서 영감을 받아 시작한 무료 오픈 소스 프로젝트로 분산형 파일 시스템에 데이터를 저장하고 인터넷으로 공유하기 위한 프로토콜(or P2P 네트워크)이다.

기존(HTTP)의 방식과 다른 IPFS

  • 기존 HTTP 프로토콜 방식은 데이터가 위치한 곳의 주소를 찾아가서 요청한 콘텐츠를 한번에 가져오는 방식
  • IPFS는 전 세계 여러 컴퓨터에 분산 저장되어 있는 각 데이터 조각으로 잘게 나눠서 가져온 후 하나로 합쳐서 보여주는 방식으로 동작

IPFS 사용 예

  • 프로토콜
  • 파일 시스템
  • 모듈러
  • 암호화
  • p2p
  • CDN
  • 네임 서비스

프루닝(Pruning)

프루닝은 경량화 기법의 하나로, 인공 지능(딥러닝)분야에서 검색 모델을 학습한 후에 불필요하거나 중요도가 낮은 노드 등을 제거하는 기술

비트코인에서의 프루닝

비트코인에서 '블록체인 크기의 가속화된 성장'이란 문제를 해결하기 위해 Block file pruning 이라고 불리는 것을 bitcoin core 0.11.0 version에 추가하였다.

  • block pruning 을 통해 작은 버전의 '풀 블록체인'을 실행
  • 최신 블록체인을 다운로드하는 동안 필요하지 않은 오래된 데이터를 삭제
  • purne mode에서 지갑을 실행하게 되면 이전 트랜잭션과 오래된 체인 기록이 삭제되어 디스크 공간을 절약

이더리움에서의 프루닝

이더리움에서 '사용자가 늘어나게 되면 당연히 이더리움의 어카운트가 계속 늘어나고, 수정 사항이 늘어나자 이는 계산이 버거워지고 느려지는 것'을 해결하기 위해 State Trie Pruning 을 도입

  • MPT(Modified Merkle Particia Trie)로 인하여, 빠른 Hash 계산
  • 새로 삽입되는 노드의 수를 최소화
profile
Blockchain developer

0개의 댓글