기술조사
[블록체인] 블록체인 개념 정리
eess
2024. 7. 6. 18:14
유튜브 '노마드 코더'의 블록체인 시리즈 및 인터넷 검색을 통해 블록체인 기술과 산업에 대해 정리한 내용입니다.
1. 블록체인이란?
- 말 그대로 블록들이 모여있는 체인으로, '공공 거래 장부'로 불리는 데이터 분산 처리 기술을 말합니다.
- 블록체인은 수정, 삭제가 되지 않고 추가만 가능한 데이터베이스와 같습니다.
- 또한 블록체인은 탈중앙화된 데이터베이스입니다.
- 은행이나 정부 등 특정한 중앙 관리자가 데이터를 관리할 수 없습니다.
- 네트워크에 참여하는 모든 사용자가 데이터의 복제본을 가지고 있습니다.
- 이러한 점 때문에 데이터의 위변조가 어렵고, 정부가 크립토커런시를 감시하거나 통제하기 힘듭니다.
- 따라서 거래내역을 위변조하거나 통제하려면, 네트워크의 모든 사용자가 동시에 컴퓨터를 끄거나 모든 복제본을 공격해야 합니다. 하지만 이는 사실상 불가능에 가깝습니다.
2. 블록이란?
- 블록은 블록체인에 정보를 추가하는 방법입니다.
- 블록 안에는 블록 안에는 '데이터', '블록 해시', '이전 블록의 해시' 와 같은 정보들이 들어있습니다.
데이터
- 데이터는 각종 증명서 등 모든 것이 될 수 있습니다.
- 비트코인의 경우 누가 얼마를 가지고 있고, 누가 누구에게 얼마를 보냈는지 등의 거래 내역이 그 데이터입니다.
블록 해시
- 각 블록은 블록에 들어있는 데이터를 기반으로 만들어진 고유한 해시(hash)를 가지고 있습니다.
- 해시는 해시 함수를 사용해 만들어집니다. 해시 함수는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수입니다.
- 블록체인에서 해시 함수를 사용하는 이유는 해시 함수의 다음과 같은 특징 때문입니다.
- 결정론적 : 동일 input의 output은 항상 같다.
- 단방향 함수 : 역으로 output을 가지고 input을 얻을 수 없다.
- 즉, 해싱하는 데이터가 달라지면 출력되는 해시 값이 다르고, 해시 값에서 원래 데이터로의 역변환이 거의 불가능하기 때문에 데이터의 무결성과 보안을 지킬 수 있습니다.
- 블록체인에서 주로 사용하는 암호화 해시 함수로는 SHA 계열 해시 알고리즘이 있습니다. 비트코인은 SHA-256을 사용하여 256비트의 해시값을 생성합니다.
이전 블록 해시
- 블록체인에서 해시가 중요한 또 하나의 이유는, 해시가 바로 블록들을 체인으로 연결해주기 때문입니다.
- 블록들은 이전 블록의 해시를 가지고 있고, 블록을 생성할 때 이전 블록의 해시 값도 포함해 현재 블록의 해시를 만듭니다.
- 블록체인에 블록을 추가하려면,
- 데이터가 있고,
- 데이터와 이전 블록의 해시를 합쳐서 다시 해싱하고,
- 나만의 해시가 생기면 블록체인에 블록을 추가할 수 있습니다.
- 이렇기 때문에 위변조가 더욱 어려워지는 것입니다. 데이터가 조금이라도 달라지면 해시도 달라지고 모든 블록에 영향이 갈 것이기 때문입니다.