분류 전체보기 130

[스택스 웹 3.0] 1. Trust-to-Trust 디자인

Trust-to-Trust 디자인은 2017년 스택스 개발자 'Muneeb Ali'가 지금은 스택스로 이름이 바뀐 블록스택 프로젝트를 위해 연구한 결과를 정리해 프린스턴 대학교 박사논문으로 제출한 논문 'Trust-to-Trust Design of a New Internet' 에서 소개된 디자인입니다. 이 디자인에 대해 이해하려면 먼저 기존 인터넷의 디자인인 End-to-End 디자인에 대해 알아야 합니다. 초기 인터넷은 탈중앙화 되도록 설계되어 있었습니다. 따라서 인터넷 사용자들은 제3자에 의존하지 않고 직접 대화할 수 있었습니다. 이후 집중화된 시스템인 DNS의 등장으로 더 이상 숫자로 된 IP 주소를 외우지 않아도 문자와 단어로 된 주소만 있으면 다른 노드에 접속할 수 있게 되었습니다. 1990년대..

스택스/웹 3.0 2022.07.01

[스택스 웹 3.0] 0. 들어가기 전에

최근 웹 3.0이라는 용어가 많이 보이기 시작했습니다. 기존의 웹 1.0과 2.0 이후 차세대 웹이라고 부르는 웹 3.0은 아직 명확하게 정의된 내용은 없지만, 일반적으로 탈중앙화 된 웹이라는 뜻으로 사용합니다. 사실 이러한 탈중앙화 된 웹에 대한 논의는 최근 갑자기 시작된 것이 아닙니다. 이 블로그에서는 스택스의 웹 3.0 디자인인 Trust-to-Trust 디자인에 대해 살펴보고자 합니다. 스택스는 2013년 프린스턴 대학교 컴퓨터과학부에서 시작된 프로젝트로, 더 나은 인터넷을 만들기 위해 시작된 블록체인 프로젝트입니다. 과거 블록스택이라는 이름으로 시작했으나 2021년 메인넷 이후 스택스로 이름이 변경되어 계속 프로젝트가 진행되고 있습니다. 본격적인 내용에 들어가기 전에 Muneeb Ali가 과거 ..

스택스/웹 3.0 2022.07.01

[비트코인 기본 구조] 7. 정리

[비트코인 기본 구조] 6. 머클트리와 SPV(Merkle Tree & SPV) [비트코인 기본 구조] 5. 채굴(Mining) [비트코인 기본 구조] 4. 분산원장기술(Distributed Ledger Technology) [비트코인 기본 구조] 3. 작업증명(Proof-of-Work) [비트코인 기본 구조] 2. 타임스탬프(Timestamp).. kwjdnjs.tistory.com 지금까지 알아본 내용들을 정리해보겠습니다. 가장 먼저 이중 지불 문제에 대해 알아봤습니다. 이중 지불 문제는 디지털 세상에서 제삼자 없이 거래를 하는 경우 발생할 수 있는 문제였습니다. 이 문제를 해결하기 위해 해시 함수를 이용하는 작업증명을 도입해 블록들의 체인을 만들었습니다. 이러한 체인은 이전 블록의 해시를 포함하고 ..

[비트코인 기본 구조] 6. 머클 트리와 SPV(Merkle Tree & SPV)

[비트코인 기본 구조] 5. 채굴(Mining) [비트코인 기본 구조] 4. 분산원장기술(Distributed Ledger Technology) [비트코인 기본 구조] 3. 작업증명(Proof-of-Work) [비트코인 기본 구조] 2. 타임스탬프(Timestamp) [비트코인 기본 구조] 1. 이중 지불 문.. kwjdnjs.tistory.com 만약 블록체인이 모든 거래들을 계속해서 저장한다면 저장 공간이 지나치게 많이 필요할 것입니다. 따라서 비트코인 개발자인 사토시는 디스크 공간을 절약하기 위해 비트코인이 머클트리를 사용하도록 만들었습니다. 지금까지 봐왔던 블록의 구조는 다음과 같았습니다. 블록이 이런 모습일 경우 더 이상 저장할 필요가 없는 거래를 제거하게 되면 블록의 해시가 변화하게 되어 작업..

[비트코인 기본 구조] 5. 채굴(Mining)

[비트코인 기본 구조] 4. 분산원장기술(Distributed Ledger Technology) [비트코인 기본 구조] 3. 작업증명(Proof-of-Work) [비트코인 기본 구조] 2. 타임스탬프(Timestamp) [비트코인 기본 구조] 1. 이중 지불 문제 익명의 비트코인 개발자 사토시 나카모토는 2008년 논문과 함 kwjdnjs.tistory.com 작업증명에는 많은 시간과 비용이 들어갑니다. 따라서 중앙화 되지 않고 분산화된 네트워크에서 이러한 작업을 수행하도록 독려하려면 인센티브가 필요합니다. 작업증명에 성공한 노드에게 인센티브를 지급하기 위해, 새로운 블록 안의 첫 거래는 작업증명을 발견한 노드에게 새로 발행된 화폐를 지급할 특별한 거래로 시작하게 됩니다. 이 거래를 미국 최대 암호화폐 ..

[비트코인 기본 구조] 4. 분산원장기술(Distributed Ledger Technology)

[비트코인 기본 구조] 3. 작업증명(Proof-of-Work) [비트코인 기본 구조] 2. 타임스탬프(Timestamp) [비트코인 기본 구조] 1. 이중 지불 문제 익명의 비트코인 개발자 사토시 나카모토는 2008년 논문과 함께 비트코인 코어를 처음 공개했습니다. 이렇 kwjdnjs.tistory.com 비트코인 네트워크는 여러 노드(참여자)들이 서로 연결된 형태로 구성되어 있습니다. 즉 다음과 같이 새로운 거래가 발생하게 되면 최대한 많은 노드들에게 거래가 브로드캐스트 됩니다. 이렇게 거래를 받은 노드들은 각자 작업증명을 시작합니다. 만약 어떤 노드가 작업증명에 성공해 블록을 찾는다면 해당 노드는 다른 노드에게 작업증명된 블록을 브로드캐스트 합니다. 블록을 받은 노드들은 블록 내의 거래를 검증합니다..

[비트코인 기본 구조] 3. 작업증명(Proof-of-Work)

[비트코인 기본 구조] 2. 타임스탬프(Timestamp) [비트코인 기본 구조] 1. 이중 지불 문제 익명의 비트코인 개발자 사토시 나카모토는 2008년 논문과 함께 비트코인 코어를 처음 공개했습니다. 이렇게 공개된 비트코인은 처음으로 분산화된 네 kwjdnjs.tistory.com 작업증명을 설명하기 위해 먼저 해시에 대해 다시 한번 생각해 보겠습니다. 어떠한 값에서 해시를 구한다는 것은 다음과 같았습니다. 이전에 알아봤던 것처럼 어떤 값을 SHA-256함수와 같은 해시 함수를 통해서 해시 값을 얻어낼 수 있었습니다. 이러한 해시 함수에는 특징이 존재하는데 바로 해시의 값만으로는 원래 값을 알아낼 수 없다는 것입니다. 작업증명은 이 특징을 이용합니다. 작업증명은 기본적으로 정해진 몇 개의 0비트로 시..

[비트코인 기본 구조] 2. 타임스탬프(Timestamp)

[비트코인 기본 구조] 1. 이중 지불 문제 익명의 비트코인 개발자 사토시 나카모토는 2008년 논문과 함께 비트코인 코어를 처음 공개했습니다. 이렇게 공개된 비트코인은 처음으로 분산화된 네트워크를 통해 제3자가 필요 없는 P2P 거 kwjdnjs.tistory.com 이중 지불 문제를 해결하기 위한 첫 단계는 거래들을 모아 타임스탬프를 찍는 것입니다. 타임스탬프를 한국어로 직역하면 시간 도장입니다. 즉 타임스탬프를 찍는다는 것은 어떤 데이터가 발생한 시각을 기록하는 것입니다. P2P 거래에는 여러 사람들이 참여하기 때문에 컴퓨터 간의 시간 차이가 존재할 수 있습니다. 또한 어떤 사람은 악의적으로 컴퓨터 시간을 변경해 거래가 발생한 시각을 조작할 수 있습니다. 예를 들어 다음과 같이 블록이 1, 2, 3..

[비트코인 기본 구조] 1. 이중 지불 문제(Double spending problem)

익명의 비트코인 개발자 사토시 나카모토는 2008년 논문과 함께 비트코인 코어를 처음 공개했습니다. 이렇게 공개된 비트코인은 처음으로 분산화된 네트워크를 통해 제3자가 필요 없는 P2P 거래를 구현했습니다. 이러한 구현을 하기 위해 반드시 풀어야 했던 문제가 바로 이중 지불 문제입니다. 지금부터 비트코인의 기본 구조를 알아보기 위한 전 단계로 이중 지불 문제에 대해 먼저 알아보겠습니다. 이중 지불 문제(Double spending problem)란 말 그대로 이중으로 지불되는 상황이 발생하는 문제를 말합니다. 오프라인에서 현금을 지급하는 경우 현금이 한 손에서 다른 손으로 직접 이동하기 때문에 이동 과정에서 지폐가 갑자기 복제되는 문제가 발생하지 않습니다. 하지만 온라인의 경우 모든 거래가 데이터, 즉 ..

[블록체인 의견] 비트코인의 탈중앙화는 달러를 위협하는가?

'Decentralized' 비트코인과 함께 자주 거론되는 단어가 바로 탈중앙화(Decentralized)입니다. 많은 사람들이 탈중앙화에 대해 이야기 하지만 대부분의 경우 탈중앙화가 무엇인지 잘 알지 못합니다. 애초에 탈중앙화에 대한 명확한 정의가 없는 상황이기도 합니다. 실제로 많은 사람들이 어느 수준까지가 탈중앙화이고 대체 탈중앙화가 무엇인지에 대해 계속 논의하고 있습니다. 이 글에서 필자는 탈중앙화의 시초라고 볼 수 있는 비트코인의 탈중앙화에 대해 이야기하고, 또한 비트코인의 개발자인 사토시 나카모토의 이야기를 다뤄보고자 합니다. 그리고 이 시스템이 많은 사람들이 이야기하는 것처럼 달러 시스템을 위협하고 따라서 결국 없어질 운명이라는 주장에 대해서도 다뤄보고자 합니다. [이 글에는 개인 의견이 포..