밈블윔블 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
7번째 줄: 7번째 줄:
  
 
== 개념과 이해 ==
 
== 개념과 이해 ==
밈블윔블 프로토콜을 이해하기 위해선, 우선 밈블윔블 트랜잭션이 처리되는 방식을 이해해야 한다. 밈블윔블 트랜잭션은 기밀 거래로 알려진 또 하나의 트랜잭션 방식에서 파생된 것이다. 전 [[비트코인]] 개발자 [[아담 백]](Adam Back)이 고안한 기밀 거래는 '''비공개 요소'''라는 것을 사용해서 발신인이 보내고자 하는 비트코인 양을 암호화할 수 있게 한다. 이는 어떤 트랜잭션의 비트코인의 양을 암호화하는데 사용되는 랜덤한 값이며 트랜잭션의 발신인이 선택한다. 선별된 비공개 요소는 거래되고 있는 금액에 맞게 암호화하지만, 트랜잭션의 '''인풋'''(Input)과 '''아웃풋'''(Output)에 영향을 주지는 않는다. 기밀 거래의 경우, 관련된 두 당사자들만이 거래 중인 비트코인의 양을 알고 있으며 그 외엔 알 수가 없다. 그러나 다른 사람들은 여전히 인풋과 아웃풋의 숫자를 비교함으로써 그 트랜잭션이 유효함을 확인할 수 있다. 즉, 같으면 트랜잭션이 유효하다 간주하며 이러한 방식이 아무런 비트코인도 새로 생성되지 않았음을 보장하고 시스템의 무결성을 유지하는 핵심이다. 밈블윔블 트랜잭션의 거래의 수신인이 발신인에게서 받은 비공개 요소의 범위를 선택하는 것을 제외하고는 비슷한 방식으로 작동한다. 이후 비공개 요소는 수신인이 소유권을 증명하는데 사용되어 그 비트코인을 소비할 수 있는 인증을 얻게 된다. 또한, 밈블윔블 트랜잭션은 (코인 거래 장부를 세 개 이상 강제로 섞는) [[CoinJoin]]과 같은 혁신적 암호학 기술을 최대로 활용한다. 그레고리 맥스웰(Gregory Maxwell)이 제안한 CoinJoin은 복수 소비자들의 결제를 하나의 트랜잭션으로 만들어 섞는다. 그러면 어떤 결제가 어떤 수취인을 위한 것인지 외부인이 판단하기가 힘들어진다. CoinJoin은 발신인과 수취인들의 인풋과 아웃풋을 불분명하게 하는 식으로 작동한다. 그러므로 밈블윔블 트랜잭션들에 관해선 함께 결합했을 때, 블록은 간단하게 구성된다. 즉, 인풋 리스트와 아웃풋 리스트 그리고 서명 자료이다. 이것은 블록의 상당한 공간 절약을 제공하는데, 다른 트랜잭션 데이터는 더 이상 저장할 필요가 없기 때문이다. 오로지 인풋과 아웃풋 뿐이다. 아웃풋의 합계에서 인풋의 합계를 뺐을 때 결과가 제로(Zero)로 확인되면 이러한 시스템으로 만들어진 [[블록체인]]은 유효한 것으로 간주된다. 이것은 비트코인에서 트랜잭션과 블록체인의 유효함을 증명하는 방식과는 대조된다. 비트코인의 경우, 모든 블록체인을 다운로드해야 하며, 그 유효성을 확인하기 위해선 [[트랜잭션]] 아웃풋의 역사를 분석해야 한다. 밈블윔블 프로토콜 사용을 통해 제공되는 이론상의 공간 절약뿐만 아니라 프라이버시는 분명한 것이다. 블록체인의 불필요한 트랜잭션 데이터를 제거함으로써, 확장성의 문제가 줄어든다. 더 많은 트랜잭션들을 단일 블록에 담을 수 있기 때문이다. 밈브윔블 트랜잭션에서 공개 주소의 제거뿐 아니라 인풋과 아웃풋의 혼합으로 인해, 가명이 아닌 진정한 익명성을 이룰 수 있다.
+
밈블윔블 프로토콜을 이해하기 위해선, 우선 밈블윔블 트랜잭션이 처리되는 방식을 이해해야 한다. 밈블윔블 트랜잭션은 기밀 거래로 알려진 또 하나의 트랜잭션 방식에서 파생된 것이다. 전 [[비트코인]] 개발자 [[아담 백]](Adam Back)이 고안한 기밀 거래는 '''비공개 요소'''라는 것을 사용해서 발신인이 보내고자 하는 비트코인 양을 암호화할 수 있게 한다. 이는 어떤 트랜잭션의 비트코인의 양을 암호화하는데 사용되는 랜덤한 값이며 트랜잭션의 발신인이 선택한다. 선별된 비공개 요소는 거래되고 있는 금액에 맞게 암호화하지만, 트랜잭션의 '''인풋'''(Input)과 '''아웃풋'''(Output)에 영향을 주지는 않는다. 기밀 거래의 경우, 관련된 두 당사자들만이 거래 중인 비트코인의 양을 알고 있으며 그 외엔 알 수가 없다. 그러나 다른 사람들은 여전히 인풋과 아웃풋의 숫자를 비교함으로써 그 트랜잭션이 유효함을 확인할 수 있다. 즉, 같으면 트랜잭션이 유효하다 간주하며 이러한 방식이 아무런 비트코인도 새로 생성되지 않았음을 보장하고 시스템의 무결성을 유지하는 핵심이다. 밈블윔블 트랜잭션의 거래의 수신인이 발신인에게서 받은 비공개 요소의 범위를 선택하는 것을 제외하고는 비슷한 방식으로 작동한다. 이후 비공개 요소는 수신인이 소유권을 증명하는데 사용되어 그 비트코인을 소비할 수 있는 인증을 얻게 된다. 또한, 밈블윔블 트랜잭션은 (코인 거래 장부를 세 개 이상 강제로 섞는) [[CoinJoin]]과 같은 혁신적 암호학 기술을 최대로 활용한다. [[그레고리 맥스웰]](Gregory Maxwell)이 제안한 CoinJoin은 복수 소비자들의 결제를 하나의 트랜잭션으로 만들어 섞는다. 그러면 어떤 결제가 어떤 수취인을 위한 것인지 외부인이 판단하기가 힘들어진다. CoinJoin은 발신인과 수취인들의 인풋과 아웃풋을 불분명하게 하는 식으로 작동한다. 그러므로 밈블윔블 트랜잭션들에 관해선 함께 결합했을 때, 블록은 간단하게 구성된다. 즉, 인풋 리스트와 아웃풋 리스트 그리고 서명 자료이다. 이것은 블록의 상당한 공간 절약을 제공하는데, 다른 트랜잭션 데이터는 더 이상 저장할 필요가 없기 때문이다. 오로지 인풋과 아웃풋 뿐이다. 아웃풋의 합계에서 인풋의 합계를 뺐을 때 결과가 제로(Zero)로 확인되면 이러한 시스템으로 만들어진 블록체인은 유효한 것으로 간주된다. 이것은 비트코인에서 트랜잭션과 블록체인의 유효함을 증명하는 방식과는 대조된다. 비트코인의 경우, 모든 블록체인을 다운로드해야 하며, 그 유효성을 확인하기 위해선 트랜잭션 아웃풋의 역사를 분석해야 한다. 밈블윔블 프로토콜 사용을 통해 제공되는 이론상의 공간 절약뿐만 아니라 프라이버시는 분명한 것이다. 블록체인의 불필요한 트랜잭션 데이터를 제거함으로써, 확장성의 문제가 줄어든다. 더 많은 트랜잭션들을 단일 블록에 담을 수 있기 때문이다. 밈브윔블 트랜잭션에서 공개 주소의 제거뿐 아니라 [[인풋]]과 [[아웃풋]]의 혼합으로 인해, 가명이 아닌 진정한 익명성을 이룰 수 있다.
  
 
== 구현 ==
 
== 구현 ==

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)