블록체인 5

[DeFi] 암호화폐를 담보로 대출을 왜 받는걸까?

처음에는 암호화폐를 담보로 대출을 해준다는 소리를 듣고 의아했는데 (그냥 갖다 팔면 되지 뭣하러?), 나름대로 수요가 클 수도 있겠다는 생각이 들었다. 예를 들어 1 ETH (시가 $1000 가정)을 가지고 오면 시가의 80% 정도인 800 DAI (1 DAI는 1 USD에 맞춰지도록 설계된 스테이블 코인)을 대출해준다고 하자. 원래 ETH을 찾아가기 위해서는 나중에 이자를 5% 붙여 원리금 840 DAI를 주고 맡겨 놓은 ETH를 되찾는 것이다. 여기서 암호화폐 자체를 처분한 것이 아니므로 long term capital gain에 대한 낮은 세율을 노려보는 사람들도 있을 것이고... 이제 여기서 조금 더 미친 짓(?)을 하자면 800 DAI를 가지고 0.8 이더리움을 시중에서 구한 다음에 대출을 연쇄..

블록체인 2021.01.24

[비트코인] 비트코인 RBF "사기"는 아니죠

한 언론사에서 자극적인 기사를 썼는데, 정확한 이해 없이 쓴 것으로 보인다. 비트코인 p2p 네트워크에 제출된 트랜잭션은 fee가 너무 낮으면 언제 처리될지 알 수 없고 무한정 기다려야 할 수도 있다. 한 번 제출한 트랜잭션을 명시적으로 '취소'할 수 있는 기능은 없고, 대신에 fee를 높여 (replace by fee 문서 참조) 더 높은 우선순위를 얻어 블록체인에 반영시킬 수 있다. 그렇게 되면 기존 트랜잭션은 암묵적으로 취소된다. 우연히 동시에 마이닝된 블록 A, B에 각각 포함되게 되면서 이상 거래로 포착된 것. 하지만 기본적으로 비트코인 블록이 '안정화'될 때까지 적어도 6 confirmations 정도를 기다리고, 애초에 블록 A와 블록 B가 양립할 수 없으므로 전혀 문제가 되는 사안은 아니다..

블록체인 2021.01.22

[Uniswap] DeFi에서 Liquidity Pool (유동성 풀) 동작 원리

DeFi에는 크게 관심을 두지 않았는데, uniswap의 Automated Market Makers (AMM) 방식은 흥미로워 간단하게 포스팅을 하고자 한다. (주: 본인이 이해한 바를 적은 것이므로 반드시 cross check를 하길 바람) 우리가 익숙한 온라인 거래 방식은 orderbook에 매수자/매도자가 서로 원하는 호가를 넣고 가격이 맞으면 체결되는 식이다. 블록체인에서 이런 것을 구현하는 자체는 어렵지 않지만 문제는 주문을 넣거나 취소하거나 호가를 변경하는 등의 일을 할 때마다 매번 트랜잭션을 발생하므로 엄청난 수수료를 발생시키게 된다. 그렇다면 orderbook 방식을 사용하지 않고 외부 시장에서 시시각각으로 변하는 가격을 어떻게 '탈중앙화' 거래소에 반영시킬 수 있을까? 여기서 AMM이라는..

블록체인 2021.01.18

[Ethereum] Metamask에서 낮은 수수료(TX fee)로 전송이 안될 때

전송 수수료를 아끼려다가 마이닝이 너무 오래 걸릴 때 사용할 수 있는 방법이다. 이더리움 블록체인에서는 한번 p2p 네트워크로 나간 트랜잭션(TX)을 취소하는 기능은 원칙적으로는 제공하지 않지만, 더 높은 gas price를 써내는 방식으로 간접적으로 취소할 수 있다. TX에는 nonce항목을 입력할 수 있는데, 보내는 지갑에서 몇 번째로 나가는 트랜잭션인지를 나타낸다. 보통은 순차적으로 증가하는데, 위의 그림처럼 9번째 해당하는 트랜잭션이 처리가 되지 않아서 뒤의 트랜잭션도 죄다 밀리게 된다. 이때 metamask의 '설정' 메뉴에서 "customize transaction nonce"를 '사용'으로 체크한 다음에, 현재 처리되지 않은 트랜잭션(pending transaction)의 nonce를 입력한..

블록체인 2020.09.04

Immutability (불변성)

블록체인의 가장 큰 특징 중 하나는 새로운 데이터를 추가하려면 반드시 이전의 데이터를 참조해야 한다는 점이다. 이렇게 데이터 구조를 설계하면 과거의 데이터를 변조하는 것이 어려워진다. 가령 어떤 사람이 과거 데이터를 조작하고 그 내용을 네트워크에서 전파하더라도 곧 들통나게 된다. 모두가 A를 저장하고 있는데 A'를 가져오면 A'는 틀린 것으로 간주하면 된다. 같은 내용을 가지고 있는 사람 수가 많으면 많을수록 해당 블록체인은 (데이터의 조작으로부터) 안전하다고 할 수 있다. 만약 A와 A'를 들고 있는 사람의 수가 같다면 어느 것이 진본인지 알 수 없을 것이다. 그렇다면 어떤 방식으로 데이터를 참조하는 것일까? 매번 모든 데이터를 포함하는 것은 비효율적이다. 여기서 hash 함수가 유용하게 사용된다. h..

블록체인 2020.01.17