All) bitcoin

·4 min read
  • bitcoin_wallet은 wallet_program 또는 wallet_file을 말한다.

  • wallet은 satoshi

 

 

  • 1970년대 공개키_암호방식(PKC, Public Key Cryptography)

  • Hashing : 어떠한 크기의 데이터라도 고정된 크기의 값으로 변환하는 과정을 말한다.

  • Hash_Function : Hashing하는 로직을 수행하는 Function을 말하며, 그 결괏값을 Hash_value 또는 Message_digest라 한다.

  • Hash_Function_with_cryptography : 고유한 디지털 지문으로 사용될 수 있는 Hash_value를 생성해서, input-data(message)가 조금이라도 변경되면 결과값(Hash_value)는 완전히 달라진다. 이는 데이터의 진위성을 검증하는데 광범위하게 사용되는 이유이다.

 

  • PKC : 하나의 public_key와 하나의 private_key로 이뤄진 한 쌍의 키를 사용하는 암호화 시스템을 말한다.

-- 두 keys는 수학적으로 연관되어 있고, data_cryptography(데이터 암호화)와 digital_signature(디지털 서명)에 모두 사용한다.

-- 가장 기본적인 cryptography_tool(암호화 도구)인 symmetric_key_cryptography(대칭형 암호화)보다 안전하다.

-- ??오래된 시스템은 정보를 암호화되고 해독하기 위해 동일한 키를 필요로 하지만,??

-- PKC는 공개 키를 통해 데이터를 암호화하고, 상응하는 개인 키를 통해 데이터를 해독을 가능하게 합니다.

-- 이외에도 디지털 서명 생성에도 적용될 수 있으며,

---- 기본적으로 서명자(보내는 사람)의 개인 키를 통해 메시지를 해싱하고, 수신자(받는 사람)은 서명자의 공개키를 사용해 서명이 유효한지 확인할 수 있다.

-- 특정 상황에서 디지털 서명에 암호화가 포함될 수 있지만, 항상 그런것은 아니다.

-- 비트코인은 PKC와 디지털 서명을 사용하지만 해당과정이 암호화가 포함되지 않는다.

---- 비트코인은 타원 곡선 디지털 서명 알고리즘(ECDSA)를 사용해 트랜잭션을 검증한다.

 

서명

  • message(unsignedTransation)는 public_key로 hashing되고, hash_value(message_digest)는 private_key로 서명되며, 메시지 수신자(blockchain_node)는 public_key(private_key에 상응하는)를 통해 유효성을 확인할 수 있다.

 

디지털 서명의 중요성(데이터 무결성, 진위성, 부인 방지)

  • 데이터 무결성 : 메시지가 전송되는 동안 변경된 경우 수신자는 public-key를 통해 메시지에 변경이 발생함을 확인할 수 있다.

  • 진위성 : private-key가 안전하게 보관되는 한, private-key 소유자가 생성한 서명된 메시지임을 확인할 수 있다.

  • 부인방지 : 진위성과 비슷하게, 이미 서명된 것은 부정할 수 없음

https://academy.gopax.co.kr/dijiteol-seomyeongiran-mueosingayo/

===== ===== ===== ===== ===== ===== ===== ===== ===== =====