BIP141 편집하기

이동: 둘러보기, 검색

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

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''BIP141'''(Bitcoin Improvement Proposal 141)에서 제한된 기존 트랜잭션의 포맷을 바꾸는 [[소프트포크]](soft fork)이다. BIP141은 [[세그윗]](SegWit)을 활성화하기 위한 원래 계획이며, 2016년 11월에 도입되었다.<ref>에이미 캐스터, 〈[https://www.coindesk.com/coindesk-explainer-bitcoin-bip-91-implements-segwit-avoiding-split CoinDesk Explainer : Bitcoin 분할을 피하면서 BIP 91이 SegWit을 실행하는 방법]〉, 《coindesk》, 2017-07-18</ref> 분리된 증인(Consensus layer)이라고 하며 찬성률이 95%일 때 세그윗(Segwit)이 자동 업데이트된다.<ref>Eastinny, 〈[hhttps://www.clien.net/service/board/cm_vcoin/10984851]〉, 《clien》, 2017-07-18</ref>
+
'''BIP141'''은 분리 된 증인 (Consensus layer)라고 하며 찬성률이 95%일 때 Segwit이 자동 업데이트 된다.  
 
+
 
== 개요 ==
 
== 개요 ==
BIP141은 트랜잭션 병합 트리와 별도로 블록에 커밋되는 "감시(witness)"라는 새로운 구조를 정의한다. 이 구조에는 트랜잭션 유효성을 확인하는 데 필요한 데이터가 있지만 트랜잭션 영향을 결정하는 데 필요하지는 않다. 특히 스크립트와 서명이 새로운 구조로 옮겨진다. 목격자는 이 SegWit을 Bitcoin의 소프트포크(soft-fork)를 호환할 수 있게 만들기 위해 코인베이스 트랜잭션을 통해 블록의 기존 머클 루트(merkle root)에 중첩된 트리에서 커밋된다. 선점 거래 형태의 악성 문제를 해결하기 때문에 번개 네트워크의 전제조건이기도 하다. 미래의 하드 포크(hard fork)는 이 트리를 자체 분기에 배치 할 수 있다.<ref name = "깃허브">〈[https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki 깃허브]〉, 《깃허브》</ref>특히 BIP141은 다음과 같은 새로운 트랜잭션 유형을 정의한다. P2WPKH , P2WPKH-in-P2SH , P2WSH , P2WSH-in-P2SH. 처음 두 가지 유형만 현재 Trezor 에서 지원한다.<ref>〈[https://wiki.trezor.io/Cryptocurrency_standards#BIP43_-_Purpose_field_for_deterministic_wallets Cryptocurrency 표준]〉, 《trezor wiki》</ref>
+
BIP141은 트랜잭션 병합 트리와 별도로 블록에 커밋되는 "감시 (witness)"라는 새로운 구조를 정의한다. 이 구조에는 트랜잭션 유효성을 확인하는 데 필요한 데이터가 있지만 트랜잭션 영향을 결정하는 데 필요하지는 않다. 특히 스크립트와 서명이 새로운 구조로 옮겨진다. 목격자는이 SegWit을 Bitcoin의 소프트포크(soft-fork)를 호환 가능하게 만들기 위해 코인베이스 트랜잭션을 통해 블록의 기존 머클 루트(merkle root)에 중첩 된 트리에서 커밋된다. 선점 거래형태의 악성 문제를 해결하기 때문에 번개 네트워크의 전제조건이기도 하다. 미래의 하드 포크(hard fork)는 이 트리를 자체 분기에 배치 할 수 있다.<ref name = "깃허브">〈[https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki 깃허브]〉, 《깃허브》</ref>특히 BIP141은 다음과 같은 새로운 트랜잭션 유형을 정의합니다. P2WPKH , P2WPKH-in-P2SH , P2WSH , P2WSH-in-P2SH . 처음 두 가지 유형만 현재 Trezor 에서 지원한다.<ref>〈[https://wiki.trezor.io/Cryptocurrency_standards#BIP43_-_Purpose_field_for_deterministic_wallets Cryptocurrency 표준]〉, 《trezor wiki》</ref>
  
== 트랜잭션 구조 ==
+
== 배경 ==
BIP141 (Bitcoin Improvement Proposal)에서 제한된 기존 트랜잭션의 포맷을 바꾸는 소프트 포크이다.
 
기존 방법 : [nVersion][txins][txout][nLockTime]
 
세그윗 : [nVersion][marker][flag][txins][txout][witness][nLockTime]
 
nVersion :  버전, txins : 입력, txouts : 출력, nLockTime : 잠금시간(블럭에 기록될 수 있는 시간)<ref> loum, 〈[https://brunch.co.kr/@loum/7 암호화폐에서 세그윗(segwit)에 대한 설명]〉, 《beta brunch》, 2017-10-20</ref>
 
  
== 세그윗 ==
+
== SegWit ==
'분리된 증인'의 줄임말인 [[세그윗]](SegWit; Segregated Witness)은 거래 처리 용량이 늘어나는 일종의 기술적 업그레이드를 의미한다. 비트코인 커뮤니티가 확장되면서 처리 속도가 늦어지는 등의 문제가 발생하게 되는데, 기존 블록에 서명을 분리해 처리 용량을 늘리는 것을 세그윗이라 한다. <ref> 명전선 기자, 〈[https://www.blockmedia.co.kr/archives/33180 비트코인 용어 세그윗]〉, 《block media》, 2018-02-21</ref>
 
  
=== 특징 ===
+
== 관련 BIP ==
* 거래 속도의 확장성(scalability) : 블록의 크기를 1MB 내외로 유지하면서 거래를 처리할 수 있는 속도를 더 빨리할 수 있는 방법이 세그윗이다. 세그윗은 서명 부분을 따로 Witness라는 데이터 영역으로 분리해 더 많은 거래를 처리할 수 있도록 업데이트하는 것이다. 단순히 블록의 크기를 키우는 것도 방법이 될 수 있지만 그것을 감당할 수 있는 해시파워가 전 세계적으로 많지 않아 탈중앙화라는 블록체인의 특성에 맞지 않게 된다. 따라서 블록 크기를 유지하면서 블록 내부의 내용을 업데이트하는 것이다. <ref name = "easyblockchain"> easyblockchain, [https://banksalad.com/contents/%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85%ED%95%98%EB%8A%94-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%EC%84%B8%EA%B7%B8%EC%9C%97-Segwit-%EC%9D%B4%EB%9E%80-9gjVA 쉽게 설명하는 블록체인:세그윗이란?]〉, 《bank salad》, 2018-06-01</ref>
+
* [[BIP32]] : [[HD 지갑]]의 일반적인 형식과 HD 지갑을 구축하는 방법을 설명한 문서
* 거래 가변성(Transaction Malleability) : 가변성의 문제를 세그윗이 이 txid를 따로 보관하고 관리함으로써 여러 개의 ID를 가지고 장난을 치거나 동일한 거래 내역 여러 개를 만드는 것을 막을 수 있다.<ref name = "easyblockchain"></ref>
+
* [[BIP39]] : 결정성 열쇠를 파생하기 위한 니모닉 코드(복원 규칙)의 유형 및 BIP32 시드로 전환하는 프로세스
* 버전 호환 : 세그윗은 하드 포크가 아닌 소프트포크이므로 비트코인 소프트웨어의 업그레이드를 하지 않아도 세그윗 이전과 세그윗 적용 버전을 모든 노드에서 사용할 수 있다.<ref> misskiwi, 〈[https://cryptokiwi.kr/currency?id=btc&category=2&content_id=217 세그윗(Segwit)이란 무엇인가?]〉, 《CRYPTOHIWI》, 2018-07</ref>
+
* [[BIP43]] : 트리 구조의 목적을 나타내는 특별한 식별자로써 첫 강화된 자식 인텍스의 자용을 제안
 +
* [[BIP44]] : BIP32 지갑의 특정 형식, 목적을 44로 설정해서 나타나는 다중화폐 다계정 주고를 제안
 +
* [[BIP47]] : 비트코인 개선 제안 및 결제 코드 작성 방법
 +
* [[BIP49]] : P2WPKH가 중첩 된 P2SH 기반 계정의 유도 스키마
 +
* [[BIP63]] : 스텔스 주소
 +
* [[BIP70]] : SSL/TLS 통신을 이용하여 비트코인의 결제를 안전하게 함(지불 요청 프로토콜)
 +
* [[BIP84]] : P2WPKH 기반 계정의 유도 스키마
 +
* [[BIP141]] : 분리된 증인(Consensus layer)
  
 
{{각주}}
 
{{각주}}
23번째 줄: 25번째 줄:
 
* 〈[https://wiki.trezor.io/Cryptocurrency_standards#BIP43_-_Purpose_field_for_deterministic_wallets Cryptocurrency 표준]〉, 《trezor wiki》
 
* 〈[https://wiki.trezor.io/Cryptocurrency_standards#BIP43_-_Purpose_field_for_deterministic_wallets Cryptocurrency 표준]〉, 《trezor wiki》
 
* 〈[https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki 깃허브]〉, 《깃허브》
 
* 〈[https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki 깃허브]〉, 《깃허브》
* Eastinny, 〈[hhttps://www.clien.net/service/board/cm_vcoin/10984851]〉, 《clien》, 2017-07-18
 
* loum, 〈[https://brunch.co.kr/@loum/7 암호화폐에서 세그윗(segwit)에 대한 설명]〉, 《beta brunch》, 2017-10-20
 
* 명전선 기자, 〈[https://www.blockmedia.co.kr/archives/33180 비트코인 용어 세그윗]〉, 《block media》, 2018-02-21
 
* easyblockchain, 〈[https://banksalad.com/contents/%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85%ED%95%98%EB%8A%94-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%EC%84%B8%EA%B7%B8%EC%9C%97-Segwit-%EC%9D%B4%EB%9E%80-9gjVA 쉽게 설명하는 블록체인:세그윗이란?]〉, 《bank salad》, 2018-06-01
 
* misskiwi, 〈[https://cryptokiwi.kr/currency?id=btc&category=2&content_id=217 세그윗(Segwit)이란 무엇인가?]〉, 《CRYPTOHIWI》, 2018-07
 
 
== 같이 보기 ==
 
* [[세그윗]]
 
* [[BIP]]
 
  
 
{{블록체인 기술|검토 필요}}
 
{{블록체인 기술|검토 필요}}

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

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