IT 상식

블록체인 원리에 대한 간단한 설명과 예시

728x90
반응형

블록체인

스터디 중에 블록체인에 대한 이야기가 나왔다.

'블록체인이 뭐지?'라는 물음에 쉽게 이해할 수 있도록 설명해주었던 예시가 있어서 기록해본다.

 

블록체인의 기본 원리 예시

  • 어느 그룹에 A, B, C, D가 있다. 이들은 현금 사용 기록을 공유하는 관계에 있다
  • A가 식비 8천 원을 지출 했을 경우, A는 개인 장부에 -8천 원을 기록한다
  • 이때 B, C, D 또한 A가 8천 원을 사용한 내역을 각자의 장부에 기록한다
  • 약속된 날에 A, B, C, D는 모여 각자의 장부를 다른 사람들과 비교한다
  • 일부 내역에 오류나 누락이 있는 경우에 더 많은 사람들이 기록한 내용을 따르는 것으로 합의한다

 

오류가 발생했을 때

C는 A가 지출한 금액을 잘못 알아들어 6천 원을 지출했다고 장부에 기록했다

약속된 날에 모여 장부를 비교했을 때, A의 식비 지출에 대해 A : -8천 원, B : -8천 원, C : -6천 원, D : -8천 원인 것을 확인하였고, 다수가 작성한 기록에 따라 현금은 A가 -8천 원 사용된 것으로 수정한다

 

현실 적용

위의 예시를 현실세계에 적용해보자.

블록체인의 원리는 A, B, C, D의 합의 방식을 따른다. 전 세계 인구 1명당 컴퓨터 1대가 있다고 가정했을 때, 약 70억의 컴퓨터가 지구상에 존재한다. 블록체인의 거래 내역은 서버를 통해 각 컴퓨터에 나눠 기록된다. 블록체인이 현실적으로 해킹이 어려운 이유는 동시에 지구상의 컴퓨터 중 다수를 해킹하기 어렵기 때문이다.

블록체인 해킹을 성공하기 위해서 해커는 다음 조건을 충족시켜야 한다.

  1. 70억대의 컴퓨터 중 35억대(다수의) 컴퓨터를 해킹해야 한다
  2. (서버가 갱신되어 내용이 변경되기 전에) 동시에 이루어져야 한다

만약 서버의 refresh가 넉넉잡아 24시간 마다 이루어진다고 하더라도, 현실적으로 해커의 컴퓨터는 위의 두 조건을 만족시킬 만한 연산 능력을 갖추지 못한다. 따라서 블록체인이 해킹의 위험에서 벗어났다고 '간주'할 수 있게 된다.

 

추가내용

※ 암호학에 대한 간단한 설명

개인적으로 수학을 배울 때는 참 지루하고 어려웠는데, 수학과 출신 분께서 얘기해 주는 story는 매번 흥미롭다.

  • ab라는 암호가 있고 A, B라는 두명의 사람이 있는 상황을 가정한다
  • A는 a에 대해서만 알고 있고, B는 b에 대해서만 알고 있다
  • ab 암호에 대해 A는 a를 이용해서 해독(ab/a = b)이 가능하며, B 또한 해독(ab/b)이 가능하다
  • 그러나 해커 C는 ab(결과값) 만을 갖고서 a, b(요소)를 해독하는 것이 매우 어렵다
  • 일정 시간마다 요소 a, b 값을 변경시켜준다면 해독하는데 난이도는 비약적으로 상승하게 된다
  • '합성수 = 충분히 크고 서로 서로소인 두 소수의 곱' 이기 때문에 소수는 암호학에서 유용하게 사용되고 있다. 블록체인, NFT가 성장하는데 소수가 기여하는 바가 매우 크다고 할 수 있다.

이제 누군가 블록체인이 무엇인지 물어보면, 위 예시를 통해 간결하게 설명할 수 있을 것 같다.