검수요청.png검수요청.png

"해시타임락"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글 (같이보기)
잔글
 
(사용자 5명의 중간 판 65개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''해시타임락'''(Hashed Time Lock Contract)이란 암호화폐의 결제 기술 중하나로 계약을 일정 시간까지로 제한한 타임락(Timelock)과 일정한 해시값이 제시돼야 계약이 성사되는 해시락(Hashlock)이 결합된 형태이다.
+
'''해시타임락'''(hashed time lock)<!--hash time lock-->이란 [[암호화폐]]의 결제 기술 중 하나로서, 계약을 일정 시간까지로 제한한 [[타임락]](time lock)과 일정한 [[해시값]]이 제시돼야 계약이 성사되는 [[해시락]](hash lock)이 결합한 형태이다. '''해시타임락 채널'''<!--해시타임락채널-->(HTLC; hashed time lock channel) 또는 '''해시타임락 계약'''<!--해시타임락계약-->(HTLC; hashed time lock contract)이라고도 하며, 영어로 '''HTLC'''라고 쓴다.
  
 
== 개요 ==
 
== 개요 ==
해시타임락(Hashed Timelocked Contracts, HTLC)는 원자 스왑을 위한 프로토콜로 잘 알려진 간단한 기법이다. 지불행위의 수신자에게 두 가지중 하나를 요구하는데, 지불행위의 암호학적 증명으로 생성된 데드라인 전 까지 지불행위를 받아들여서 인정하는 것과 지불행위 요구에 대한 능력을 박탈당하여 지불행위자에게 다시 돌아가는 것을 요구한다. 이렇게 수신자가 발행한 지불행위에 대한 암호학적 증명은 서로 다른 지불행위들에서 서로 다른 행동을 일으키게 해주며 이러한 특징으로 인해 해시타임락을 비트코인에서 조건부 지불행위(conditional payment)를 가능케 해주는 강력한 기술이다.
+
해시타임락은 [[스마트 계약]] 기술 중 하나인 타임락 기능과 고유의 해시값을 입력해야만 거래가 이뤄지는 [[해시]] [[알고리즘]]이 결합한 형태의 기술이다. 특정 상대방에게 [[코인]]을 보내면서 실제로 보내지는 시점에 제한을 걸어두고(타임락), 그 시점까지 상대방 코인을 보내지 않으면 거래가 이루어지지 않게끔 하는(해시락) 것이 핵심이다. 서로 다른 [[블록체인]] 간에는 서로한테 일어나는 일을 볼 수 없다는 단점을 가지고 있다. 해시타임락을 통해 중개자 없이 서로를 보지 않아도 서로의 [[메인넷]]과 연결된 것과 같은 효과를 낼 수 있기 때문에 더욱 신뢰성 있는 교환을 할 수 있게 된다.<ref name="해시타임락">황정빈 기자, 〈[https://www.zdnet.co.kr/view/?no=20190528153905 "해시타임락 이용해 거래소 없이 코인 교환한다"]〉, 《지디넷코리아》, 2019-05-28</ref> 해시타임락을 통해 서로 다른 블록체인 간의 [[암호화폐]] 교환 기술인 [[아토믹스왑]](atomic swap)을 성사할 수 있는데, 해시타임락은 지급행위에 있어 수신자에게 두 가지 중 하나를 요구한다.<ref>ohman, 〈[https://blog.naver.com/namho46/221250138714 Hashed Timelock Contracts(HTLC)]〉, 《네이버 블로그》, 2018-04-11</ref>
  
== 특징 ==
+
# 지급행위의 암호학적 증명으로 생성된 데드라인 전까지 지급행위를 받아들여서 인정하는 것
지불행위는 기본적으로 타임락을 사용하지만 해시락을 사용하여 확장할 수 있다. 이렇게 두 개 이상의 결제 채널을 통해 비트코인 결제 경로를 지정할 수 있게 된다.
+
# 지급행위 요구에 대한 능력을 박탈당하여 지급행위자에게 다시 돌아가는 것
 +
 
 +
이렇게 수신자가 발행한 지급행위에 대한 암호학적 증명은 서로 다른 지급행위들에서 서로 다른 행동을 일으키게 해주며 이러한 특징으로 인해 해시타임락을 [[비트코인]]에서 조건부 지급행위(conditional payment)를 가능케 해주는 강력한 기술이다.<ref>박현영 기자, 〈[https://decenter.sedaily.com/NewsView/1VDZFBQIZ8 변화 모색하는 퀀텀...거래소 없이도 비트코인과 교환]〉, 《디센터》, 2019-01-10</ref>
 +
 
 +
== 예제 ==
 +
[[파일:해시타임락.png|오른쪽|450픽셀|썸네일|'''해시타임락'''(hash time lock) 설명]]
 +
 
 +
다음은 해시타임락의 예제이다.
 +
 
 +
# 앨리스는 밥에게 지불 채널을 생성하고 밥은 캐롤에게 지급 채널을 생성한다.
 +
# 앨리스는 캐롤에게 코인 1,000달러를 지불하고 무엇인가를 사고 싶어 한다..
 +
# 캐롤은 무작위 번호를 생성하고 [[SHA-256]] 해시를 생성한다. 캐롤은 앨리스에게 생성한 [[해시]]를 전달한다.
 +
# 앨리스는 밥에게 자신의 지급 채널을 통하여 코인 1,000달러를 지불하지만, 캐롤이 준 해시도 추가 조건과 함께 지불한다. 밥이 지급을 요구하기 위해서, 그는 해시를 생산하는 데 사용된 데이터를 제공해야만 한다.
 +
# 밥은 캐롤에게 자신의 지불 채널을 통해 코인 1,000달러를 지불하고, 앨리스가 밥에게 건 추가조건과 동일한 조건의 사본을 캐롤에게도 건네준다.
 +
# 캐롤은 해시(사전 이미지로 칭함)를 제작하는 데 사용된 본래의 데이터를 가지고 있기 때문에 캐롤은 이 데이터를 사용하여 결제를 마무리하고 밥으로부터 결제를 충분히 받을 수 있다. 그렇게 함으로써, 캐롤은 반드시 밥에게 해시 프리미지(Preimage)를 제공할 수 있게 된다.
 +
# 밥은 앨리스와의 결제를 마무리하기 위해 해시 프리미지(Preimage)를 사용한다.<ref>"[https://en.bitcoinwiki.org/wiki/Hashed_Timelock_Contracts#Example Hashed Timelock Contracts]", ''BitcoinWiki''</ref>
 +
 
 +
이때 주의해야 할 점은 타임락을 넉넉하게 잡아야 한다는 것이다. 만약 앨리스가 데드라인을 짧게 설정해 앨리스의 데드라인이 먼저 끝나고, 밥의 데드라인만 남게 되면 밥이 앨리스의 계약을 열지 못한 채 앨리스의 데드라인이 끝나게 돼, 앨리스는 자신의 코인도 되돌려 받게 되고 밥이 보낸 코인도 받아가게 된다. [[타임락]]이 길어졌을 때 안 좋은 것은 환불받는 기간이 늦어지는 것밖에 없기 때문에 거래의 안정성을 생각한다면 처음 스마트 계약을 만드는 사람의 기간을 넉넉하게 잡을 필요가 있다.<ref name="해시타임락"></ref>
  
 
{{각주}}
 
{{각주}}
  
 
== 참고자료 ==
 
== 참고자료 ==
 +
* 박현영 기자, 〈[https://decenter.sedaily.com/NewsView/1VDZFBQIZ8 변화 모색하는 퀀텀...거래소 없이도 비트코인과 교환]〉, 《디센터》, 2019-01-10
 +
* 황정빈 기자, 〈[https://www.zdnet.co.kr/view/?no=20190528153905 "해시타임락 이용해 거래소 없이 코인 교환한다"]〉, 《지디넷코리아》, 2019-05-28
 +
* "[https://en.bitcoinwiki.org/wiki/Hashed_Timelock_Contracts#Example Hashed Timelock Contracts]", ''BitcoinWiki'
 +
* ohman, 〈[https://blog.naver.com/namho46/221250138714 Hashed Timelock Contracts(HTLC)]〉, 《네이버 블로그》, 2018-04-11
  
 
== 같이 보기 ==
 
== 같이 보기 ==

2019년 9월 26일 (목) 01:37 기준 최신판

해시타임락(hashed time lock)이란 암호화폐의 결제 기술 중 하나로서, 계약을 일정 시간까지로 제한한 타임락(time lock)과 일정한 해시값이 제시돼야 계약이 성사되는 해시락(hash lock)이 결합한 형태이다. 해시타임락 채널(HTLC; hashed time lock channel) 또는 해시타임락 계약(HTLC; hashed time lock contract)이라고도 하며, 영어로 HTLC라고 쓴다.

개요[편집]

해시타임락은 스마트 계약 기술 중 하나인 타임락 기능과 고유의 해시값을 입력해야만 거래가 이뤄지는 해시 알고리즘이 결합한 형태의 기술이다. 특정 상대방에게 코인을 보내면서 실제로 보내지는 시점에 제한을 걸어두고(타임락), 그 시점까지 상대방 코인을 보내지 않으면 거래가 이루어지지 않게끔 하는(해시락) 것이 핵심이다. 서로 다른 블록체인 간에는 서로한테 일어나는 일을 볼 수 없다는 단점을 가지고 있다. 해시타임락을 통해 중개자 없이 서로를 보지 않아도 서로의 메인넷과 연결된 것과 같은 효과를 낼 수 있기 때문에 더욱 신뢰성 있는 교환을 할 수 있게 된다.[1] 해시타임락을 통해 서로 다른 블록체인 간의 암호화폐 교환 기술인 아토믹스왑(atomic swap)을 성사할 수 있는데, 해시타임락은 지급행위에 있어 수신자에게 두 가지 중 하나를 요구한다.[2]

  1. 지급행위의 암호학적 증명으로 생성된 데드라인 전까지 지급행위를 받아들여서 인정하는 것
  2. 지급행위 요구에 대한 능력을 박탈당하여 지급행위자에게 다시 돌아가는 것

이렇게 수신자가 발행한 지급행위에 대한 암호학적 증명은 서로 다른 지급행위들에서 서로 다른 행동을 일으키게 해주며 이러한 특징으로 인해 해시타임락을 비트코인에서 조건부 지급행위(conditional payment)를 가능케 해주는 강력한 기술이다.[3]

예제[편집]

해시타임락(hash time lock) 설명

다음은 해시타임락의 예제이다.

  1. 앨리스는 밥에게 지불 채널을 생성하고 밥은 캐롤에게 지급 채널을 생성한다.
  2. 앨리스는 캐롤에게 코인 1,000달러를 지불하고 무엇인가를 사고 싶어 한다..
  3. 캐롤은 무작위 번호를 생성하고 SHA-256 해시를 생성한다. 캐롤은 앨리스에게 생성한 해시를 전달한다.
  4. 앨리스는 밥에게 자신의 지급 채널을 통하여 코인 1,000달러를 지불하지만, 캐롤이 준 해시도 추가 조건과 함께 지불한다. 밥이 지급을 요구하기 위해서, 그는 해시를 생산하는 데 사용된 데이터를 제공해야만 한다.
  5. 밥은 캐롤에게 자신의 지불 채널을 통해 코인 1,000달러를 지불하고, 앨리스가 밥에게 건 추가조건과 동일한 조건의 사본을 캐롤에게도 건네준다.
  6. 캐롤은 해시(사전 이미지로 칭함)를 제작하는 데 사용된 본래의 데이터를 가지고 있기 때문에 캐롤은 이 데이터를 사용하여 결제를 마무리하고 밥으로부터 결제를 충분히 받을 수 있다. 그렇게 함으로써, 캐롤은 반드시 밥에게 해시 프리미지(Preimage)를 제공할 수 있게 된다.
  7. 밥은 앨리스와의 결제를 마무리하기 위해 해시 프리미지(Preimage)를 사용한다.[4]

이때 주의해야 할 점은 타임락을 넉넉하게 잡아야 한다는 것이다. 만약 앨리스가 데드라인을 짧게 설정해 앨리스의 데드라인이 먼저 끝나고, 밥의 데드라인만 남게 되면 밥이 앨리스의 계약을 열지 못한 채 앨리스의 데드라인이 끝나게 돼, 앨리스는 자신의 코인도 되돌려 받게 되고 밥이 보낸 코인도 받아가게 된다. 타임락이 길어졌을 때 안 좋은 것은 환불받는 기간이 늦어지는 것밖에 없기 때문에 거래의 안정성을 생각한다면 처음 스마트 계약을 만드는 사람의 기간을 넉넉하게 잡을 필요가 있다.[1]

각주[편집]

  1. 1.0 1.1 황정빈 기자, 〈"해시타임락 이용해 거래소 없이 코인 교환한다"〉, 《지디넷코리아》, 2019-05-28
  2. ohman, 〈Hashed Timelock Contracts(HTLC)〉, 《네이버 블로그》, 2018-04-11
  3. 박현영 기자, 〈변화 모색하는 퀀텀...거래소 없이도 비트코인과 교환〉, 《디센터》, 2019-01-10
  4. "Hashed Timelock Contracts", BitcoinWiki

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 해시타임락 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.