Blockchain(57)
-
랜덤 변수에서 도메인까지, 블록체인 키와 계정 주소
블록체인에서 사용자 별로 보유중인 코인/토큰 수량을 구분하기 위하여 마치 은행의 계좌번호처럼 주소의 개념을 사용한다. 블록체인 개발자들은 이 주소를 어떠한 데이터를 사용하여 어떻게 표현할 것인가에 대해 많은 고민을 하였다. 사용자가 조금이라도 더 쉽게 자신의 계정을 다루기 위해 고민한 흔적들을 확인해본다.이 페이지에서는 UTXO를 사용하는 비트코인 등의 플랫폼에서, 잔액을 추적하기 위해 주소가 가변되어 고정되지 않는 경우는 제외하고 이더리움 같은 account 기반 블록체인 플랫폼을 중심으로 설명한다.Mnemonic 코드위 그림은 대표적인 블록체인 지갑앱인 메타마스크의 화면이다. 처음 메타마스크에 가입을 하고 자신의 주소를 생성할 때에 위와 같은 페이지를 발견했었을 것이다. '왜 이렇게 많은 문자를 기억..
2024.11.14 -
Golang을 이용하여 Solidity smart contract 다루기
보통 Solidity 스마트 컨트랙트를 다룰때는 JS로 되어있는 web3.js나 ethers.js를 사용하여 interaction 하고, 배포시에는 hardhat, truffle을 사용한다. 이들은 모두 javascript 기반이다. 다른 언어를 사용하여 프로그램을 개발한다면 언어 호환에 대한 고민이 있을 수 있다. Go-ethereum에서는 Golang을 기반으로 하는 서버 등의 프로그램에서 다른 언어로 이루어진 라이브러리를 사용하지 않고도 쉽고 편리하게 Solidity 컨트랙트를 다룰 수 있게 하는 기능을 제공하기 때문에 이번 페이지에서는 해당 기능을 소개하고 사용하는 방법에 대해 작성하여 한다.Bind packageGeth는 "bind" package가 존재한다. 해당 패키지의 directory는 ..
2024.11.13 -
Private transaction 전송을 위한 Tessera Overview
Tessera는 Hyperledger Besu나 GoQuorum에서 사용하는 private 보장 기술이다. 앞서 언급된 블록체인들은 모든 사용자에게 오픈된 public chain이 아닌 허가된 참여자가 사용하는 private, permissioned chain이라고 볼 수 있다. 그렇기 때문에, 태생적으로 모든 이들에게 오픈된 블록체인 특성에서 트랜잭션 거래 내역을 숨길 용도로 개발되었다. Tessera가 어떤 식으로 동작하는지 확인해본다.TesseraTessera가 적용된 블록체인 플랫폼을 확인해보면 알 수 있듯이 EVM 상에서 privacy를 보장하기 위한 기술이다. Java 기반으로 만들어져 있어 Hyperledger Besu와 더 밀접해 보이지만, Golang으로 개발된 GoQuorum에서도 AP..
2024.11.08 -
Cosmos-SDK transaction의 형식 및 데이터
Cosmos 체인은 모듈 형식으로 구성되어 있으며, 각 모듈 별로 트랜잭션을 구성할 수 있다. 이러한 트랜잭션들은 모듈의 keeper 내에 구현되어 있는 msg-server에서 비즈니스 로직을 처리하기 위한 input 값 전달 매개체의 역할을 하며, 정상적인 트랜잭션일 시 (e.g. 정상적인 signature 등) 검증과정을 거쳐 최종적으로 state DB에 기록되어 진다.EVM의 경우 일반적인 transaction 형식으로 코인 전송, 컨트랙트 배포/실행을 수행하지만 Cosmos는 다양한 형식의 트랜잭션(정확히는 트랜잭션 안의 메시지)을 구현할 수 있어 보다 dynamic한 로직을 구축할 수 있다. 해당 글은 Cosmos SDK 기반 체인들이 사용하는 트랜잭션에 대한 전반적인 기능과 형식들을 알아본다...
2024.06.24 -
Evmos의 Ethereum Tx 처리
Ethermint로 잘 알려져 있는 Evmos는 Cosmos 기반의 체인에서 ethereum tx 처리를 할 수 있도록 지원한다. 8545 EVM JSONRPC를 지원하여, 기존의 ethereum 개발자는 다른 부가적인 처리 없이 API를 똑같이 사용할 수 있다. 모든 ethereum API를 지원하지는 않지만, 개발자들이 자주 사용하는 API는 대부분 지원한다. (Evmos에서 지원하는 EVM API는 여기서 확인 할 수 있다.) 많은 수의 dApp 및 서비스가 ethereum 기반으로 이루어져 있다는 것을 생각해보면, 많은 서비스가 Cosmos 진영으로의 매끄러운 온보딩이 가능하도록 만들 수 있기 때문에 Evmos의 evm 모듈은 Cosmos 생태계 확장에 큰 기여를 할 수 있는 기술이라 생각된다. ..
2024.01.23 -
블록체인 기반 인증 서비스, DID
DID(Decentralized Identifiers)는 블록체인을 다루고 있다면 한번쯤은 들어 봤을 것이다. 블록체인을 다루지 않았더라도, 대한민국 사람들은 코로나19 시기에 DID를 어렵지 않게 만나 봤을 것이다. 백신 접종 시스템인 Coov를 사용하여 식당, 마트 등에서 QR코드로 백신 접종자라는 것을 인증하고 출입을 해본 경험이 있을텐데, Coov가 바로 DID를 적용한 신원인증 시스템이다. 이렇듯 DID는 '인증'이라는 개념으로 다른 블록체인 기반 서비스보다 일반 사용자들에게 친숙하게 다가갈 수 있는 서비스인데, 이번 글에서는 이 DID에 대한 개념과 기본적인 동작 방식에 대해 정리해보려 한다. Why DID? 왜 DID를 사용하는 것인가에 대한 물음에 먼저 답을 하기 위해서는, SSI(Self..
2023.12.18