의견.png

"이전블록해시"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(특징)
17번째 줄: 17번째 줄:
 
=== 장점 ===
 
=== 장점 ===
 
[[비트코인]]은 블록체인을 이용해 거래장부를 저장하고 관리한다. 비트코인은 거래 내역을 위·변조하려는 악의적인 해킹에서도 자유롭다. 첫 번째 이유는 블록체인의 구조 때문이다. 블록체인은 새로운 블록이 생성될 때 이전의 블록이 가진 고유한 값(해시값)을 저장하게 돼 있다. 즉 해시값을 통해 모든 블록이 연결되는 셈이다. 만약 누군가 거래 내역을 악의적으로 변조한다면 그 거래 내역이 담긴 블록의 해시값이 바뀔 것이고 그 해시값을 저장하고 있는 다음 블록의 해시 값도 변경된다. 해킹된 블록 이후의 모든 블록 정보가 연쇄적으로 다 바뀌어야 하는데 이는 대단히 어려운 일이다. 더구나 블록체인 장부는 모든 사용자에게 공유돼 있다. 한 개인이 가진 거래장부가 바뀐다고 하더라도 이미 수많은 사용자들이 동일한 장부를 공유하고 있기 때문에 바로 원래대로 복구할 수 있다. 즉 거래 내역을 바꾸고자 한다면 전체 사용자의 과반수 이상의 장부를 동시에 수정해야 한다.<ref>송은정 기자, 〈[http://www.seoulwire.com/news/articleView.html?idxno=122550 4차 산업혁명 중심 블록체인 공공서비스에 접목…안전한가?]〉, 《서울와이어》, 2019-05-02</ref> 이것은 큰 네트워크를 가진 곳에서는 사실상 불가능 한 것이다.
 
[[비트코인]]은 블록체인을 이용해 거래장부를 저장하고 관리한다. 비트코인은 거래 내역을 위·변조하려는 악의적인 해킹에서도 자유롭다. 첫 번째 이유는 블록체인의 구조 때문이다. 블록체인은 새로운 블록이 생성될 때 이전의 블록이 가진 고유한 값(해시값)을 저장하게 돼 있다. 즉 해시값을 통해 모든 블록이 연결되는 셈이다. 만약 누군가 거래 내역을 악의적으로 변조한다면 그 거래 내역이 담긴 블록의 해시값이 바뀔 것이고 그 해시값을 저장하고 있는 다음 블록의 해시 값도 변경된다. 해킹된 블록 이후의 모든 블록 정보가 연쇄적으로 다 바뀌어야 하는데 이는 대단히 어려운 일이다. 더구나 블록체인 장부는 모든 사용자에게 공유돼 있다. 한 개인이 가진 거래장부가 바뀐다고 하더라도 이미 수많은 사용자들이 동일한 장부를 공유하고 있기 때문에 바로 원래대로 복구할 수 있다. 즉 거래 내역을 바꾸고자 한다면 전체 사용자의 과반수 이상의 장부를 동시에 수정해야 한다.<ref>송은정 기자, 〈[http://www.seoulwire.com/news/articleView.html?idxno=122550 4차 산업혁명 중심 블록체인 공공서비스에 접목…안전한가?]〉, 《서울와이어》, 2019-05-02</ref> 이것은 큰 네트워크를 가진 곳에서는 사실상 불가능 한 것이다.
 +
 +
=== 단점 ===
 +
* 느린 처리 속도
 +
 +
블록체인은 여러 가지 장점에도 불구하고 중대한 단점을 가지고 있는데, 바로 "처리 속도가 매우 느리다"는 문제가 있다. 하나의 거래가 발생하면 즉시 처리하지 못하고 다수의 거래내역이 모여 하나의 블록을 구성할 때까지 기다려야 하며, 블록이 구성된 이후에도 네트워크에 분산된 여러 노드들이 검증하고 확인할 때까지 오랜 시간 기다려야 하는 문제가 있다. 예를 들어, 비트코인의 경우 하나의 새로운 블록을 구성하려면 약 10분이 걸리고, 그 블록이 네트워크에서 확인을 받으려면 1시간 이상 기다려야 하는 경우도 자주 발생하고 있다. 그에 따라 비트코인 등 블록체인 기반의 암호화폐를 일상생활에서 결제수단으로 사용하는 것은 사실상 불가능하다. 비트코인 등 암호화폐를 가치의 저장수단으로 이용할 수는 있어도 일상생활에서 결제수단으로 사용하기 어려운 것은 블록체인이라는 알고리즘 자체의 한계 때문이다.
  
 
{{각주}}
 
{{각주}}

2019년 8월 7일 (수) 14:26 판

이전블록해시(previous block hash)는 이전 블록의 주솟값을 알려주는 해시이다. 블록 헤더에 속한다. 이전블록해시 값으로 블록 간의 연결이 이뤄진다. 블록체인은 거래 정보의 묶음인 블록이 실제 체인처럼 연결되어 있지는 않지만, 뒤의 블록이 앞의 블록을 참조하고 또 뒤의 블록이 앞의 블록을 참조하는 모양에서 마치 체인 형태로 연결된 모습에 블록체인이라고 부르게 되었다.

개요

체인(Chain)은 블록들이 이전 블록 해시값을 이용하여 서로 연관되는 형태로 블록들을 연결한다. 이로써 데이터 변조도 방지된다. 블록체인에서 '블록'은 '헤드(Head)'와 '바디(Body)'로 나뉜다. 블록 바디엔 여러 거래 기록이 머클트리(Merkle Tree)로 불리는 구조로 구성된 후 저장된다. 이렇게 하면 블록 바디 전체를 대표하는 암호 해시가 만들어진다. 블록 헤드엔 블록 바디 암호 해시 등 여러 가지 정보가 기록된다. 블록 헤드 또한 하나의 문서와 같은 만큼 암호 해시를 구할 수 있다. 이 블록 헤드 암호 해시는 다음에 만들어지는 블록에 전달되는데, 다음 블록 입장에서 보면 이는 앞서 주의 깊게 봐둔 이전 블록 헤드 암호 해시다. 즉, 다음 블록 입장에서 보면 내 블록 헤드의 암호 해시가 다음 블록 헤드에 저장되는 이전 블록 헤드 암호 해시가 되는 것이다. 블록체인이란 명칭은 이처럼 "이전 블록 헤드 암호 해시가 다음 블록에 저장되는 행태의 반복"이란 뜻에서 붙여졌다.[1] 각 블록이 이전 블록의 해시 정보를 가지고 있기 때문에 각 블록이 서로서로 연결되어 있는 구조가 될 수 있다.

특징

이전블록해시는 문자 그대로 바로 앞의 블록 해시(Block Hash)로, 새로 생성되는 블록의 유효성을 검증하는 데 활용된다. 블록 해시는 블록의 식별자 역할을 수행한다. 블록 해시는 쉽게 말해 '블록'의 이름 정보라고 할 수 있다. 블록 해시는 블록 헤더 정보인 버전, 이전블록해시, 머클루트, 타임, 비트, 논스 정보를 모두 더하여 합을 구한 후 SHA 256방식으로 변환된 결과 값이다. 이전블록해시 정보는 새로운 블록이 생성되는 시점에서 바로 이전 블록의 블록 해시 정보를 참조한다. 블록이 생성되는 시점에서 이전 블록 해시 정보를 참조함으로써 블록과 블록이 연결 리스트(Linked list)형태로 연결된 자료구조를 가질 수 있다. 예를 들어 1000번째 블록의 이전블록해시 정보는 999번째 블록의 블록 해시 정보를 참조하고 있으며, 999번째 블록 또한 마찬가지로 이전 블록인 998번째 블록의 블록 해시 정보를 참조하게 된다. 이러한 방식으로 최초의 블록인 제네시스 블록까지 모든 블록이 시간의 흐름 순서에 따라 연결되어 있으며, 블록과 블록이 이러한 방식으로 체인 형태처럼 연결되어 있다고 하여 블록체인이라고 표현하는 것이다.[2] . 제네시스 블록은 블록체인의 첫 번째 블록이므로 이전블록해시를 포함할 필요가 없다. 블록체인은 결국 이전블록해시가 다음 블록의 한 구성요소가 되는 방식으로 체인처럼 연결되는 것으로 해시값이 맞지 않으면 다음 블록으로 자격을 갖추지 못하게 된다.

블록 헤더는 80 바이트이다.

  • 버전 번호 : 4 바이트
  • 이전블록헤더 해시 : 32 바이트
  • 머클 루트 : 32 바이트
  • 타임 스탬프 : 4 바이트
  • 비트 : 4 바이트
  • 논스 : 4 바이트

장점

비트코인은 블록체인을 이용해 거래장부를 저장하고 관리한다. 비트코인은 거래 내역을 위·변조하려는 악의적인 해킹에서도 자유롭다. 첫 번째 이유는 블록체인의 구조 때문이다. 블록체인은 새로운 블록이 생성될 때 이전의 블록이 가진 고유한 값(해시값)을 저장하게 돼 있다. 즉 해시값을 통해 모든 블록이 연결되는 셈이다. 만약 누군가 거래 내역을 악의적으로 변조한다면 그 거래 내역이 담긴 블록의 해시값이 바뀔 것이고 그 해시값을 저장하고 있는 다음 블록의 해시 값도 변경된다. 해킹된 블록 이후의 모든 블록 정보가 연쇄적으로 다 바뀌어야 하는데 이는 대단히 어려운 일이다. 더구나 블록체인 장부는 모든 사용자에게 공유돼 있다. 한 개인이 가진 거래장부가 바뀐다고 하더라도 이미 수많은 사용자들이 동일한 장부를 공유하고 있기 때문에 바로 원래대로 복구할 수 있다. 즉 거래 내역을 바꾸고자 한다면 전체 사용자의 과반수 이상의 장부를 동시에 수정해야 한다.[3] 이것은 큰 네트워크를 가진 곳에서는 사실상 불가능 한 것이다.

단점

  • 느린 처리 속도

블록체인은 여러 가지 장점에도 불구하고 중대한 단점을 가지고 있는데, 바로 "처리 속도가 매우 느리다"는 문제가 있다. 하나의 거래가 발생하면 즉시 처리하지 못하고 다수의 거래내역이 모여 하나의 블록을 구성할 때까지 기다려야 하며, 블록이 구성된 이후에도 네트워크에 분산된 여러 노드들이 검증하고 확인할 때까지 오랜 시간 기다려야 하는 문제가 있다. 예를 들어, 비트코인의 경우 하나의 새로운 블록을 구성하려면 약 10분이 걸리고, 그 블록이 네트워크에서 확인을 받으려면 1시간 이상 기다려야 하는 경우도 자주 발생하고 있다. 그에 따라 비트코인 등 블록체인 기반의 암호화폐를 일상생활에서 결제수단으로 사용하는 것은 사실상 불가능하다. 비트코인 등 암호화폐를 가치의 저장수단으로 이용할 수는 있어도 일상생활에서 결제수단으로 사용하기 어려운 것은 블록체인이라는 알고리즘 자체의 한계 때문이다.

각주

  1. 박용범, 〈블록체인 기술의 핵(核), ‘암호 해시’ 파헤치기〉, 《삼성뉴스룸》, 2018-08-09
  2. keepit, 〈KEEP!T Column 비트코인 뽀개기(3편)〉, 《스팀잇》, 2018-04-26
  3. 송은정 기자, 〈4차 산업혁명 중심 블록체인 공공서비스에 접목…안전한가?〉, 《서울와이어》, 2019-05-02

참고자료

같이 보기


  의견.png 이 이전블록해시 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.