블록체인

ki hyun Lee·2021년 5월 29일
2

블록체인

목록 보기
1/4
post-thumbnail

🧐 블록체인?

블록체인이란 데이터를 가지고 있는 블록들이 서로 연결되어있는 체인을 말한다. 블록체인은 데이터베이스의 일종으로 볼 수도 있는데 데이터를 가지고 있는 블록들이 서로 연결되어있기 때문이다.

블록체인이 데이터베이스라면 다른 멋진 데이터베이스도 많은데 왜 굳이 블록체인이지?

라고 생각할 수 있다. 하지만 블록체인의 멋진점은 데이터베이스가 아닌 다른곳에 있다.

1. ➕ Append only (추가만 가능)

이걸 본 개발자들은 충격을 받을 수도 있다. 데이터베이스라면 당연히 추가도 되고 수정도 되고 편집도 되어야 하는데 블록체인은 추가만 할 수 있다니 말이다. 하지만 추가만 가능하다는 건 좋은 일일 수도 있다. 왜냐하면 대학 학위, 비트코인 거래내역 등과 같은 정보들은 절대로 누군가 임의로 수정해서는 안 되기 때문이다.

2. 🏛 탈중앙화

암호화폐에 관심을 가져본 사람이라면 이 말을 한 번쯤은 들어 봤을 것이다. 탈중앙화란 한 개인 혹은 단체가 블록체인을 마음대로 조종할 수 없도록 권력을 분산시킨 것을 의미한다. 그렇기 때문에 블록체인 세계에서는 개발자라도 데이터를 수정할 수 없고 모두가 데이터베이스의 복제본을 가지고 있기 때문에 누군가 자신이 어마무시하게 많은 비트코인이 있다고 거짓말을 해도 자신의 복제본과 비교하여 쉽게 밝혀낼 수 있다는 장점이 있다. 하지만 장점이 있으면 단점도 있는 법 이러한 탈중앙화로 인하여 비트코인은 절대로 끌 수 없다. 비트코인을 끄기 위해서는 비트코인 네트워크를 이루고 있는 모든 컴퓨터를 꺼야 하는데 그건 지구상 모든 전기를 차단하지 않는 이상 불가능하다.

🧱 블록

블록체인은 블록들이 서로 연결되어있는 체인이라고 했는데 블록은 뭐지?

블록은 블록체인에 데이터를 추가하기 위한 유일한 방법이다. 블록체인은 데이터를 저장하기 위해 블록을 사용하는데 이 블록 안에는 블록의 해시, 전 블록의 해시, 그리고 블록체인에 추가하고 싶은 정보가 들어있다.

데이터

먼저 가장 쉬워 보이는 것부터 알아보자. 계속 말하고 있듯이 블록체인은 데이터베이스이기 때문에 아무 데이터나 넣을 수 있다. 비트코인의 경우에는 거래내역이 들어가는 것이고 의료 관련 블록체인에는 의료 관련 정보가 들어가는 것이다.

🧮 해시

해시는 수학에서 배웠던 함수 중 하나이다. 이 함수는 일방향 함수이고 결정론적이라고 하는데 쉽게 말하면 한가지 방향으로만 작동하고 한개의 인풋에는 항상 한가지 아웃풋만 나온다는 것이다.

위에 사진에서 보이는 것처럼 입력값이 하나만 달라졌는데도 출력값은 완전히 바뀌어 버린다. 이러한 특성 덕분에 데이터의 손상 혹은 위조를 쉽게 알아차릴 수 있다.

또한 이 함수는 한 방향으로만 작동하기 때문에 출력값(Output)을 가지고 입려값(Input)을 얻는것은 매우 힘들다. (⚛️ 양자 컴퓨터로는 가능)

⛏ 채굴 (작업 증명)

그렇다면 블록체인에는 누구나 아무 정보나 넣을 수 있는건가?

그럴 수도 있고 그렇지 않을 수도 있다. 만약 그 블록체인이 작업증명을 사용한다면 누구나 아무 데이터나 넣을 수 없다. 그렇다면 이제 채굴에 대해 알아보자!

채굴자

채굴의 핵심인 채굴자는 블록체인에 들어오려고 하는 모든 데이터를 검증한다. 예를 들어 내가 친구에게 100이더를 보내고 싶어한다면 채굴자는 송금과 관련된 모든 사실여부를 체크하고 이 송금이 유효하다는 것이 증명되면 그때서야 채굴자는 내가 보낸 데이터로 블록을 만들어 블록체인에 올리게 된다.

그렇다면 채굴자들은 왜 블록체인을 보호해 줄까?

이유는 간단하다. 돈이 되기 때문이다. 채굴자들은 블록을 블록체인에 올릴 때마다 보상을 받게 되는데 많은 사람들이 그 보상을 노리고 채굴자가 된다.

그렇다면 채굴자가 되면 떼돈을 벌 수 있을까?

절대 그렇지 않다 블록체인에 블록을 올리기 위해서는 네트워크가 제시하는 문제를 풀어야 하기 때문이다. 여기서 네트워크가 하는 질문을 쉽게 말하자면

해시값을 바꾸기 위해 숫자 몇이 필요할까?

얼핏 보기에는 정말 단순하고 쉬워 보이지만 절대 아니다. 해시 함수의 특성상 출력값을 가지고 입력값을 알 수 없기에 0부터 무한대까지 하나하나 대입해가며 확인하는 수밖에 없기 때문이다.

✅ 결론

오늘은 요즘 뜨고있는 블록체인에 대해 알아보았다. 여기까지만 봐도 대단한 기술이지만 사실 블록체인의 혁신은 다른곳에 있다. 다음 포스트에서는 블록체인의 혁신인 2세대 암호화폐에 대해서 알아보자.

profile
Full Stack Developer at Team Verse

1개의 댓글

comment-user-thumbnail
2022년 9월 27일

b

답글 달기