월렛워치 WalletWatch 2 — 트랜잭션, 무슨 일이 일어난 건가요?

Pado
Pado Wallet Watch
Published in
9 min readAug 22, 2022

“트렌잭션 내역은 재미있습니다. 제가 좋아하는 장부해석 퀴즈 같아요.”

20대초반 코인투자자가 2019년 8월에 40비트를 샀고 2년 뒤 반포주공1단지 아파트 한 채를 취득했다면 이 투자자는 얼마에 아파트를 거래한 걸까요?

정답은 ‘아파트 거래는 일어나지 않았다.’ 입니다. 이 투자자는 부모님에게 집을 상속 받았으니까요! 가격에만 초점을 맞추면 문제를 풀 수 없습니다. 무슨 일이 일어난 건지 핵심을 봐야 돼요. 😀

무슨 일이 일어난거니? — 트랜잭션 분류하기

일단 트랜잭션 내용을 재미있어한다는 문장은 새빨간 거짓말입니다. 라임 맞추려고 그랬습니다.

트랜잭션은 소유권 이동입니다.
‘무슨 일이 일어났는가?’에 해당하는 것이죠.
전 편 포스팅에서 한참 원망했던 이더스캔은 블록체인에서의 소유권 이동 내역을 인간의 뇌구조에 맞지 않게 보여주는 온라인 문서 입니다.

우리는 진화의 과정에서 불완전한 레거시를 달고 조금씩 뗌빵질로 수습해온 뇌를 갖고 있기 때문에, 복잡하고 내용이 많은 정보를 마주하면 컴퓨터처럼 착착 분류해서 받아들이고 이해하지 못합니다. 취향에 맞는 정보만 읽거나, 화가 많이 나거나, 딴청을 피우게 되죠(저처럼요).
의도해서 그런 게 아니고 그냥 원래 인간이 그렇다고 합니다. 뇌구조를 리팩토링을 하면 좋겠지만 리팩토링은 창조지 진화가 아니니까 불가능하겠죠?
돈을 주고 이해해보라고, 그게 네 일이라고 한다면 진화를 이겨내보겠지만, 사용자 입장이라면 기대할 수 없는 일입니다.

은행 시스템이나 간편 송금 같은 것을 이용할 때 일어나는 세세한 일을 모두 나열해서 보여주면 이더스캔처럼 생겨먹게 되지 않을까 합니다. 그러나 은행은 이더스캔처럼 근본 없이 벌거벗고 소리치는 대신 아주 세련되고 단촐하게 차려입은 모습으로 잘 분류된 몇 가지 정보만을 보여줄 줄 알죠. 은행은 14세기부터 필드에서 구르면서 심지어 늙지도 않은 백전노장이지 않습니까.
아마도 지금 고개를 절래절래 흔들고 있겠죠.
너 그거 아니야… 예의있게 행동해.

이미지 출처 : https://brunch.co.kr/@somewonyoon/87

은행앱의 소유권 이동 내역은 대체로 아래 캡쳐 화면과 유사한 구조를 가지고 우리에게 무슨 일이 일어났는지 설명하고 있습니다. 어떤 정보들이 어떻게 분류되어 있을까요?

어느 직장인의 은행거래내역.

1 먼저 은행 거래 내역은 블록체인 트랜잭션과 크게 다른 한 가지 전제가 있습니다. ‘무엇’의 소유권이 이동했는지가 명확히 정해져있고 우리는 대체로 어려움 없이 그것을 이해한다는 것입니다.

https://www.techm.kr/news/articleView.html?idxno=1768

돈(화폐) 이라는 것의 소유권이 이동하는 것이지요.
숫자(금액)+원(화폐단위) 이라고 조합되어 가장 잘 보이게 표현되는 정보입니다. 금이나 채권, 주식 등의 소유권 이동 내역은 아예 통장을 구분해버립니다. 그래서 은행은 하나의 보통예금 통장 안에서 어떤 자산의 소유권이 이동하는지 분류할 필요는 없어집니다. 돈만 오고갑니다.

2 소유권 ‘이동의 종류’는 분류해서 보여줍니다.
[보내기/받기]가 있습니다. 보낸 돈은 숫자 앞에 마이너스가 붙은 검은색 글씨, 받은 돈은 마이너스가 없는 파란색 글씨로 긍정감을 더해 표현을 하고 있습니다. 그리고 그 안에서 조금 다른 형태를 구분했습니다. 직접 보내고 받은 것에는 별다른 표기를 하지 않았지만 #자동이체 #대출원리금 #체크카드 등으로 이동에 관여된 몇 가지 특징을 안내하죠.

3 그리고 ‘누구와’ 소유권 이동을 했는지 보여줍니다. 나와 소유권 이동을 한 자가 센자이료쿠인지 신한카드인지 홍길동인지 등으로 표기된 것 말입니다.

4 소유권 이동의 결과 나의 돈이 얼마나 남았는지도 보여주구요, 언제 이동이 일어났는지 날짜도 보여줍니다.

각 내역의 상세페이지를 열어보면 더 많은 정보를 주지만, 거의 열어볼 일은 없습니다. 이 정도면 만족스러우니까요. ‘내가 언제 누구에게/누구로부터 얼마를 보냈고/받았고 얼마가 남았다’ 는 사실만 알면 대체로 궁금해서 죽어버릴 것 같은 느낌은 안받거든요. 그리고 우리는 지난 10여년 간 ‘구어체 문장’으로 말하지 않아도 위 화면의 UI와 같은 표현을 받아들이고 이해할 수 있게 교육되었습니다.

노장의 지혜를 보았으니 이제 블록체인 트랜잭션을 어떻게 분류해야 할지 궁리할 시간입니다.

트랜잭션 분류

1 난처하게도 트랜잭션 내역을 이해하려면 ‘무엇’의 소유권이 이동했는지 부터 살펴보아야 합니다. 이 정보형식(트랜잭션 내역)은 [코인], [토큰], [NFT]의 소유권 이동을 한 가슴에 품었거든요. 그래서 세 종류의 자산 구분이 먼저 이루어져야 합니다.

2 그 다음 소유권 ‘이동의 종류’를 분류해야겠죠.
이것도 사람의 뇌로 이해하기로는 비빔밥처럼 다 때려박아놓은 형태라서, 보내기, 받기, #민팅하기, #교환하기, #구매하기, #판매하기, #삭제하기, #소매넣기(동의 없이 몰래 보내놓기), #공짜로 민팅하기 등의 특징적인 이동의 형태들이 마구 일어나고 있습니다.
근데 이더스캔은 이런 것들을 명확한 단어로 알려주지 않습니다. 명확한 건 Transfer 즉 이동만 있습니다. [보내기]와 [받기] 라고 말 할 수 있겠죠. 우리는 보내고 받은 맥락을 파악해서 이게 위의 많은 것들 중 어떤 행위인지 판단해내야 합니다.

3 그리고 ‘누구와’에 대한 정보가 있는데요, 이 지점에서 전통 금융보다 좋은(?) 부분이 있습니다. 상대방의 지갑, 즉 계좌와 같은 곳에 클릭 한 번으로 내가 방문해서 관찰할 수 있다는 거죠. 나와 돈을 주고받은 상대방의 통장을 훤히 볼 수 있다는 것, 파격적이지 않습니까?
대신 안좋은 점도 있습니다. 그 ‘누구’가 도무지 읽을 수 없는 이름을 가질 때가 많다는 것입니다.

0x4d0…한테서 0xcbc…한테로 갔다는데, 너네 누구니.

4 그 다음 ‘언제’ , ‘자산군 내에서의 종류’ , 각종 수수료나 블록 번호, 상태정보 등이 있습니다.

아니 그래서 무슨 일이 일어난 거라고? —내용 설명하기

분류된 내역은 사람이 읽고 이해할 수 있는 내용으로 정리할 필요가 있습니다. 트랜잭션의 예를 하나 찾아서 일단 결론부터 구어체로 말해볼까요?

“e1e1.eth님이 어제 13이더 넘게 주고 분홍색 배경에 하늘색 모자를 쓰고 눈알 하나가 얼굴 밖으로 나와서 짜증이 난 표정이지만 웬지 귀여워보이는 사람이 있는 두들스 라는 NFT를 샀네요! 저도 사야 할까요?"

정도의 이야기를 듣는다면, 이해하기 어렵진 않겠죠?

e1e1님의 Doodle #7338

그런데 우리가 원하는 온라인 서비스는 말로 설명해주는 전화상담같은 것이 아니죠. 전화상담은 소유권 이전을 언제나 실시간으로 능동적이게 알려줄 수 있는 형태가 아니기 때문입니다. 최소 은행 앱처럼 쓸만하게 만들려면, 사람이 만들긴 하지만 기계가 이해할 수 있게 구조를 짜고 기계어로 명령을 해서 스마트폰에서 사용할 수 있게 개발을 해야 합니다. 그러려면 데이터를 보여주는 통일된 기준과 확장성이 있어야 합니다.

위 문장을 분해해서 기계가 이해하고 실행할 수 있는 일과 매칭시켜보자면,

  • e1e1.eth님이:
    사람으로 인지되지만 이거 사실은 지갑 이름입니다. 엄청 긴 숫자+알파뱃 구성의 지갑 주소가 될 수도 있구요 축약된 주소로 표기될 수도 있습니다. 아무튼 사람이 아니라 ‘지갑’입니다.
  • 13이더 넘게 주고 :
    13이더 넘게가 13.몇 이더인지 정확한 정보가 있으니 보여주면 됩니다. 다만 이더는 원화와 달리 소수점 이하가 아주 길게 거래될 수 있어서(like 13.24839218385769 ETH) 이걸 사람이 보고 숫자를 인지할 수 있는 수준으로 잘라줄 필요가 있습니다. 13.25 ETH 정도면 적당할까요?
  • 분홍색 배경에 눈알 하나가 밖으로 나와있고 짜증이 난 표정이지만 웬지 귀여워보이는 사람이 있는 :
    이건 기계가 유리합니다. 이미지를 직접 보여줄 수 있거든요.
  • 두들스 라는 :
    두들스(doodles)는 이 NFT가 속한 컬렉션(컨트랙트) 이름입니다. 한글로 읽었을 뿐 알파벳으로 구성되어 있구요, 이렇게 이름을 파악할 수 있는 컨트랙트도 있지만 지갑주소와 비슷하게 생긴 주소만 알 수 있는 경우도 있습니다.
  • NFT를 :
    코인이나 토큰이 아니라 NFT의 소유권 이동 행위를 했다는 의미인가봅니다.
  • 샀네요 :
    샀다는 것은 어떤 의미인가요? [보내기]인가요 [받기]인가요? 이 지점을 고민해야 할 필요가 있습니다.
  • 저도 사야 할까요? :
    이것은 정보를 이해한 후 사용자의 심경변화입니다. 사용자는 무엇을 원하는 걸까요?

문제는 우리는 e1e1.eth님의 증언을 듣고 있었던 일을 전달할 것이 아니라, 아래와 같은 정보에서 쓸 만한 걸 뽑아서 결론을 이야기해야 합니다. 이걸 사용자가 편하게 이해할 수 있는 온라인의 문법으로 표현하려면 해결해야 할 부분들이 생깁니다.

  • 뭘 보여주고 뭘 빼야 이해하기 쉬울 것인가.
  • ‘샀다’는 것을 어떻게 표현하지? 아니 그보다 먼저, 이 정보들을 보고 구매 한 건지 즉, 무슨 일이 일어난 것인지 어떻게 확신하지?
  • 0x779e59E303D1A7… 이딴 식으로 생겨서 정보로서의 가치가 없는 지갑주소, 컨트렉트 주소 놈들을 어떻게 처리 할 것인가.

정보 정리, 정의 그리고 정보를 더 가치있게 보여주는 방법에 대한 고민은 다음 포스팅에서 이어집니다.

#Pado App #WalletWatch 에서

유명인, 고래, 친구들의 wallet을 “watch” 해보세요!
watch한 지갑들에서 실시간으로 어떤 일이 일어나는지 앱 푸시알림 받을 수 있어요.

다운로드
iOS : https://abit.ly/pado-ios
Android : https://abit.ly/pado-and

--

--

Pado
Pado Wallet Watch

Pado[pa:do] means ‘wave’ in Korean. Get real-time notifications for your wallets, and wallets of celebrities, whales, friends and others. Ride pado with us!