어디까지나 개발자를 위한 블로체인과 비대면 인증기술
목표
- 블록체인이 무엇인지 이해한다.
- 블록체인의 활용을 알아본다.
- 블록체인 개발을 알아본다
- 비대면 인증 기술을 알아본다.
- 비대면 인증 기술에서 블록체인의 활용을 알아본다.
블록체인의 개요
블록체인이란?
- 블록체인은 분산형 원장 기술을 기반으로 하는 분산형 데이터 저장 및 공유 시스템
- 한마디로 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술
- 블록체인은 네트워크에 연결된 모든 참여자가 데이터를 기록하고 검증
- 각자가 기록을 가지고 해당 연결 알고리즘을 통해 서로의 데이터를 검증
- 데이터의 위변조 방지에 초점을 두고 있음
블록체인의 특징
-
분산형
- 중앙 서버 없이 참여자 간에 분산되어 작동
- 모든 참여자가 블록체인에 기록과 열람
- 모든 참여자들이 합의 알고리즘을 사용하여 데이터를 검증
-
투명성
- 블록체인에 기록된 데이터는 모든 참여자가 열람
-
보안성
- 해시 함수: 데이터를 고유한 값으로 변환, SHA-256 암호화를 사용, 데이터 원본 없이 해시 암호만으로 진위를 구별 가능
- 해시 함수를 사용하는 이유
- SHA-256은 256 비트 길이의 출력 값을 생성
- 이론적으로는 (2^256 + 1)개의 서로 다른 숫자를 SHA-256에 대입하면 충돌 쌍이 발견(중복)
- 2021년 9월 기준, 비트코인 네트워크는 초당 대략 1.2 * 10^20번의 SHA-256 계산을 수행
- 4.0 * 10^86 년 쯤 후에 2^256 번의 해시 계산이 완료되고 비트코인 네트워크를 동원할 수 있는 누군가가 존재한다면 4.0 ^ 10^86 년 후에 해시 충돌을 발견하여 해시 암호화를 풀어낼 수 있음
- 블록체인 구조: 데이터를 블록 단위로 연결하여 저장, 블록 하나를 위변조하려면 모든 블록을 위변조
- 합의 알고리즘: 참여자들이 데이터의 유효성을 검증, 참여자들의 합의가 이루어지지 않으면 데이터가 블록체인에 기록되지 않음
-
신뢰성
- 블록체인은 중앙 서버가 아닌 참여자들이 데이터를 기록, 열람, 저장을 수행
블록체인의 동작
- 참여자들이 원본 데이터에 대한 해시 암호를 기록
- 해시 암호를 모아 완전한 데이터에 대한 모듬 해시 암호를 구성
- 이 때 하나의 해시값이라도 변경된다면 모듬 암호 해시는 값이 완전히 달라짐
- 이 과정에서 여러 해시 암호의 저장과 모듬 해시 암호의 구성에 블럭 구조를 사용
- 블록은 이전 정보와 현재 해시 암호를 저장하는 헤드와 트랜잭션을 수행하는 바디로 구성
- 이렇게 블록에는 해당 블록이 발견되기 이전에 사용자들에게 전파되었던 모든 거래 내역이 이전 블록 정보로 기록되어 있고, 이후 P2P 방식으로 모든 사용자에게 똑같이 전송됨
- 거래 내역을 임의로 위변조하거나 누락시키기 위해선 이전 블록의 정보를 전부 변경해야함
- 따라서 각 블록은 이전 블록의 정보와 현재의 날짜를 쌓고 있으며 이게 마치 블록과 같이 보여 블록체인이라고 함
블록체인의 활용 사례
암호화폐
- 블록체인의 개념을 실재화시킨 첫 기술
- 중앙은행(서버)가 없는 화폐를 위해 P2P 방식으로 화폐를 구성
- 이때 발생하는 문제점을 개선하기 위해 블록체인이 도입
실제 비트코인은?
- 블록체인 기술은 모든 사용자가 모든 내역을 공유, 기록, 증명을 수행
- 이 때 가상화폐의 경우 거래 트랜잭션이 10분 단위로 암호화된 데이터가 저장
- 거래 내역을 통해 각 사용자들이 해당 내용을 작업증명(기록)하기 위해서는 해당 데이터의 암호화를 풀 필요가 있음
그렇다면 GPU는 왜?
실제 채굴의 동작
- 비트코인 발행처에서 SHA-256 해시 암호화로 구성된 해시함수 값을 전달
- 채굴 작업을 진행하는 사용자는 전달 받은 암호화 값에 임의 텍스트를 추가하여 실행
- 출력값이 공식적으로 정해진 값보다 작으면 비트코인을 획득
- 해시값 출력에 대한 공식이 없기 때문에 단순 연산을 무한히 반복
- GPU의 경우 CPU같은 고위 연산을 할 수는 없지만 단순 연산에 대해서는 절대적으로 연산코어 수가 많아 속도가 빠름
비트코인이 안전한 이유는?
- 블록체인 기술은 매 트랜잭션마다 이전 블록 헤더의 기록이 현재 헤더에 기록
- 비트코인은 10분마다 기록이 이루어지는데, 10분 안에 시작부터 현재 트랜잭션까지의 모든 암호화를 풀고 전파해야 위변조가 가능
디파이(DeFi, Decentralized Finance)
- 탈중앙화 금융으로 블록체인을 이용하여 금융결제 시스템을 구성
- 스마트 컨트랙트로 올라간 코드는 블록체인 자체를 해킹하지 않는 한 절대 수정할 수 없
스마트 컨트랙트
- 현재 가장 많이 활용되고 있는 블록체인 활용 기술
- 암호화폐는 블록체인을 통한 자금의 이동, 처리 등에 국한되어있지만 스마트 컨트랙트는 상화 간 이루어지는 업무의 처리 전반에 대해 동작
- 계약 당사자가 사전에 협의한 내용을 미리 프로그래밍하여 전자 계약서 문서 안에 넣어두고, 이 계약 조건이 모두 충족되면 자동으로 계약 내용이 실행되도록 하는 시스템
비대면 인증 기술
블록체인을 활용한 비대면 인증 기술
- 위 기술들을 사용할 때 민감 정보들의 저장에 블록체인을 활용
- 가장 널리 쓰이고 있는 기술은 공인인증서와 주민등록증을 대체하는 DID, 탈중앙화 신원확인 인증 기술
- 블록체인 기술을 도입, 각 이용자가 자신의 데이터를 디바이스 등에 저장하고 사용