본문 바로가기

Blockchain

(28)
다중서명 multi-sig란? +) multi-sig wallet 다중서명 지갑은 지갑 역할을 하는 '컨트랙트'이다. 컨트랙트 문서에도 다중서명에 관련된 스마트 컨트랙트가 있었다. 일단, 다중서명이란 여러 명의 지갑 소유자가 하나의 단일한 메시지에 공동의 서명을 하는 것을 말한다. 서비스에 multi-sig 기술이 적용되면 화폐 거래를 위해 다수의 관리자가 거래 서명에 참여해야 한다 여러 명의 지갑 소유자가 공동 서명을 하는 이유는 1. 한 사람에 대한 의존도를 줄인다 ㄴ만약 출금에 관해 한 사람이 아닌 여러 사람의 동의를 받는다면 사전에 금액을 잘못 입력하여 대량의 금액이 빠져나가는 사고 같은 것들을 방지할 수 있다. https://steemit.com/kr/@holcoin/multi-signature-wallet
트랜잭션 해시(TXID)란? + signature DB ERD를 설계하던 중 엔티티에 TXID를 담아야 한다는 피드백을 받고 TXID에 대해 찾아보았다. '트랜잭션 해시'라고 하면 트랜잭션이 암호화 되었다는 것일까?라는 추측과 함께 트랜잭션 해시=TXID에 대해 정리해보고자 한다. 트랜잭션 해시란? 트랜잭션 해시는 트랜잭션의 유일한 식별자이다. 트랜잭션에 대한 고유 ID를 의미한다. 암호화폐에 따라 트랜잭션 ID는 수신자&발신자의 지갑주소, 전송한 총 금액, 데이터, 블록 높이, 수수료(gas fee)와 같은 정보를 받기 위해 사용된다. { from: 송신자 지갑의 주소, to: 수신자 지갑의 주소, value: 전송한 이더 또는 토큰의 개수, gasPrice: 트랜잭션 전송에 사용되는 가스량, } web3.js를 통해서도 구현이 가능하다. 트랜잭션 해..
Token의 lockup기간이 있는 이유? 코인판에 있다보면 '락업기간'이라는 단어를 종종 듣게 될 것이다. 이번에 업무를 하면서 락업기간에 대해 접했는데, 단어도 들어봤고 단순히 '토큰을 사용하지 못하게 잠구는 것이겠구나'하고 생각만 했었다. 하지만 직접적인 process를 접하다보니 token의 lockup기간이 왜 있는지에 대하여 다시 한번 살펴보게 되었다. LockUp기간이란? 토큰을 보유한 사람이나 기관이 해당 기간동안 토큰을 매각할 수 없는 기간 여담으로, 바이낸스 CEO인 자오창펑은 트위터를 통해 프로젝트 창시자의 토큰 락업 기간은 10년 이상이어야 한다고 밝혔고, 더 짧아서는 안된다고 했다고 한다. Lockup을 하는 이유 초기 투자자(또는 프로젝트 팀)의 암호화폐가 시장에 출시된 직후 보유 자산을 매각하여 가격이 크게 하락하는 I..
solidity) storage와 memory의 차이점 컨트랙트 코드를 보다가 storage와 memory 키워드를 접하게 되었다. 둘 다 데이터를 저장하는 키워드 같은데?했지만 분명 차이가 있을 것 같았다. storage - 블록체인상에 영구적으로 저장 memory - 일시적으로 데이터 저장 함수 내에 선언될시 함수 호출이 종료되면 사라진다. 아래 좋은 예시가 있어 참고해보면 좋다. 좋은 자료 감사합니다 https://merrily-code.tistory.com/102
개발자를 위한 속성 solidity 문법 정리 https://doitnow-man.tistory.com/entry/solidity-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%86%8D%EC%84%B1-%EB%AC%B8%EB%B2%95 [solidity] 개발자를 위한 속성 문법 개요 본 post는 적어도 하나의 언어를 안다는 가정에 하에 작성 되었습니다. 그리고 모든 code의 test는 https://ide.klaytn.com/ 에서 테스트 되었습니다. Solidity의 관점에서 컨트랙트란 무수한 코드들(함 doitnow-man.tistory.com 좋은 글 감사합니다.
블록체인과 디도스 공격의 연관성 블록체인 기업의 경우 디도스 공격에서 자유롭지 못하다는 이야기를 들었다. 블록체인 기업과 디도스 공격이 어떤 연관성을 가지고 있는지 살펴보고자 한다. 그 전에 디도스 공격(DDoS)에 대해 톺아보자. DoS(서비스 거부) 및 분산 서비스 거부(DDoS)란, 서비스 대상 서버,서비스,네트워크의 인터넷 트래픽을 폭주로 압도해 정상적인 작동을 방해하는 악의적인 시도를 말한다. 쉽게 말해, 악의적으로 서비스를 멈추게 하는 공격 기법이라고 보면 되겠다. 디도스는 전염병과도 같아서 한 컴퓨터에서 디도스 공격이 시작되면 동일한 네트워크상에 있는 다른 컴퓨터로 전염되어 치명적인 오류가 발생한다. 그렇다면 왜 블록체인(기업)과 디도스 공격은 연관성이 있을까? - 블록체인은 digital 상에 올라간 장부이다. 그래서 디..
ABI(Application Binary Interface) 파일이란? (+ ByteCode) 컨트랙트 메타데이터 Solidity 컴파일러는 현재 컨트랙트에 대한 정보를 포함하고 있는 컨트랙트 메타데이터 JSON 파일을 자동적으로 생성 이 파일을 사용하여 컴파일러 버전, 사용된 소스, ABI 등을 보다 안전하게 컨트랙트와 상호작용하고 소스코드 검ㅈ으 Solidity 소스코드를 컴파일하면 ByteCode(.bin) 파일과 ABI(.abi)파일이 생성된다. Bytecode 컨트랙트를 배포할 때 블록체인이 저장하는 정보 Solidity 소스코드를 EVM이 이해할 수 있는 형태로 변환한 것 ABI 컨트랙트 함수와 매개변수들을 JSON 형식으로 나타낸 리스트 EVM이 컨트랙트 함수를 실행할 때 필요 컨트랙트 함수를 실행하려는 사람은 ABI 정보를 노드에 제공 이더리움 스마트 컨트랙트는 이더리움 블록체인에 ..
트랜잭션 구조 - 트랜잭션에는 어떤 데이터가 담길까? 백엔드 파트에 있다보니 DB에 저장될 데이터와 트랜잭션에 저장될 데이터를 구분해야 할 일이 생겼는데 이를 구분하기가 쉽지 않았다. 기존에는 트랜잭션은 거래 내역을 담는 구조구나~정도만 인지하고 있었지만, 정확히 트랜잭션 내에 어떤 데이터가 담겨 구조를 이루는지 알아야 할 필요성을 느끼게 되었다. 블록 구조의 구조는 다음과 같다. 헤더 - (해시,버전,이전 블록 해시(앞의 블록과 연결되어야 체인이 형성되므로), 머클루트,타임,난이도 목표, 논스) 트랜잭션 - (value, Tx 해시, to, from, 데이터) 비트코인과 이더리움의 트랜잭션 구조는 다르다. 이건 다음에 시간이 된다면 그때 더 알아보기로 한다.