CS 스터디 8

전재우·2021년 4월 21일
0

블록체인 (Database) → Append만 가능한 DB (편집 불가능) , 개인이 블록체인을 편집 삭제 수정 을 못한다.

블록 → 정보를 DB에 추가하는 방법, 이전 블록의 해시+데이터⇒ 블록의 해시. 데이터에는 정보가 들어가있다.→ 비트코인의 경우 트랜잭션

해시→ 한개의 인풋을 받으면 한개의 아웃풋을 뱉는다 → 일방향 함수 , 결정론적이다.

일방향 함수 → A→ B는 가능하지만 B→ A를 추론하는것은 불가능

결정론적 → 특정 데이터는 항상 같은 아웃풋을 가진다.

작업 증명 →

마이너 → 블록체인에 들어오는 데이터를 확인하는 일을 한다.

⇒ 마이너가 데이터를 블록안에 넣어서 블록체인에 보내는 역할을 한다.

마이너가 트랜잭션 컨펌을 하게 되면 → 일정한 코인을 받을 수 있다. → 해커들로부터 블로체인이 보호가 가능

그리고 마이너가 네트워크에 블록을 올릴때 일정한 질문의 답을 찾아서 블록을 체인에 올리면서 비트코인이 생성된다 ⇒ coinbase transaction

→ 질문이라는것은

비트코인은 2100만개로 한정 되어있다

블록체인

블록에 데이터를 담아 체인 형태로 연결, 수많은 컴퓨터에 동시에 이를 복제해 저장하는 분산형 데이터 저장 기술이다. 공공 거래 장부라고도 부른다. 중앙 집중형 서버에 거래 기록을 보관하지 않고 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며, 거래 때마다 모든 거래 참여자들이 정보를 공유하고 이를 대조해 데이터 위조나 변조를 할 수 없도록 돼 있다.

![https://velog.velcdn.com/images%2Fjeus95%2Fpost%2F72fa134f-1773-414f-9e00-57faa98df126%2Fimage.png%5D(https%3A%2F%2Fimages.velog.io%2Fimages%2Fjeus95%2Fpost%2F72fa134f-1773-414f-9e00-57faa98df126%2Fimage.png)

블록체인의 시작

나카모토 사토시가 2007년 글로벌 금융위기 사태를 통해 중앙집권화된 금융시스템의 위험성을 인지하고 개인 간 거래가 가능한 블록체인 기술을 고안했다. 이후 2009년 사토시는 블록체인 기술을 적용암호화폐인 비트코인을 개발했다.

블록체인 활용 분야

블록체인에 저장하는 정보는 다양하기 때문에 블록체인을 활용할 수 있는 분야도 매우 광범위하다. 대표적으로 가상통화에 사용되는데, 이때는 블록에 금전 거래 내역을 저장해 거래에 참여하는 모든 사용자에게 거래 내역을 보내주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용한다. 이 밖에도 전자 결제디지털 인증뿐만 아니라 화물 추적 시스템, P2P 대출, 원산지부터 유통까지 전 과정을 추적하거나 예술품의 진품 감정, 위조화폐 방지, 전자투표, 전자시민권 발급, 차량 공유, 부동산 등기부, 병원 간 공유되는 의료기록 관리 등 신뢰성이 요구되는 다양한 분야에 활용할 수 있다.

블록체인의 종류는?

블록체인은 크게 퍼블릭 블록체인프라이빗 블록체인으로 나뉜다. 퍼블릭 블록체인은 모두에게 개방돼 누구나 참여할 수 있는 형태비트코인, 이더리움 등 가상통화가 대표적이다. 프라이빗 블록체인기관 또는 기업이 운영하며 사전에 허가를 받은 사람만 사용할 수 있다. 참여자 수가 제한돼 있어 상대적으로 속도가 빠르다.

블록체인 관련 용어

  • 블록(block)
    블록은 데이터를 저장하는 단위로, 바디(body)헤더(header)로 구분된다. 바디에는 거래 내용이, 헤더에는 머클해시(머클루트)넌스(nounce, 암호화와 관련되는 임의의 수) 등의 암호코드가 담겨 있다. 블록은 약 10분을 주기로 생성되며, 거래 기록을 끌어 모아 블록을 만들어 신뢰성을 검증하면서 이전 블록에 연결하여 블록체인 형태가 된다. 여기서 처음 시작된 블록제네시스 블록이라고 부른다. 즉, 제네시스 블록그 앞에 어떤 블록도 생성되지 않은 최초의 블록을 말한다.
  • 노드(node)
    블록체인은 중앙 집중형 서버에 거래 기록을 보관, 관리하지 않고 거래에 참여하는 개개인의 서버들이 모여 네트워크를 유지 및 관리한다. 이 개개인의 서버, 즉 참여자를 노드라고 한다. 중앙 관리자가 없기 때문에 블록을 배포하는 노드의 역할이 중요하며, 참여하는 노드들 가운데 절반 이상의 동의가 있어야 새 블록이 생성된다. 노드들은 블록체인을 컴퓨터에 저장해 놓고 있는데, 일부 노드가 해킹을 당해 기존 내용이 틀어져도 다수의 노드에게 데이터가 남아 있어 계속적으로 데이터를 보존할 수 있다.
  • 해시함수
    어떤 데이터를 입력해도 같은 길이의 결과를 도출하는 함수이다. 도출되는 결과가 중복될 가능성이 낮고, 결과 값으로 입력 값을 역으로 추정하기 어렵다. 이 때문에 해시 값을 비교하면 데이터의 변경이 발생했는지 파악할 수 있다. 해시함수는 SHA(Secure Hash Algorithm)-1이 처음 고안된 후 더 발전된 형태의 SHA-2(SHA 256)가 나왔는데, 이것을 블록체인에서 사용하고 있다. SHA-2는 어떤 길이의 값을 입력해도 결과가 256비트로 도출된다.
profile
코린이

0개의 댓글