블록체인 backEnd15 트랜잭션 서명 이해하기 앞선 글에서 트랜잭션을 한번 까보았다. 까다보니 서명에 관해 정리를 해야할 필요성을 느껴 정리를 해본다. 타원 곡선 블록체인에서 타원곡선의 역할은 디지털 서명이다. 디지털 서명이란 a 라는 사람이 개인 키를 이용해 내가 보내려는 데이터에 서명을 하고 받은 사람은 a의 공개 키를 이용해 그 서명이 진짜 a의 서명인지 확인하는 기술을 의미한다. 디지털 서명은 트랜잭션 때문에 필요한데 이는 이전 글에서 설명했으니 생략한다. 트랜잭션에 쓰일 서명은 어떤 형태를 띄어야하는가? 송신자 만이 가지고 있는 고유값으로 서명을 만들어 낼 수 있어야 한다. 수신자가 이 서명이 송신자의 것이 맞다는 것을 확인 할 수 있어야 한다. 두 가지 조건을 만족하며 이를 만들 수 있는 기술이 타원 곡선이다. 타원곡선 방정식 : fuck.. 2023. 1. 15. transaction 이해하기 1. 트랜잭션 해시란 Transaction Hash, TXID 는 해당 트랜잭션의 고유 ID 값을 의미한다. 다른 블로그에서 거래소 예시를 드는것을 참조하자면 이렇다. 고객 A가 거래소의 지갑으로 100ETH를 보냈는데 거래소에서 반영이 안될 시 고객 A는 거래소에 전화해 자신이 보낸 트랜잭션 고유 ID를 말해주며 문의를한다. 거래소 측에서는 마찬가지로 트랜잭션의 고유 ID가 실제 네트워크에 존재하는지 확인하고 confrimation 횟수를 확인하여 언제쯤 입금처리가 되는지에 대해 말해 줄수 있다. 고객이 트랜잭션 ID를 제시한다 거래소가 트랜잭션 ID를 블록체인 네트워크에서 확인한다 해당 트랜잭션의 confrimation 횟수를 확인 한 후 고객에게 답변해준다. confrimation이 40을 넘겼을때.. 2023. 1. 15. web3.js 기본 틀 우리는 컨트랙트 작성을 끝냈으면 이를 플랫폼에서 사용할수 있게끔 만들어줘야한다. 보통 프론트에서 메타마스크를 통해 트랜잭션을 날리는 방법을 쓰지만 유저들에게 접근성이 좋아야하기 때문에 이해하기 힘든 지갑 부분을 제외하는 방법, 백엔드에서 처리를 하는 방식을 주로 택한다. 이에 따른 문제점은 확실히 존재하지만 현재로써 지갑을 이해하지못하는 유저들이 사용하기에 가장 좋은 방법 인것 같다. 1. 이더리움 통신 연결 ////이더리움 테스트넷 goeril 사용//// const Web3= require('web3'); const web3 = new Web3( new Web3.providers.HttpProvider("https://ethereum-goerli-rpc.allthatnode.com") ); 2. 컨트.. 2023. 1. 15. 이전 1 2 3 다음