반응형
이중지불이란 무엇인가요? 블록체인 시스템에서 이중지불은 어떻게 방지할 수 있나요?
- 이중지불이란 동일한 하나의 자산이 두명의 수신자에게 동시에 전송되는 문제를 의미한다.
- 블록체인에서는 거래 내역이 블록에 올라가고 확정되기전까지 거래를 완료시키지 않는다. 거래가 기록되어 있는 블록이 체인에 완전히 등록되어야 거래가 확정된다. 그렇기 때문에 이중 지불을 방지 할 수 있다.
Double Spending 문제, Replay Attack 문제, Eclipse Attack 문제 각각 무엇인가요?
- Double Spending은 하나의 자산이 두명의 수신자에게 동시에 전송되는 문제를 의미한다.
- Replay Attack은 송신자의 메세지를 가로채서 메세지 내용을 변경하여 수신자에게 보내는 문제를 의미한다.
- Eclipse Attack은 노드를 교란시키는 공격으로, 특정 노드를 격리시켜 다른 노드로부터 정보를 받지 못하게 하는 공격을 의미한다.
공개키 알고리즘과 대칭키 알고리즘과의 차이점은 무엇인가요?
- 공개키는 비대칭키 암호화 알고리즘으로 데이터를 암복호화할때 서로 다른 키를 사용하는 방식이고, 대칭키는 데이터를 암복호화 할 때 동일한 키를 사용하는 방식이다. 비대칭키 알고리즘은 서로 다른 키를 사용하기 때문에 보안성이높지만 대신 성능이 떨어지고, 대칭키 알고리즘은 같은 키를 사용하기 때문에 보안성이 낮지만 성능은 높다.
Logjam 취약점이란?
- 공격자가 임시 디피 헬만 키 교환을 사용하여 TLS 연결을 다운그레이드 시켜 중간자 공격(MITM)을 통해 사용자와 웹, 또는 이메일 서버간의 암호화 통신을 복호화 하는 취약점이 발견되었고, 디피 헬만 키 길이를 1024bit에서 2048bit로 늘림으로 써 문제를 해결하였다.
HMAC / PKI / ECDSA / ECDH는 무엇인가요?
- HMAC은 Hash-based Message Authentication Code의 약자로 대칭키 방식을 사용하여 디지털 서명을 구현한 것을 의미한다. 데이터를 검증할 때 송신자와 수신자는 같은 키를 공유하고, 송신자는 해당 단일 키, 데이터를 해시한 값, 원본데이터를 수신자에게 보내 데이터의 무결성을 증명하는 방식을 말한다.
- PKI는 Public Key Infrastructure의 약자로 공개키 암호 방식을 사용하여 공개키 암호화와 전자서명을 통해 데이터를 안전하게 주고받을 수 있도록 증명하는 방식이다.
- ECDSA는 Elliptic Curve Digital Signature Algorithm(타원 곡선 디지털 서명 알고리즘)의 약자로 공개키 방식 중 하나인 ECC(Elliptic Curve Cryptography; 타원 곡선 암호)에 디지털 서명 방식을 접목한 알고리즘을 의미한다.
- ECDH는 Elliptic-Curve Diffie-Hellman(타원곡선 디피-헬만)의 약자로 타원 곡선 암호를 이용한 디피 헬만 키 교환 방식을 의미한다.
Diffie-Hellman 키 교환 알고리즘은 무엇인가요?
- 디피 헬만 키 교환 알고리즘은 두 사람이 암호화 되지 않은 통신망을 통해 공통의 비밀 키를 공유할 수 있도록 하는 알고리즘이다.
니모닉 월렛이란? 니모닉 월렛의 작동 방법은 어떻게 되나요?
- 니모닉 월렛은 월렛을 만들 때 시드 키(비밀 키)를 영어단어로 인코딩하여 만든 월렛을 의미한다. 지갑을 만들고 비밀키가 만들어 지면 해당 비밀키를 11bit 단위로 잘라서 각각 사전에 정의된 단어로 치환한다.
HD Wallet과 니모닉 월렛의 차이점이 무엇인가요?
- 기존 HD Wallet은 하나의 시드키를 사용하여 여러 다른 지갑 주소를 만들어 내는 방식이고, 니모닉은 HD Wallet에 이 시드키를 분할하여 영어단어를 치환해놓음으로써 사용자에게 비밀키에 대한 편의를 제공해주는 방식을 의미한다.
삼성 블록체인 키스토어에서 사용하는 월렛은 무엇인가요?
- 콜드월렛으로 반도체기반의 암호 키 관리 기술인 PUF를 적용하여 개인키를 별도의 공간에 저장한다. (참조)
지갑에서 여러 어드레스를 생성하는 방식은 어떻게 되나요?
- 지갑의 시드키로부터 마스터키를 하나 생성하고, 해당 마스터키를 통해 자식 키(어드레스)를 생성한다.
ECC 개인키,공개키는 수학적으로 어떻게 만들어지나요? (비트코인의 secp256k1 소스를 보고 함수를 설명 해 주세요.)
- ECC는 타원 곡선 알고리즘을 의미하며, 타원 곡선 방정식을 통해 개인키, 공개키가 만들어진다. 타원곡선 방정식은 y2= x3+ax+b 이며 secp256k1은 a=0, B=7을 사용한다. (참조)
Group Signature vs Aggregation Signature vs Threshold Signature 의 차이점이 무엇인가요?
- Group Signature는 그룹 구성원이 그룹을 대신하여 메세지에 익명으로 서명할 수 있도록 하는 방법을 의미한다.
- (참조)
SHA-256의 작동 방법은?
- 메세지를 512bit의 배수가 되도록 padding을 추가한다. 512bit 단위로 chunk를 만든다. 해당 chunk를 순회하며 특정 연산을 통해 256bit의 해시값을 생성한다.
영지식증명(ZSK)이란? 이더리움에서 영지식증명은 어떻게 사용되나요?
- 거래 상대방에게 어떠한 정보도 제공하지 않은 채, 자신이 해당 정보를 가지고 있다고 증명하는 방식을 의미한다. 이더리움에서는 영지싱 롤업이라고 하는데, 블록체인 내의 다른 사용자에게 데이터를 공개하지 않고 블록의 유효성을 공개적으로 이더리움 네트워크에 기록하기 위해 사용된다.
블록체인에서 데이터 무결성이 보장되는 이유는? WAL(Write-Ahead Logging)은 무엇인가요?
- 블록체인에서는 합의 알고리즘을 사용하여 블록체인에 참여하고 있는 모든 노드들이 데이터를 검증하고 있기 때문에 데이터 무결성이 보장된다고 이야기 할 수 있다.WAL은 선행기입로그라는 의미로 트랜잭션을 로그에 먼저 기입해 놓는 것을 말한다. (참조)
Consistent Hashing 이란 무엇인가요?
- 요청 또는 데이터를 서버에 균등하게 나누기 위해 해시 기법을 적용한 기술을 의미한다.(참조)
BIP-32, 39, 44가 무엇인가요?
- BIP-32는 하나의 시드키를 사용하여 끝없이 다른 주소를 만들어 낼 수 있는 월렛을 말하며 HD 월렛이라고도 한다.
- BIP-39는 하나의 시드키를 12개의 chunk로 쪼개고, 영어단어 치환하여 사용할 수 있는 니모닉 코드를 제안하였고
- BIP-44는 복수 계정에 대한 복수 지갑을 사용할 수 있는 HD월렛 구조를 제안하였다.
해시 알고리즘에 대해 설명할수 있나요?
- 해시 알고리즘은 해시를 위해 사용되는 알고리즘으로, 임의의 크기를 가진 데이터를 특정 크기의 데이터로 변경시키는 방식을 의미한다. 해당 데이터의 위변조, 무결성 등을 검증하기 위해 사용되며, 해쉬 알고리즘은 대표적으로 sha-256이 있다.
암호화란 무엇인가요? 그리고 블록체인에서 암호화의 역할은 무엇인가요?
- 데이터 보안을 위해 데이터를 해시와 같은 알고리즘을 통해 다른 사람들이 알아볼 수 없도록 변경하고,특정 키를 통해 약속된 사용자만 알아볼 수 있도록 변경해 놓는 것을 의미한다. 블록체인에서는 장부에 기록된 트랜잭션을 보호하고, 암호화폐를 보관하는 지갑의 보안을 위해 암호화를 사용한다.
널리 사용되는 암호화 알고리즘에 어떤 것이 있나요?
- 암호화 알고리즘은 크게 대칭키 암호화, 비대칭키 암호화 방식으로 볼 수 있으며, 대칭키 암호화 방식 중에는 대표적으로 DES, AES 방식을 예로 들 수 있고, 비대칭키 암호화 방식에는 RSA 알고리즘이 있다.
RSA 알고리즘을 설명해주세요. 이 알고리즘은 얼마나 안전한가요?
- 키를 사용하여 데이터를 암호화하는 것은 DES 와 같으나, 암복호화에 같은 키를 사용하는 것 과는 다르게 공개키와 비밀키로 나누어 데이터에 대해 암호화를 진행할때는 공개키로 암호화 하고, 데이터에 대해 복호화를 진행할 때는 개인키를 가진 사람만이 복호화를 할 수 있다. 해당 방식은 특정 데이터에 대해 개인키를 가지고 있어야만 복호화를 할 수 있기 때문에 상대적으로 대칭키 알고리즘 보다는 안전하다고 할 수 있다.
51% 공격이란 무엇인가요?
- 블록체인을 구성하고 있는 노드들의 해쉬파워를 51%가 넘도록 선점하여 악의적인 트랜잭션을 발생 시켜 체인에 등록하는 공격을 의미한다.
블록체인에서 랜덤 함수를 구현하는 방법은 무엇인가요?
- Commit Reveal Scheme 방식을 이용하는 것이다. 블록체인에서는 다른 사용자들이 어떤 행동을 하는지 모두 공개되기 때문에, 남들이 어떤 행동을 하는지 서로 몰라야 한다. Commit Reveal Scheme는 각 사용자가 난수 생성을 위해서 값을 보낼때 값을 암호화해서 보내도록 한다. (참조)
반응형
'BlockChain > CodeStates BlockChain 교육' 카테고리의 다른 글
Project - Blockchain Community(2022.04.19~ 2022.05.02) (1) | 2022.05.02 |
---|---|
블록체인 질문(4) (0) | 2022.03.07 |
블록체인 질문(3) (1) | 2022.03.04 |
블록체인 질문(2) (0) | 2022.03.03 |
블록체인 질문(1) (1) | 2022.03.02 |
댓글