2 minute read

블록체인

블록체인(blockchain)은 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이

P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고

누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술이다. 이는 근본적으로 분산 데이터 저장기술의 한 형태로,

지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다.

블록체인 기술은 비트코인을 비롯한 대부분의 암호화폐 거래에 사용된다.

암호화폐의 거래과정은 탈중앙화된 전자장부에 쓰이기 때문에 블록체인 소프트웨어를 실행하는 많은 사용자들의 각 컴퓨터에서 서버가 운영되어,

중앙에 존재하는 은행 없이 개인 간의 자유로운 거래가 가능하다.

출처 : 위키백과

블록체인은 암호화 화폐의 거래에 있어서

누구나 금융기관의 역할을 하게됩니다.

블록체인 기록을 받으면 블록체인 네트워크의 일원으로서 이 기록을 가진

사람들이 노드 라고 불리며 각자가 서로를 감독하게 됩니다.

이 노드를 과반수 이상이 동의했을때 기록으로서 영구적으로 장부(블록) 에 저장됩니다.

작업증명(Proof of Work)

블록체인에서 블록이 생성되는 합의 과정에서 가장 많은 작업(Work) 를 한 노드가 어느 기록이 참인지 결정할수있는 권한이 더 커지게 됩니다.

블록체인의 작업증명(POW) 과정은 컴퓨팅 연산을 통해 처리되는데,

이 관련 연산을 가장 빠르고 많이 풀수록 기록할 권한이 더 많아지며 보상도 더 커집니다.

해싱

블록에 기록되는 모든 기록은 연산을 거쳐 16진수로 된 숫자로 암호화 하게됩니다.

이를 해싱(hashing) 이라고 합니다.

이 해시값으로 인해 단 한단어라도 수정되거나 추가되면 이전과 완전히 다른 해시값이 되어버립니다.

이 덕분에 내용을 조작하는것이, 즉 위/변조가 거의 불가능하다고 할수있습니다.

블록체인의 이러한 특성으로 인해서 암호화폐라고 불립니다.

작업 증명 과정

작업증명 과정은 컴퓨터 연산을 통해 이루어진다고 했습니다.

논스 (Nonce) 라는 무작위 숫자가 암호화 해쉬함수에 대입되며,

이 논스값을 0부터 1씩 반복해서 늘려가며 여러가지 다양한 해쉬값이 나오게되는데,

이 논스는 블록이 설정해놓은 특정 해시값보다 작은 숫자가 나올때까지 계속됩니다.

블록안에서 nonce 값을 계쏙해서 대입해 결국 블록에서 설정한 숫자보다 낮은 숫자를 찾았을때,

전송한 기록이 암호화 되어 블록에 기록되며 작업이 완료 됩니다.

블록체인 해킹 여부

블록체인을 해킹 하기 위한 시나리오는 두가지 조건을 클리어 해야합니다.

    1. 해당 블록의 해시값을 통해 연결된 모든 블록의 정보를 연쇄적으로 모두 바꿔야합니다.
    1. 10분에 하나씩 생성되는 블록보다 위/변조 정보를 전파시켜야하는데 현존하는 하드웨어의 연산력으로는 불가능에 가깝습니다

네크워크를 다 셧다운 시키는것은 ?

수많은 노드들이 전세계에 걸쳐 있기 때문에 개인 한 명 또는 단일 조직이 이를 모두 컨트롤하는 것은 거의 불가능하다고 할 수 있습니다.

블록체인 으로 만든 데이터베이스

대부분의 블록체인은 이런 유형의 설계에는 적합하지 않으며 이에 필요한 충분한 용량을 갖고 있지 않습니다.

또한 블록체인의 경우 모든 사용자들이 모든 입력내용을 유지, 계산, 업데이트를 책임져야하는데

각 노드가 독립적으로 작동하고 각자의 작업결과를 모든 네트워크의 다른 노드들에게 전달하는 시간이 상당히 오래걸리게됩니다.

블록체인 기술로 데이터베이스를 만드는 실험이 진행중에 있으며 이들의 결과물이 얼마나 유용할지는 아직 입증되지 않았다고합니다.

블록체인의 무결성

충분히 많은 사람들이 비트코인을 소유하면, 비트코인의 가치가 증가하여, 더 많은 사람들이 비트코인을 원하게 되고, 그것이 반복될 수록 가치는 커지게 됩니다.

이러한 보상은 모든 사람들이 네트워크에서 계속 일하게 만듭니다.

그리고 모든 사람들이 블록체인의 블록을 모두 채워 블록을 없애고 나면, 새로운 블록을 만들어 그 과정을 다시 반복하게 되는데, 그 과정은 영원히 반복됩니다.

이것이 바로 블록체인이 구동되는 방식입니다.

그렇기 떄문에 네트워크에서 가장 오래 이어져 온 긴 체인이 가장 정직한 체인임을 보장받을 수 있습니다.

하지만 만약 여러명이 소수를 속이려고 단합한다면 이 경우에는 실패한 네트워크라고 할수있습니다.

이것은 흔히 알려진 51% 공격입니다.

네트워크 안에 있는 대다수의 개인들이 정직하지 않게 변하여 나머지 소수를 속이기로 결정한다면, 그 체인은 목적을 잃게 될 것입니다.

그리고 이것은 블록체인이 붕괴될 수 있는 유일한 취약점입니다. 그것이 일어나기 어렵다는 것을 알지만, 시스템의 취약한 부분들을 모두 알아야 합니다.

블록체인은 군중의 대다수가 항상 정직하다는 가정 하에 만들어진 것입니다.

Reference

https://media.fastcampus.co.kr/knowledge/wtf_blockchain_bitcoin/

https://banksalad.com/contents/%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85%ED%95%98%EB%8A%94-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8%EC%9D%98-%EC%9B%90%EB%A6%AC-%EC%B1%84%EA%B5%B4-%ED%95%B4%EC%8B%9C-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%9E%91%EC%97%85%EC%A6%9D%EB%AA%85-qvCud