-
타원 곡선 서명의 s-malleability(가단성)과 Low-S Restrictioncryptography 2025. 10. 5. 19:01
Intro디지털 서명이란 내가 만든 데이터를 내가 만들었음을 증명하는 기술이다. 이를 구현하기 위해 다양한 암호학 기법이 활용되는데, 이더리움과 비트코인 같은 블록체인 프로토콜에서는 주로 타원 곡선 암호(ECC) 기반의 디지털 서명을 사용한다.타원 곡선 디지털 서명 알고리즘(ECDSA)을 위해 메시지를 설계하고 암호학 스킴을 구현하는 개발자가 반드시 깊은 학문적 지식을 갖출 필요는 없지만, 암호학 원리로부터 파생될 수 있는 보안적 허점을 이해하고 있어야만 실수 없이 안전한 코드를 작성할 수 있다. 그중에서 본 아티클에서는 디지털 서명 구현 과정에서 중요하지만 종종 간과되는 세부 사항 중 하나인 ECDSA 서명 가단성과 이를 방지하기 위한 Low-S Restriction(제한) 규칙에 대해 다뤄보고자 한다..
-
지분 증명 기반의 Staking 컨트랙트 파헤치기기술노트 2025. 8. 27. 17:28
Intro스테이킹은 특정 코인 또는 토큰을 일정 기간 스마트 컨트랙트에 예치(Deposit)하여 락업(Lock Up)하는 행위이다. 스테이킹을 통해 예치자는 보상을 받으며, 이 보상(Reward)은 예치된 지분(stake)에 비례하여 결정된다. 스테이킹은 탈중앙화된 금융 프로토콜(DeFi)의 한 형태이다. 스테이킹을 진행하는 이유토큰이 ICO를 통해 상장되면, 토큰노믹스에 따라 dApp 사용자들에게 초기 물량이 분배된다. 초기 상장 후 거래소에서 토큰이 활발히 거래되면 가격이 하락할 가능성이 존재한다. 따라서 프로젝트 초기에 토큰 홀더들이 자산을 보유하도록 유도할 필요가 있다. 스테이킹은 유저에게 추가 수익을 제공하는 동시에 토큰의 유통량을 잠그어 가격을 지지하는 역할을 수행한다. 프로젝트 주최자 입장에..
-
[(주)한미약품 사내 챗봇 아라 개발 프로젝트 회고록] 개발자로서 회사에 임하는 자세회고록 2025. 8. 26. 23:29
본 회고록은 22년 10월에 작성되었으며, 기술 블로그 이전으로 다시 작성되었습니다. 안녕하세요. 스마트컨트렉트 개발자 최원혁입니다. 백엔드 개발자에서 블록체인 개발자로 전향하기 이전에, 한미약품의 사내 챗봇 아라 개발 프로젝트에 참여한 경험이 개발자로서 크게 성장하는 계기가 되었습니다. 이제 프로젝트를 되돌아보며 회고록을 작성해보고자 합니다.한미약품의 프로젝트는 제 첫 프로젝트였으며, 개발자로 일한 지 얼마 되지 않았던 때였습니다. 이전에 서비스를 공개적으로 배포하고 운영한 적이 없어, 열정과 야망으로 일에 임해야 했습니다. 하지만 프로젝트는 예상치 못한 어려움에 직면했습니다. 프로젝트를 진행하는 PM 과장님이 개발 경력이 부족했고, 원래는 보험회사에서 계약 및 고객응대를 담당하셨기 때문에, 초보 개발..
-
JSON-API는 어떻게 개발할까 | ERC-7677 기반 Paymaster(Account Abstraction) 서버 API 설계와 구현기술노트 2025. 8. 7. 09:33
Intro요즘 이더리움의 표준(EIP, ERC)에서는 노드 또는 Provider와 클라이언트 간 통신을 위한 API 규격이 자주 정의되는 모습을 볼 수 있다. 특히 이더리움 생태계에서는 JSON-RPC 기반 API의 활용도가 높기 때문에, 표준을 기반으로 한 통신 아키텍처를 설계하려면 원격 프로시저 호출(RPC) 프로토콜에 대한 이해와 정의 능력이 요구된다. 본 자료에서는 RPC 2.0 Specification을 기반으로 개념을 살펴보고, Node.ts/Express.ts를 활용하여 ERC-7677 표준의 일부 기능을 직접 구현해 보고자 한다. REST와 RPC의 차이점RPC는 잘알려진 REST와 같이 API를 설계하는 아키텍처 스타일을 의미한다. 두 방식 모두 HTTP를 기본 전송 프로토콜로 사용하지만..
-
이더리움의 KZG Polynomial Commitments Schemecryptography 2025. 7. 31. 22:35
Intro Blob은 저장된 “다수의 데이터가 압축된 데이터”에 “특정 데이터”가 포함되었는지 검증 할 수 있다. Blob이 이러한 “데이터 압축”과 “검증 매커니즘”이 가능한 이유는 SNARK의 성질을 갖는 KZG Polynomial Commitments Scheme(이하 KZG) 때문이다. 이번 시리즈는 KZG의 암호학적 내용과 이더리움이 어떤 목표를 위해 KZG를 사용했는지에 대해 다룰 예정이다.이더리움의 KZG는 EIP-4844에서 도입된 Blob 데이터를 위한 암호학적 증명 스킴이다. 본 글을 읽기에 앞서 Blob의 개념과 역할에 대해 설명한 「Deep-Dive-Into-EIP-4844-Blob-Carrying-Transactions」를 먼저 참고하면 이해에 도움이 될 것이다. SNARKSNAR..
-
스테이블 코인 지급 결제에 대한 고찰 - DSRV Fin:Frame Stablecoin 정리회고록 2025. 7. 31. 22:30
본 글은 DSRV Fin:Frame에 참여하여 연사 세션에서 발표된 내용 중 인상 깊었던 주요 논점과 실제 시장 동향, 그리고 연사의 견해를 중심으로 정리하였습니다. 현장에서 다루어진 실무적 인사이트와 스테이블코인 지급 결제 플랫폼 구축 및 운영에 관한 다양한 실제 고민과 사례들을 최대한 충실히 반영하고자 하였습니다. Intro“Today’s payment landscape is dominated by gatekeepers that charge high fees that cut into the profitability of every business they touch, and justify those fees in the name of ubiquity and convenience — while they..
-
타원곡선 암호학(Elliptic Curve Cryptography)의 Preliminariescryptography 2025. 7. 29. 12:29
Intro이 문서는 타원곡선 암호학(Elliptic Curve Cryptography, 이하 ECC)를 학문적으로 기술하는 문서는 아니다. 다만, 개발자들이 암호학의 원리를 잘 이해하고 실수 없이 코딩할 수 있도록 도움을 주기 위해 암호학에 대한 이해가 필요하다고 생각한다. 논문의 영역과 개발자에게 필요한 지식의 영역 그 경계선까지, 즉 어느정도 심도 깊게 내용을 다룰 예정이다. 타원곡선 암호학를 이해하는 데에 꼭 필요한 수학적 개념들우리가 보게 될 실용화된 블록체인은 타원곡선 암호학(Elliptic Curve Cryptography, 이하 ECC)을 기반으로 하기 때문에 이를 이해하기 위해서는 ECC의 이론적 지식은 물론 ECC의 기반이 되는 수학적 지식이 꼭 필요하다. ECC를 이해하기 위해 꼭 이해..
-
비탈릭 부테린이 제안하는 Solidity기반의 슈노르 서명(schnorr signature) 검증cryptography 2025. 7. 28. 15:54
Intro슈노르(이하 Schnorr) 서명은 비트코인과 이더리움에서 사용하는 ECDSA와 같이 타원곡선(Elliptic Curve Cryptography:ECC) 암호학 기반의 디지털 서명 방식중 하나이다. 하지만 다른 디지털 서명에 비해 연산이 간단해 더 빠르게 처리할 수 있으며, 선형성(linearity)을 갖는 알고리즘으로, 멀티서명(multi-signature)과 배치 검증(batch verification) 같은 기능을 지원할 수 있다.이더리움은 현재 타원곡선 암호학 중 Secp256k1을 사용하며, Schnorr 서명도 이와 호환 가능한 타원곡선이다. 하지만 이더리움은 Pre-Compiled Contract를 통해 스마트 컨트랙트에서 ECDSA 서명 검증 함수(ecrecover)지원한다. 이로..