"해시타임락"의 두 판 사이의 차이
(→예제) |
잔글 |
||
(사용자 5명의 중간 판 57개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''해시타임락'''( | + | '''해시타임락'''(hashed time lock)<!--hash time lock-->이란 [[암호화폐]]의 결제 기술 중 하나로서, 계약을 일정 시간까지로 제한한 [[타임락]](time lock)과 일정한 [[해시값]]이 제시돼야 계약이 성사되는 [[해시락]](hash lock)이 결합한 형태이다. '''해시타임락 채널'''<!--해시타임락채널-->(HTLC; hashed time lock channel) 또는 '''해시타임락 계약'''<!--해시타임락계약-->(HTLC; hashed time lock contract)이라고도 하며, 영어로 '''HTLC'''라고 쓴다. |
== 개요 == | == 개요 == | ||
− | [[ | + | 해시타임락은 [[스마트 계약]] 기술 중 하나인 타임락 기능과 고유의 해시값을 입력해야만 거래가 이뤄지는 [[해시]] [[알고리즘]]이 결합한 형태의 기술이다. 특정 상대방에게 [[코인]]을 보내면서 실제로 보내지는 시점에 제한을 걸어두고(타임락), 그 시점까지 상대방 코인을 보내지 않으면 거래가 이루어지지 않게끔 하는(해시락) 것이 핵심이다. 서로 다른 [[블록체인]] 간에는 서로한테 일어나는 일을 볼 수 없다는 단점을 가지고 있다. 해시타임락을 통해 중개자 없이 서로를 보지 않아도 서로의 [[메인넷]]과 연결된 것과 같은 효과를 낼 수 있기 때문에 더욱 신뢰성 있는 교환을 할 수 있게 된다.<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]
- 지급행위의 암호학적 증명으로 생성된 데드라인 전까지 지급행위를 받아들여서 인정하는 것
- 지급행위 요구에 대한 능력을 박탈당하여 지급행위자에게 다시 돌아가는 것
이렇게 수신자가 발행한 지급행위에 대한 암호학적 증명은 서로 다른 지급행위들에서 서로 다른 행동을 일으키게 해주며 이러한 특징으로 인해 해시타임락을 비트코인에서 조건부 지급행위(conditional payment)를 가능케 해주는 강력한 기술이다.[3]
예제[편집]
다음은 해시타임락의 예제이다.
- 앨리스는 밥에게 지불 채널을 생성하고 밥은 캐롤에게 지급 채널을 생성한다.
- 앨리스는 캐롤에게 코인 1,000달러를 지불하고 무엇인가를 사고 싶어 한다..
- 캐롤은 무작위 번호를 생성하고 SHA-256 해시를 생성한다. 캐롤은 앨리스에게 생성한 해시를 전달한다.
- 앨리스는 밥에게 자신의 지급 채널을 통하여 코인 1,000달러를 지불하지만, 캐롤이 준 해시도 추가 조건과 함께 지불한다. 밥이 지급을 요구하기 위해서, 그는 해시를 생산하는 데 사용된 데이터를 제공해야만 한다.
- 밥은 캐롤에게 자신의 지불 채널을 통해 코인 1,000달러를 지불하고, 앨리스가 밥에게 건 추가조건과 동일한 조건의 사본을 캐롤에게도 건네준다.
- 캐롤은 해시(사전 이미지로 칭함)를 제작하는 데 사용된 본래의 데이터를 가지고 있기 때문에 캐롤은 이 데이터를 사용하여 결제를 마무리하고 밥으로부터 결제를 충분히 받을 수 있다. 그렇게 함으로써, 캐롤은 반드시 밥에게 해시 프리미지(Preimage)를 제공할 수 있게 된다.
- 밥은 앨리스와의 결제를 마무리하기 위해 해시 프리미지(Preimage)를 사용한다.[4]
이때 주의해야 할 점은 타임락을 넉넉하게 잡아야 한다는 것이다. 만약 앨리스가 데드라인을 짧게 설정해 앨리스의 데드라인이 먼저 끝나고, 밥의 데드라인만 남게 되면 밥이 앨리스의 계약을 열지 못한 채 앨리스의 데드라인이 끝나게 돼, 앨리스는 자신의 코인도 되돌려 받게 되고 밥이 보낸 코인도 받아가게 된다. 타임락이 길어졌을 때 안 좋은 것은 환불받는 기간이 늦어지는 것밖에 없기 때문에 거래의 안정성을 생각한다면 처음 스마트 계약을 만드는 사람의 기간을 넉넉하게 잡을 필요가 있다.[1]
각주[편집]
- ↑ 1.0 1.1 황정빈 기자, 〈"해시타임락 이용해 거래소 없이 코인 교환한다"〉, 《지디넷코리아》, 2019-05-28
- ↑ ohman, 〈Hashed Timelock Contracts(HTLC)〉, 《네이버 블로그》, 2018-04-11
- ↑ 박현영 기자, 〈변화 모색하는 퀀텀...거래소 없이도 비트코인과 교환〉, 《디센터》, 2019-01-10
- ↑ "Hashed Timelock Contracts", BitcoinWiki
참고자료[편집]
- 박현영 기자, 〈변화 모색하는 퀀텀...거래소 없이도 비트코인과 교환〉, 《디센터》, 2019-01-10
- 황정빈 기자, 〈"해시타임락 이용해 거래소 없이 코인 교환한다"〉, 《지디넷코리아》, 2019-05-28
- "Hashed Timelock Contracts", BitcoinWiki'
- ohman, 〈Hashed Timelock Contracts(HTLC)〉, 《네이버 블로그》, 2018-04-11
같이 보기[편집]