- Today
- Total
프로그래밍 농장
How does the Ethereum network work? (2) About Transaction 본문
트랜잭션은 송금을 시도하는 하나의 계정을 설명하는 레코드로 생각할수있다.
두 개의 계정이 교환(계약)을 수행할떄 마다 트랜잭션이 생성된다.
여기서 Web3 Library란, 개발자가 주 네트워크뿐만 아니라 특정 이더넷 네트워크와 상호 작용을 하는데 쓰인다.
이는 곧 외부에 존재하는 모든 다른 노드들과 상호작용하는데 사용할수있는 프로그래밍 방식이라고 이해할수있다.
아래 Transaction에 관한 몇가지 키워드들을 보자.
nonce | How many times the sender has sent a transaction |
위 'nonce'의 경우, 이더리움 환경에서 자주 보이는 용어이다. 단순히 Transaction count 라고도 이해할수있다.
to | Address of account this money is going to |
'to' 는 말그대로 일정량의 이더가 보내질 계정의 주소를 가르킨다.
value | Amount of Ether to send to the target address |
'value'(=값) 은 보내는 계정에서 대상으로 보내고자 하는 Ether의 양이다.
gasPrice | Amount of ether the sender is willing to pay per unit gas to get to this transaction processed |
startGas / gasLimit | Units of gas that this transaction can consume |
v | Cryptographic pieces of data that can be used to fenerate the senders account address. Generated from the sender's private key. |
r | |
s |
발신자의 개인키를 가져오고, 위 세가지 값을 생성 -> 세가지 값을 사용하여 계정주소를 생성하는 과정을 거친다.
따라서, 개인키가 있는 경우에는 Transaction을 생성할수있지만, 일반적인 RSS를 통할 경우 개인키에 대한 정보가 필요하다.
이는 결국 주소로 귀결되며 합법적인 거래인지 확인하는 방식으로 이해할수있다. ( Transaction의 보안에 대한 개념 )
여기까지 개념을 이해한다면, Transaction이란, 한 계정에서 자금의 이체를 설명하는 개체로 정의할수있다.
그 과정에서, Web3 Library는 해당 개체가 생성된 직후, Transaction 개체를 생성한다. 그 후 해당 트랜잭션 개체를 테스트 네트워크 (Rinkeby) 로 보낸다.
이후 위의 과정에 따라 트랜잭션은 네트워크로 이동한 다음, 이과정이 확인될떄까지 대기한다.
이떄, 대기하는 과정이 실제 Transaction이 이루어지는데 대기하는 시간인것이다.
-> then, 왜 가끔은 왜이렇게 대기하는 시간이 길며, 일정하지않은가 ?
왜 더 쉽게 단순하게 만들지 않았는가 ?
bitcoin 이후 블록체인 기반의 금융시스템은 기존의 것을 전승하는 과정에서 더 많은, 다수의 계정과 금액들을 처리하는 과정이 진행되고있고, 이는 결국 달러나, 유로 등의 통화를 대체하는 새로운 금융 시스템으로서 보안, 및 트랜잭션 처리를 하는 복잡한 과정이기 때문이다.
- Node에는 블록체인의 전체 복사본이 존재한다.
블록체인 = 데이터 라고 본질적으로 이해한다면, 노드 하나에 들어오는 트랜잭션에는 여러개가 있지만 이는 전부 블록이라고 하는 하나의 트랜잭션 목록에 포함된다.
이후 노드는 위 블록에서 일부 유효성 검사 논리를 실행한다. -> 이때 유효성 검사 로직을 얻는게 많은 시간이 걸리는 것이다.
이떄 위와 같은 트랜잭션이 블록으로 조합되면 노드가 일부 계산을 실행하기 시작하고, 이 블록에서 프로세스를 마이닝(채굴) 이라고 한다.
'채굴' 에 대한 개념은 다음 포스팅에서 이어 작성하겠습니다.
'캡스톤 디자인' 카테고리의 다른 글
Infura (=Cloudflare (0) | 2022.03.28 |
---|---|
What is Mocha ? (0) | 2022.03.28 |
How does the Ethereum network work? (0) | 2022.03.20 |
Ethereum, Solidity 및 스마트계약에 대하여 (0) | 2022.03.19 |
캡스톤 디자인 구상안 및 프로젝트 포인트 선정 (0) | 2022.03.15 |