분류 전체보기 130

[스택스 웹 3.0] 3. 가이아(Gaia)

기존 인터넷 세상에선 주요 대기업들이 사용자의 데이터를 모두 소유하고 있는 형태였습니다. 예를 들어 페이스북은 페이스북 계정에 속한 모든 데이터를, 구글은 구글 계정에 속한 모든 데이터를 소유하고 있는 형태였습니다. 이렇게 중앙 집중방식으로 데이터를 저장할 경우 해킹으로 인해 데이터가 유출될 위험이 있고, 여러 플랫폼들이 서로 데이터가 호환되지 않아 매번 정보를 입력해야 합니다. 이러한 문제를 해결하기 위해 스택스는 가이아라는 탈중앙화 된 데이터 저장소를 개발하였습니다. 가이아는 블록체인과 연결되어 탈중앙화 된 데이터 저장소입니다. 가이아는 블록체인 위에서 동작하는 것이 아닌 블록체인 밖에서 블록체인과 연결되어 동작하는 구조입니다. 즉 가이아는 오프체인 기술입니다. 블록체인 위에 저장되는 데이터를 온체인..

스택스/웹 3.0 2022.08.14

[스택스 웹 3.0] 2. BNS(Blockchain Naming System)

BNS는 Blockchain Naming System의 약자로 탈중앙화 된 DNS입니다. BNS를 살펴보기 전에 먼저 DNS에 대해 살펴보겠습니다. DNS는 Domain Name System의 약자이며, 숫자로 된 IP주소를 사람이 쉽게 읽을 수 있는 형태로 변환해 주는 기능을 제공합니다. 예를 들어 네이버의 아이피 주소는 223.130.195.95, 223.130.195.200 등입니다. 이러한 아이피 주소는 숫자로 되어있기 때문에 사용자가 읽거나 외우기 어렵습니다. 따라서 아이피를 naver.com으로, naver.com을 아이피로 변환하는 기능을 제공하는 DNS가 등장했습니다. DNS를 통해 사용자는 더 이상 복잡한 아이피 주소를 이용할 필요 없이 영어 단어로 이뤄진 주소를 사용할 수 있게 되었습니..

스택스/웹 3.0 2022.08.06

[블록체인 용어] 제네시스 블록(Genesis block)

블록체인은 블록들이 체인 형태로 연결된 장부입니다. 다음과 같이 각 블록들은 이전 블록과 다음 블록에 끊임없이 연결되어 있습니다. 블록체인에서 이전 블록을 계속 따라가다 보면 처음 시작된 블록을 발견할 수 있습니다. 이 블록이 바로 제네시스 블록입니다. 제네시스 블록은 해당 블록체인에서 최초로 채굴된 블록으로 다른 블록들과는 다르게 이전에 연결된 블록이 존재하지 않습니다. 아래 링크를 이용하면 실제 비트코인의 제네시스 블록을 볼 수 있습니다. Blockchain.com Explorer | BTC | ETH | BCH The easiest and most trusted transaction search engine and block explorer. www.blockchain.com 비트코인 블록 0번인 ..

블록체인 용어 2022.08.05

[블록체인 용어] 니모닉(Mnemonic)

코인을 보관하기 위해 개인 지갑을 이용하는 경우 사용자는 블록체인 계좌의 통장 비밀번호라고 할 수 있는 개인키를 직접 보관해야 합니다. 보관된 개인키는 블록체인 상의 자신의 계좌에 접근하고 거래를 생성하는 데 사용됩니다. 따라서 개인 지갑을 사용하는 경우 개인키를 안전하게 보관하는 것은 매우 중요합니다. 이러한 개인키가 지닌 가장 큰 문제는 바로 개인키가 매우 임의적인 내용이어서 외부에 적어 보관하기 어렵다는 것입니다. 예를 들어 개인키는 다음과 같은 형태로 랜덤하게 생성됩니다. L4cd2PbfpUcevDk1iBNDcYQnqx2sD3JtjdUGcFSnEUt45g5jM8A3 위와 같은 형태의 개인키는 외우거나 종이에 받아 적어 보관하는 것이 매우 어렵습니다. 대문자와 소문자의 차이 등으로 인해 한 글자만이..

블록체인 용어 2022.08.03

[블록체인 용어] 암호화폐 지갑 - 핫 월렛과 콜드 월렛

이전 글에서는 지갑의 보유 주체에 따라 나눈 거래소 지갑과 개인 지갑에 대해 알아봤습니다. [블록체인 용어] 암호화폐 지갑 - 거래소 지갑과 개인 지갑 블록체인 상에서 자신이 보유한 코인과 토큰에 접근하도록 도와주는 지갑은 크게 보유 주체에 따라 거래소 지갑과 개인 지갑, 개인키 접근 방식에 따라 핫 월렛과 콜드 월렛으로 나뉩니다. 이 kwjdnjs.tistory.com 이번 글에서는 개인키 보관 방식의 차이로 나뉘는 핫 월렛과 콜드 월렛에 대해 알아보겠습니다. 거래소 지갑과 개인 지갑 모두 핫 월렛과 콜드 월렛을 가질 수 있습니다. 핫 월렛과 콜드 월렛의 가장 큰 차이점은 개인키 보관 환경의 인터넷 연결 유무입니다. 인터넷이 연결될 수 있는 환경에 개인키를 보관하는 방식을 핫 월렛, 인터넷이 연결될 수..

블록체인 용어 2022.08.02

[블록체인 용어] 암호화폐 지갑 - 거래소 지갑과 개인 지갑

블록체인 상에서 자신이 보유한 코인과 토큰에 접근하도록 도와주는 지갑은 크게 보유 주체에 따라 거래소 지갑과 개인 지갑, 개인키 보관 방식에 따라 핫 월렛과 콜드 월렛으로 나뉩니다. 이번 글에서는 거래소 지갑과 개인 지갑에 대해 알아보겠습니다. 일반적으로 코인을 원화로 구매하는 경우 코인 거래소를 이용하게 됩니다. 이러한 거래소는 자체적으로 거래소 지갑을 보유하고 있습니다. 거래소를 이용하는 사람들의 코인과 토큰은 모두 몇 개의 거래소 지갑이 보유하게 됩니다. 이는 은행과 비슷합니다. 은행은 고객들의 돈을 은행의 금고에 보관하고 고객들이 입금한 금액을 은행 장부에 기록합니다. 이와 비슷하게 거래소는 거래소 고객들이 보유한 코인을 거래소 지갑에 보관하고, 블록체인이 아닌 거래소 내부에 있는 장부에 코인 보..

블록체인 용어 2022.08.01

[블록체인 용어] 블록체인(Block Chain)

블록체인이란 발생한 거래들을 블록에 담고 블록들을 연결하여 나눠가짐으로써 탈중앙화 된 단일 장부를 유지하는 것입니다. 먼저 탈중앙화 된 단일 장부에 대해 알아보겠습니다. 오프라인에서는 현금을 사용하여 은행을 통하지 않고 거래할 수 있습니다. 하지만 온라인에서의 상황은 다릅니다. 온라인에서는 쉽게 거래가 조작될 수 있고 변경될 수 있습니다. 이것을 이중 지불 문제(Double spending problem)라고 합니다. 이중 지불 문제는 쉽게 설명하면 어떤 사람이 다른 두 사람에게 서로 다른 거래내역을 전송하는 것을 말합니다. 즉, A라는 사람이 B와 동시에 C와 거래한 경우 온라인 상황에서는 어떤 거래가 올바른 거래인지 알 수 없습니다. 현금은 쉽게 복제할 수 없지만, 컴퓨터의 코드는 쉽게 변경할 수 있..

블록체인 용어 2022.07.30

[비트코인 암호학] 4.3 ECDSA - 2

이번 글에서는 이전 글에서 생성했던 서명을 검증해보겠습니다. [비트코인 암호학] 4.2 ECDSA - 1 지금까지 알아봤던 내용들을 정리해보겠습니다. 먼저 타원곡선과 점 덧셈 그리고 유한체 타원곡선과 스칼라 곱셈에 대해 살펴봤습니다. 이후 이 내용들을 토대로 다음과 같이 secp256k1에서 정 kwjdnjs.tistory.com A는 다음과 같이 개인키 d, 무작위 값 k, 메시지의 해시값인 z, 생성점 G를 이용해 서명 (r, s)를 생성하여 공개키 P와 메시지 m과 함께 B에게 전송했습니다. B는 전달받은 값을 이용해 서명을 검증할 수 있습니다. 먼저 다음 식을 다시 한번 생각해 보겠습니다. 이전에 알아봤던 것처럼 위 식은 공개된 G, P, R을 이용해 다양한 u와 v값 조합을 가질 수 있습니다. ..

[비트코인 암호학] 4.2 ECDSA - 1

[비트코인 암호학] 4.1 디지털 서명 [비트코인 암호학] 3.2 공개키와 개인키 [비트코인 암호학] 3.1 공개키 암호화 [비트코인 암호학] 2.3 타원곡선의 스칼라 곱셈 [비트코인 암호학] 2.2 유한체에서의 타원곡선 [비트코인 암호학] 2.1 유 kwjdnjs.tistory.com 지금까지 알아봤던 내용들을 정리해보겠습니다. 먼저 타원곡선과 점 덧셈 그리고 유한체 타원곡선과 스칼라 곱셈에 대해 살펴봤습니다. 이후 이 내용들을 토대로 다음과 같이 secp256k1에서 정의된 변수들에 대해서도 살펴봤습니다. 타원곡선 방정식의 a = 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 타원곡선 방정식의 b = 00000000 0..

[비트코인 암호학] 4.1 디지털 서명

[비트코인 암호학] 3.2 공개키와 개인키 [비트코인 암호학] 3.1 공개키 암호화 [비트코인 암호학] 2.3 타원곡선의 스칼라 곱셈 [비트코인 암호학] 2.2 유한체에서의 타원곡선 [비트코인 암호학] 2.1 유한체 [비트코인 암호학] 1.3 타원곡선의 kwjdnjs.tistory.com 디지털 서명은 공개키 암호화를 이용하여 전송된 데이터를 증명하는 방법입니다. 예를 들어 A가 B에게 비트코인을 이체하려고 한다면, 먼저 A는 공개된 네트워크를 통해 비트코인이 들어있는 주소(공개키)가 자신의 것임을 증명해야 합니다. 이러한 상황에서 사용할 수 있는 방법이 바로 디지털 서명입니다. 디지털 서명을 하기 위해서는 먼저 공개키와 개인키를 생성해야 합니다. 이 과정은 이미 이전 글들을 통해 살펴봤습니다. 그다음 ..