블록체인에서 개인키(private key), 공개키(public key), 그리고 서명(signature)은 암호학적인 개념들로 ,안전하고 신뢰성 있는 트랜잭션을 보장하기 위해 사용됩니다.
지갑의 구성 및 역할
- 기본적으로 암화화폐를 안전하게 보관할 수 있고, 암호화폐를 전달하거나 받을수 있다.
- 자신의 소유권을 함호화 방식을 증명 지갑의 개인키를 사용해서 거래의 검증하고 본인의 자산을 관리
- 본인의 암호화폐의 보유량도 확인
- 지갑의 거래내역 확인
- 복구 문구를 사용해서 지갑복원(복구 문구를 가지고 특정 알고리즘을 거쳐서 개인키를 추출한다.)
신원 인증 방식 분산 원장기술
개인키(Private Key)
- 개인키는 블록체인 지갑의 주인만이 알고 있는 비밀 키입니다.
- 일련의 무작위 바이트로 구성되며, 매우 큰 숫자입니다.
- 이 개인키는 블록체인에서 자신의 소유자를 식별하고 , 트랜잭션에 서명하는데 사용됩니다.
- 블록체인 기술은 개인키를 안전하게 보호하고 관리하는 것이 매우 중요하며, 개인키가 노출되면 해당 지갑의 자산이 위험에 처할 수 있습니다.
공개키(Public key)
- 공개키는 개인키를 기반으로 생성되는 키로, 개인키와 연관되어 있습니다.
- 공개키는 블록체인 네트워크에 공개되어 있으며, 누구나 해당 지갑에 대한 트랜잭션을 확인 할 수 있습니다.
- 개인키는 주로 지갑 주소로 변환되어 사용되며, 누군가가 자신에게 코인 전송할 때 사용됩니다.
- 개인키와 공개키는 수학적으로 연결되어 있으며, 한 쌍의 키로써 서로에게 반대되는 역할을 합니다.
서명(Signature)
- 트랜잭션에 대한 서명은 해당 트랜잭션이 개인키의 소유자에 의해 생성되었음을 증명하는 디지털 서명입니다.
- 개인키를 사용하여 트랜잭션에 서명하면 , 블록체인 네트워크는 해당 트랜잭션이 유효하다는 것을 확인 할 수 있습니다.
- 서명을 통해 트랜잭션의 무결성(트랜잭션이 변조되지 않았음을 의미)과 인증이 보장되며, 이를 통해 중요한 정보가 변조되지 않고 안전하게 전송되는 것을 확인 할 수 있습니디.
암호화 방식
- 대칭형: 암호화 복호화 할때 사용하는 키가 동일한 한개의 키를 사용한다. 암호화를 시킨 사람과 수신된 사람이 같은 키를 사용한다.
- 비대칭형: 사용하는 키와 검증할때 사용하는 키가 다른것 키가 두개 다른 사람에게 공개되어서는 절때 안되는 키(비밀키)를 토대로 만든 공개키가 한다
비밀키와 공개키의 역할
- 공개키 : 상대방에게 공개하는 키
- 비밀키 : 본인만 알고 있어야하는 키 암호문을 검증할때 사용
- 비밀키 소유자는 비밀키로 데이터를 암호화하고 공개키를 같이 전달
- 공개키로 암호문을 받은 사람이 공개키를 가지고 검증을 할 수 있다.
- 공개키 데이터를 검증하는 목적은 데이터를 제공한 사람이 맞는지 신원을 보장 해주기 위한것.
순서
- 암호화 하고 싶은 데이터를 SHA256 방식의 해싱을 하고
- 개인키를 사용해서 해시 값으로 서명을 생성
- 서명이랑 공개키는 제 3자에게 전달 되고
- 받은 제 3자는 공개키를 이용해서 서명을 검증.
secp256k1
- secp256k1은 타원 곡선 암호학(elliptic curve cryptography, ECC)에서 사용되는 알고리즘 중 하나입니다.
- 특히, 비트코인과 같은 암호화폐에서 주로 사용됩니다. 비트코인의 주소 생성, 서명 검증 등에 이 알고리즘이 활용됩니다.
- secp256k1은 타원 곡선의 방정식에 기반한 알고리즘이며, 해당 알고리즘은 특정한 소수 필드 위에서 정의됩니다.
타원 곡선 암호학은 컴퓨터 보안 분야에서 중요한 역할을 하는데, 그 중에서도 secp256k1은 블록체인 분야에서 매우 널리 사용되고 있는 알고리즘 중 하나입니다.
'Blockchain' 카테고리의 다른 글
DID(분산신원증명) 개념 (1) | 2024.02.15 |
---|---|
[Blockchain] 데이터 구조 header/body (1) | 2024.01.23 |
[Blockchain] Merkle (0) | 2024.01.23 |