개발일지/블록체인

블록 체인은 무엇인가?

자코린이 2021. 11. 30. 20:51

 블록체인은 데이터의 모음인 블록들이 체인으로 묶여 있는 상태를 말한다.

 블록들을 어떻게 체인으로 묶는지 궁금하다면 '해시함수'를 알아야 한다.

일단 처음의 데이터가 있다. 그 데이터를 해시 함수를 사용하여 암호화 한다.

그 다음 추가된 다른 데이터를 전에 나온 해시 함수의 결과와 함께 해시함수로 암호화 한다.

이 과정을 계속 반복하면 데이터가 체인형식으로 묶이는데 이를 '블록체인'이라고 한다.

이렇게 생성된 블록을 블록체인위에 놓으려면 

또 이 체인으로 묶인 블록들을 '노드'라 불리는 다른 컴퓨터와 공유하며 계속 갱신하는 것이 블록체인의 높은  보안성의 키워드이다.

그러므로 한 컴퓨터가 해킹당해도 다른 컴퓨터에서 주기적으로 가져오는 데이터로 인해 해킹이 불가능 하다고 말한다.

이처럼 많은 수의 컴퓨터를 사용하여 암호화와 보안을 강화하여 오직 읽기추가만 가능한 '탈 중앙화 DB' 가 완성된다.

물론 계속 갱신된 데이터를 저장하고 읽어야 하기 때문에 속도가 느리다는 단점이 있다.(확장성)

이는 비트코인의 단점과도 연결된다. '블록체인 트릴레마' 라는 삼각형이 있는데 그 3개는 확장성(scalability), 보안성(security), 탈중앙화(decentralization)

 블록체인 트릴레마

간단히 말하면 속도가 빠르고(확장성) 보안이 좋으면(안전성) 탈중앙화에 실패하고, 탈중앙화 안전성이 높으면 속도가 느리다. 또 탈중앙화와 확장성이 높으면 보안이 안된다는 이론이다.  이점을 유의하여 내가 만들고자 하는 블록체인을 구성하자