P2P 기반의 블록 체인을 유지하기 위해서는 ①노드들의 블록 생성을 유도하고, ②생성된 블록에 대한 검증 및 단일 체인을 채택해야 한다. 기존의 PoW (Proof of Work) PoW의 경우 컴퓨팅 파워 기반으로 작업 증명을 이뤄내 블록을 생성하는데, 노드들의 블록 생성을 유도하기 위해 ①블록을 채굴한 Miner들에게 보상을 지급하고 ②컴퓨팅 파워가 가장 많이 들어간 Longest Chain 만을 채택하도록 하였다. 근데 PoW는 전력 소모가 심하고 채굴 단합등으로 인해 몇 세력들로 중앙화 되는 형태로 변질되기도 하였다. 그럼 PoS (Proof of Stake) 는? PoS (Proof of Stake) 는 자산을 얼마나 가지고 있는지 Stake(지분) 에 따라서 블록을 형성할 확률이 더 높아진다...
공개키란? 공개키 암호 방식은 공개 키 (Public Key)와 비밀 키 (Private Key)가 존재하며, 암호화할 때와 복호화할 때의 키가 달라 비대칭키라고도 한다. 공개 키는 누구나 알 수 있으며 비밀 키는 Owner만이 알아야만 한다. 공개 키 방식은 크게 메세지 암호화와 서명 두가지 종류로 볼 수 있다. 메세지 암호화 메세지 암호를 위해 공개 키 방식을 주로 사용하는데, 주로 공개키로 암호화를 하고 비밀키로 복호화를 한다. 즉, 누구나 확인할 수 없고 비밀키를 가지고 있는 Owner만 메세지를 확인할 수 있다. 이런 특징 때문에 웹서버 통신 시 암호화에 많이 쓰였다. 서버로 메세지 전송 시 공개키로 암호화를 하여 보내면 메세지는 서버에서만 복호화하여 볼 수 있기 때문이다. 아래 그림은 초기 비..
Base64 는 기본적인 인코딩 방식중 하나라고 볼 수 있다. 바이너리 데이터들을 인코딩할 때도 많이 쓰이는데 보통 메일에서 이미지나 실행파일들을 Base64 형태로 보내기도 한다. 여기서 64는 64진법을 사용한다는 뜻인데 위키백과 기준으로 아래와 같은 값들과 매칭된다 아래에서 0~61 까지 (A-Z, a-z, 0-9) 는 동일하고 그 뒤에 두개의 기호는 구현하는데에 따라 다를수 있음. Base64의 인코딩 원리는 1. 문자열을 bit 형태로 변형한다. 2. 6개의 bit씩 나눈다 3. 각각 위 테이블에 매칭되는 값으로 바꾼다 6개 bit로 자르는 이유는 6개의 비트면 조합이 64개이므로 (2^6) GODD 를 Base64 로 인코딩 한다고 하면 아래와 같이 나온다. 1. 문자열을 bit 형태로 변형한..
암호화란? 암호화 (Encryption) 란 평문을 특정 Key를 이용해 해독할 수 없는 형태로 변경하는 것을 말한다. 방식에 따른 분류 암호화 기법에는 크게 양방향과 단방향 암호화가 있는데 평문을 암호화 한 암호문을 반대로 복호화를 할 수 있는지 여부에 따라서 양방향 / 단방향으로 나눠진다. 여기서는 암호화/복호화 가 가능한 양방향 암호화에 대해서 정리해본다. 양방향 암호화 된 암호문을 복호화 할 수 있는 기법을 의미한다. 따라서 암호화/복호화 시 필요한 Key가 존재 하는데 암호화와 복호화를 같은 키를 사용하느냐 다른 키를 사용하느냐에 따라서 대칭키 / 비대칭키로 분류할 수 있다. 대칭키 (비공개키) 암/복호화에 동일한 키를 사용하는 암호화 방식이다. 따라서 키가 노출되면 안되므로 공개하면 안되므로 ..
인증 기본적으로 auth란 인증 (authentication) 과 인가 (authorization)을 얘기합니다. 인증은 사용자가 해당 애플리케이션에 허가된 사용자인지 확인하는 절차를 말하는데 흔히 아는 로그인이 인증이라고 생각하면 됩니다. 인가는 특정 리소스나 서비스에 접근할 수 있는 권한을 허용하는 것을 말합니다. 보통 관리자나 일반 사용자의 특정 서비스 접근 권한이 다르게 부여되는 것을 생각하면 됩니다. OAUTH2 OAuth 는 Authrozation Framework 로 정확히는 인가를 대신 해주기 위한 프레임워크로 생각하면 됩니다. 우리는 OAUTH2 기준으로 공부를 해보겠습니다. [OAuth2 4개 구성요소] 1. Resource Owner : 사용자 (ex : 인증이 필요한 사용자) 2. ..
- Total
- Today
- Yesterday
- 사토시 나가모토
- Vue.js
- leetcode
- vuejs
- 블록체인
- Java
- 알고리즘
- kubernetes
- 비트코인
- SpringBoot
- Blockchain
- 동적계획법
- gRPC
- 스프링 시큐리티
- CARDANO
- 암호화폐
- Spring
- 스프링
- excel parsing
- Nealford
- 백준
- white paper
- k8s
- Redis
- DP
- architecture
- 아키텍처
- 카르다노
- Bitcoin
- Bruteforce
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |