사랑하애오

Q1. 블록체인 등장 배경은?


 2008년 금융위기에 무분별한 화폐 발행으로 인해 금융당국에 대한 신뢰가 부족해지면서 사토시 나카모토가 이에 반발해
중앙기관 없이 금융거래를 할 수 있는 비트코인을 개발하면서 나오게 된 기반 기술이다.
 비트코인은 기존 금융 서비스와 다르게 화폐를 발행하는 기관도 이를 운영해주는 은행과 카드사 등 없이 개인간의 직접 금융 거래가 가능호도록 구성되어 있다.

 

Q2. 블록체인의 4대 요소 기술은?


 분산된 네트워크 환경에서 운영자 없이 진행되는 환경에서 필요한 기술이 적용되어 있다.

 먼저 사용자의 개인정보를 보호하기 위한 암호학 기술과 서로 다른 사용자들이 참여하게 되어 구성된 분산 네트워크,
 이러한 네트워크에서 동작하는 데이터 관리를 위한 블록,
 마지막으로 분산된 참여자들 사이에서 하나의 블록체인을 유지하기 위한 합의 알고리즘이 대표적인 4대 요소 기술이다.

 

Q3. 블록체인의 트릴레마와 각 요소에 대한 의미는?


 블록체인의 트릴레마란 확장성, 탈중앙성, 보안성 3가지 중 2가지 이상의 요소를 만족할 수 없다는 것이다.

 확장성은 블록체인 네트워크에서 처리할 수 있는 트랜잭션 처리 용량을 의미한다.
 보안성은 네트워크에 악의적인 참여자가 어느정도 참여했을 때에도 위변조 데이터를 탐지 제거할 수 있는 것을 의미한다.
 탈중앙성은 블록체인 네트워크 참여자나 블록 생성자가 얼마나 다수의 참여자들에 의해서 운영이 되는 것을 의미한다.

 비트코인은 보안성과 탈중앙성을 높이는 대신 확장성을 낮춘 블록체인이다.

 

Q4. 암호학에서 대칭키와 비대칭키 방식의 차이점은?


 암호학에서 대칭키란 하나의 비밀키를 가지고 암호화와 복호화를 모두 진행하는 방식이며,
비대칭키 방식이란 공개키와 비밀키를 생성하고 그 중 하나의 키를 통해서 암호화를 진행하고, 다른 키로 복호화를 진행하는 방식이다.

 공개키와 비밀키 중 어떤 키로 암호화를 진행하느냐에 따라 데이터의 공개 비공개 여부가 바뀌게 된다.

 블록체인에서는 모든 사용자가 데이터를 확인할 수 있어야 하기 때문에 비밀키를 통해서 암호화가 이루어진다.

 

Q5. ECDSA란?


 암호 기반의 서명방식 중 하나로 타원곡선(ECC)를 이용한 서명방식을 지칭한다.

 비트코인, 이더리움에서 공개키 생성과 서명 등에 사용되며,
기존 산업에 사용되던 RSA에 비해서 더 작은 bit 데이터로 동일한 보안성을 제공하기 때문에 사용되고 있다.

 

Q6. 비트코인에서의 암호화 기술을 사용하는 이유는?


 비트코인에서 암호화 기술을 사용하는 이유는 주소만을 사용한 거래를 통해서 개인의 신원을 보호하기 위해서 이용된다.

 암호화를 통해 생성된 주소를 이용을 하게되면, 사용자의 익명성을 보호하면서 그 주소에 대한 서명을 통해서 거래 부인 방지가 가능하다.

 또한 해시알고리즘을 이용하여 블록체인 내부의 위변조를 검출할 수 있다.

 

Q7. 비트코인에서 address를 생성하는 과정은?


 비밀키로 쓰일 256bit의 랜덤한 숫자를 하나 선택한다.

 그리고 타원곡선알고리즘을 통해서 공개키를 생성한다.
 공개키를 SHA256, RIPEMD-160을 통해서 해시값을 구한 뒤 Base58Encode를 통해서 address를 획득한다.

 

Q8. 비트코인에서 거래 서명을 생성하고 검증하는 과정은?


 트랜잭션과 임의로 생성된 랜덤값을 SHA256 해시함수를 통해서 해시를 2번 진행하고 나온 데이터에 대해 비밀키를 통해서 서명 진행.

 서명 데이터를 공개키로 복호화한 데이터와 전달 받은 거래 데이터의 해시 데이터와 비교하여 동일한 경우 정상적인 데이터로 검증.

 

Q9. 해시 알고리즘에 있어야 할 필수적인 특성은?


 해시 알고리즘은 2가지 특성을 꼭 가지고 있어야 한다.

 먼저 단방향 알고리즘으로 해시 함수를 통과한 뒤 나온 결과에서 원본 데이터를 도출할 수 없어야 한다.

 그리고 충돌 방지성이 있다.
 서로 다른 원본 데이터 2가지를 동일한 해시 함수를 통과시키고, 나온 결과값은 항상 달라야 한다.

 

Q10. 비트코인에서 사용되는 해시 알고리즘의 대표적인 예는?


 비트코인에서 사용되는 가장 대표적인 해시 사용 예는 Merkle Tree다.

 Merkle Tree란 블록 내에 있는 트랜잭션 데이터들의 위변조가 되지 않았음을 확인하기 위해
블록 내 트랜잭션을 2개씩 짝 지어서 트리 형태로 해시를 진행하고,
최종적으로 Root Hash 값을 블록 헤어 내에 포함하는 것이다.

 

 

출처 : 패스트캠퍼스 블록체인 A to Z
profile

사랑하애오

@사랑하애

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!