암호 고전적인 암호 : 카이사르 암호 암호화하려는 내용을 알파벳별로 일정한 거리(distance, d)만큼 밀어서 다른 알파벳으로 치환하는 기법. 암호를 풀거나 만들 떄 알아야 하는 정보 : 키(Key) 대칭키 암호 / 비대칭키 암호 평문(Plain Text)이란 암호화 되어 있지 않은 문자열 의미 암호화 : 평문 → 암호 (cipher, encrypt) 복호화 : 암호 → 평문 (dechipher, decrypt) 대칭키 암호 : 암호화 사용 키 == 복호화 사용 키 비대칭키 암호 : 암호화 사용키 =! 복호화 사용 키 비대칭키(공개키) 암호 두 개의 키를 사용하여 암/복호화 실행 공개키(PK) = 암호화에 사용되는 키 비밀키(SK) = 복호화에 사용되는 키 비밀키 ⇒ 공개키 : 쉬움 공개키 ⇒ 비밀키..
Nons = garbage값을 해쉬에 집어넣는것 PoW(Proof of Work, 작업증명) PoS(Proof of Stake, 지분증명) BFT-variants(Byzantine Generals Problem, 비잔틴 장애 허용) 제안자격 취득 방법 계산이 어려운 문제를 풀 것 새로운 Nons를 계속 주고 만약 앞에 00000이 몇개 있으면 인정. 플랫폼 토큰을 보유한 양과 기간에 따라 결정적으로 또는 확률적으로 뽑힐 것 정해진 순번 또는 정해진 확률에 의해 뽑힐 것 네트워크 참여 제한 없음 없거나 낮음 높음 합의에 필요한 연산량 높음 낮음 낮음 위협 전체 연산량의 51%를 한 참여자가 소유할 경우 중앙화됨 전체 토큰의 51%를 한 참여자가 소유할 경우 중앙화됨 전체 참여노드의 1/3 이상이 담합할 경..
블록체인 네트워크 블록체인 : P2P(peer-to-peer network) 네트워크 - 양방향 파일 전송 시스템 중앙서버가 없다. 블록체인은 한명 이상의 참여자가 있는 네트워크에서 관리 네트워크 참여자 전원은 모든 블록을 동일한 순서로 저장하여 모두 같은 블록체인을 유지 모든 노드는 같은 데이터를 가지고 있다 - 스냅샷이 100 합의 (Consensus) 제안 자격이 있는 참여자는 블록을 제안(propose)할 수 있음 블록 제안 자격은 네트워크마다 상이 (e.g., PoW) PoW : 블록을 제안할 수 있는 권리 취득 노드들은 제안자가 올바른 자격을 취득했는지, 제안된 블록이 올바른지 검증 뒤 블록을 자신의 제안에 추가 정족수 또는 정해진 기준을 만족하는 수의 노드가 블록을 자신의 체인에 추가하면 합..
Public vs. Private Disclaimer : this is a subjective matter 퍼블릭과 프라이빗의 구분은 블록체인에 다음을 수행할 수 있는지 확인하여 결정 : 누구든지 기록된 정보(블록)를 자유롭게 읽을 수 있는지? 명시적인 등록 또는 자격취득 없이 정보를 블록체인 네트워크에 기록할 수 있는지? 블록체인의 정보가 공개되어 있고 네트워크가 정한 기준(e.g., gas fee)에 따라 정보를 기록요청할 수 있다면 그 블록체인은 퍼블릭/공개형이라 한다. 이와 반대로 정보가 공개되어 있지 않고 미리 자격을 득한 사용자만이 정보를 기록할 수 있다면 그 블록체인은 프라이빗/비공개형이라 한다. Permissionless vs. Permissioned Disclaimer : this is ..
데이터가 위치한 메모리의 주소를 포인터하게 되어있다. 링크드리스트랑 비슷한 느낌. 블록이 존재하면 해쉬함수를 이용하여 그 블록의 해쉬을 찾는다. 블록체인은 동일한 데이터가 반복되기 어렵다. 블록체인은 뒤의 블록이 앞의 블록의 해쉬값을 기억한다. 헤더는 블록을 설명하는 정보와 이전 블록의 해시를 포함 헤더 + 바디는 블록 헤더 : 바디를 설명 바디 : 정보의 묶음, 데이터에 대한 설명 이전 블록의 해시(hash pointer)를 가지기 때문에 어떤 블록이 앞에 와야하는지 결정적으로 알 수 있다. 이를 바탕으로 블록의 순서를 결정할 수 있다. 헤더는 바디 설명 헤더 + 바디 = 블록 헤더에 이전블록 해시값을 기억한다. 블록 높이, 블록 생성 주기 블록 높이 : 블록의 순서를 그 블록이 위치한 높이(block..
블록체인 정보를 블록이라고 하는 단위로 저장하여 저장된 블록들을 체인 형태로 묶은 저장 기술 해시함수 (Hash Function) 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수 { 해시, 해시 값, 해시 코드 } = 해시 함수에 의해 얻어지는 값 데이터를 X, 해시함수를 H라고 표기할 때 해시를 H(X)로 표기 산업에서 가장 널리 쓰이는 해시 함수는 SHA-2 (e.g., SHA-256), SHA-3 (e.g., Keccak) 💡 MD5(Message-Digest algorithm 5)와 SHA의 차이 속도 MD5 보안성 SHA MD5는 값이 중복되는 "Collision" 문제도 나타나기 때문에 SHA를 권장하는 추세 SHA(Secure Hash Algorithm)-256 임의의 길이 메시..