전체 글 132

[이더리움과 월드 컴퓨터] 1-4. 스마트 컨트랙트와 댑(DApp)

이전글 [이더리움과 월드 컴퓨터] 1-3. 가스와 이더 이전글 [이더리움과 월드 컴퓨터] 1-2. 튜링 완전과 튜링 불완전 이전글 [이더리움과 월드 컴퓨터] 1-1. 블록체인: 단일 장부와 단일 메모리 이전글 [이더리움과 월드 컴퓨터] 0. 이더리움 소개 0. 이 kwjdnjs.tistory.com 스마트 컨트랙트와 댑(DApp) 이번 글에서는 스마트 컨트랙트와 댑에 대해 알아보겠습니다. I. 비트코인 스마트 컨트랙트 먼저 비트코인 스마트 컨트랙트를 살펴본 후 이더리움 스마트 컨트랙트를 살펴보겠습니다. 비트코인의 스마트 컨트랙트는 잠금과 해제로 구성되어 있습니다. 예를 들어 A가 B에게 비트코인 50개를 전송한다면, A는 우선 B의 주소를 포함하는 잠금 스크립트를 구성하고 이를 트랜잭션에 추가합니다. 만..

[이더리움과 월드 컴퓨터] 1-3. 가스와 이더

이전글 [이더리움과 월드 컴퓨터] 1-2. 튜링 완전과 튜링 불완전 이전글 [이더리움과 월드 컴퓨터] 1-1. 블록체인: 단일 장부와 단일 메모리 이전글 [이더리움과 월드 컴퓨터] 0. 이더리움 소개 0. 이더리움 소개 이더리움이 등장하기 전 블록체인은 단순히 암호 kwjdnjs.tistory.com 가스와 이더 이번 글에서는 이더리움이 무한 루프 문제를 해결하기 위해 도입한 가스(gas)에 대해 알아보겠습니다. I. 가스 지금까지 튜링 완전한 환경에서 개발자가 무한 루프의 발생 여부를 판별할 수 없다는 점을 알아봤습니다. 또한 이러한 문제가 블록체인에 심각한 손상을 줄 수 있다는 점 또한 알아봤습니다. 이제 이더리움이 이러한 문제를 어떻게 해결했는지 알아보겠습니다. 먼저 다음과 같은 코드가 존재한다고 ..

[이더리움과 월드 컴퓨터] 1-2. 튜링 완전과 튜링 불완전

이전글 [이더리움과 월드 컴퓨터] 1-1. 블록체인: 단일 장부와 단일 메모리 이전글 [이더리움과 월드 컴퓨터] 0. 이더리움 소개 0. 이더리움 소개 이더리움이 등장하기 전 블록체인은 단순히 암호화폐를 기록하고 검증하는 용도로 사용되었습니다. 물론 네임코인처럼 블 kwjdnjs.tistory.com 튜링 완전과 튜링 불완전 이번 글에서는 이전 글에서 소개했던 범용 블록체인이 가진 문제점에 대해 살펴보겠습니다. I. 튜링 머신 범용 블록체인이 가진 문제점을 이해하기 위해서는 튜링 완전과 튜링 불완전의 의미를 이해해야 합니다. 그리고 이를 이해하기 위해서는 튜링 머신이 무엇인지에 대해 먼저 알아야 합니다. 튜링 머신은 앨런 튜링이 1936년 발표한 논문에서 등장한 가상의 기계입니다. 당시 앨런 튜링은 모든..

[이더리움과 월드 컴퓨터] 1-1. 블록체인: 단일 장부와 단일 메모리

이전글 [이더리움과 월드 컴퓨터] 0. 이더리움 소개 0. 이더리움 소개 이더리움이 등장하기 전 블록체인은 단순히 암호화폐를 기록하고 검증하는 용도로 사용되었습니다. 물론 네임코인처럼 블록체인을 이용하여 다른 정보를 저장하려는 시도가 kwjdnjs.tistory.com 1-1. 블록체인: 단일 장부와 단일 메모리 이번 글에서는 먼저 블록체인이 무엇인지에 대해 알아본 후, 이더리움이 이 기술을 어떻게 범용성을 갖도록 확장시켰는지에 대해 알아보겠습니다. I. 블록체인 블록체인이 무엇인지에 대해 설명한다면 다음과 같이 한 줄로 요약해 볼 수 있습니다. '블록체인이란 트랜잭션을 블록에 담고, 이 블록들을 특정한 합의 알고리즘을 통해 연결하여, 네트워크 참여자들이 나눠갖는 것' 이미지로 표현하면 다음과 같습니다...

[이더리움과 월드 컴퓨터] 0. 이더리움 소개

0. 이더리움 소개 이더리움이 등장하기 전 블록체인은 단순히 암호화폐를 기록하고 검증하는 용도로 사용되었습니다. 물론 네임코인처럼 블록체인을 이용하여 다른 정보를 저장하려는 시도가 있었지만 크게 성공하지는 못했습니다. 하지만 이더리움이 2015년에 등장하면서 블록체인 기술을 보다 범용적으로 사용할 수 있게 되었습니다. 이더리움을 이용하면 블록체인에 다양한 정보를 저장할 수 있고, 이를 이용하면 기존 비트코인 블록체인은 할 수 없었던 보다 다양하고 복잡한 트랜잭션 처리가 가능합니다. 이더리움은 이렇듯 범용적인 플랫폼 형태의 블록체인이었기 때문에, 기존 비트코인 노선을 걷던 블록체인과는 다른 2세대 블록체인으로 불리게 됩니다. 앞으로 이어지는 글들을 통해 이러한 2세대 블록체인인 이더리움의 특징에 대해 살펴..

[비트코인 구조] 탭스크립트와 P2TR

미리 알아야 할 내용들 [비트코인 구조] 탭루트(Taproot) 미리 알아야 할 내용들 [비트코인 구조] 스크립트(Script)와 Opcode, P2PK 미리 알아야 할 내용들 [비트코인 구조] 잠금 스크립트(scriptPubkey)와 해제 스크립트(scriptSig) 기초 미리 알아야 할 내용들 [비트 kwjdnjs.tistory.com [비트코인 암호학] 5. 슈노르 서명(Schnorr signature) [비트코인 암호학] 3.2 공개키와 개인키 [비트코인 암호학] 3.1 공개키 암호화 [비트코인 암호학] 2.3 타원곡선의 스칼라 곱셈 [비트코인 암호학] 2.2 유한체에서의 타원곡선 [비트코인 암호학] 2.1 유 kwjdnjs.tistory.com [비트코인 구조] 세그윗(Segwit), Bech3..

[비트코인 암호학] 5. 슈노르 서명(Schnorr signature)

[비트코인 암호학] 3.2 공개키와 개인키 [비트코인 암호학] 3.1 공개키 암호화 [비트코인 암호학] 2.3 타원곡선의 스칼라 곱셈 [비트코인 암호학] 2.2 유한체에서의 타원곡선 [비트코인 암호학] 2.1 유한체 [비트코인 암호학] 1.3 타원곡선의 kwjdnjs.tistory.com [비트코인 암호학] 4.2 ECDSA - 1 [비트코인 암호학] 4.1 디지털 서명 [비트코인 암호학] 3.2 공개키와 개인키 [비트코인 암호학] 3.1 공개키 암호화 [비트코인 암호학] 2.3 타원곡선의 스칼라 곱셈 [비트코인 암호학] 2.2 유한체에서의 kwjdnjs.tistory.com [비트코인 암호학] 4.3 ECDSA - 2 이번 글에서는 이전 글에서 생성했던 서명을 검증해보겠습니다. [비트코인 암호학] 4...

[비트코인 구조] 탭루트(Taproot)

미리 알아야 할 내용들 [비트코인 구조] 스크립트(Script)와 Opcode, P2PK 미리 알아야 할 내용들 [비트코인 구조] 잠금 스크립트(scriptPubkey)와 해제 스크립트(scriptSig) 기초 미리 알아야 할 내용들 [비트코인 구조] 비트코인 트랜잭션(Transaction) 기초 미리 알면 좋은 내용 kwjdnjs.tistory.com 탭루트(Taproot) 탭루트는 2021년 진행된 비트코인 소프트포크의 명칭입니다. 주요 변경점으로는 슈노르(Schnorr) 서명의 도입, 탭스크립트의 도입 등이 있습니다. 다중서명과 슈노르(Schnorr) 서명 기존의 비트코인은 ECDSA를 사용하여 서명을 검증하였습니다. ECDSA는 충분히 좋은 디지털 서명방식이지만, 다중서명에 있어서는 비효율적인 방..

[비트코인 구조] HD 지갑 파생 경로(Derivation Paths)

미리 알아야 할 내용들 [비트코인 구조] BIP32: HD지갑(Hierarchical Deterministic Wallet) 미리 알아야 할 내용들 [비트코인 구조] BIP39: 니모닉(Mnemonic)과 시드(Seed) 미리 알아야 할 내용들 [블록체인 용어] 니모닉(Mnemonic) 코인을 보관하기 위해 개인 지갑을 이용하는 경우 사용자는 블록 kwjdnjs.tistory.com HD 지갑 파생 경로(Derivation Paths) 이번 글에서는 HD 지갑의 파생 경로에 대한 표준에 대해 알아보겠습니다. 이를 위해 먼저 파생 경로를 표현하는 방법에 대해 알아보겠습니다. 지난 글에서 다음과 같은 키 파생을 진행했었습니다. 이는 다음과 같이 표현할 수 있습니다. 마스터 개인키(m) -> 인덱스 0번 일반..

[비트코인 구조] BIP32: HD지갑(Hierarchical Deterministic Wallet)

미리 알아야 할 내용들 [비트코인 구조] BIP39: 니모닉(Mnemonic)과 시드(Seed) 미리 알아야 할 내용들 [블록체인 용어] 니모닉(Mnemonic) 코인을 보관하기 위해 개인 지갑을 이용하는 경우 사용자는 블록체인 계좌의 통장 비밀번호라고 할 수 있는 개인키를 직접 보관해야 합니 kwjdnjs.tistory.com [비트코인 구조] 개인키(Private key), 공개키(Public key), 주소(Address) 생성 미리 알아야 할 내용들 '비트코인/암호학' 카테고리의 글 목록 평범한 대학생의 블록체인 기술 관련 블로그 입니다. kwjdnjs.tistory.com [비트코인 암호학] 3.1 공개키 암호화 타원곡선을 이용해 디지 kwjdnjs.tistory.com [비트코인 암호학] 2...