[블록체인] 블록체인 개발자 교육 8일차
블록체인 개발자 교육 8일차 중요 부분:
키는 블록체인 밖에서만들어지는데 첫번쨰 transaction이 되면 블록체인이랑 연결이된다.
오프라인(오프 체인) / 온라인(온 체인) 상태가있는데 서명을하고 트랜젝션을하면 온라인(온 체인)으로바뀐다.
-
이더리움 트랜젝션[1]
이더리움 거래(Etherum transaction)는 외부 소유 계정, 즉 계약서가 아닌 사람이 관리하는 계좌에 의해 시작된 행위. 만약 A 가 B 한테 1 ETH를 보내면 A의장부에서 -1 ETH => B의 장부에서 +1ETH으로 씌여지고 이 트랜젝션이 완료되려면 해당 트랜잭션이 전체 네트워크에 브로드캐스트 되야한다. 그리고 광부는 트랜잭션을 실행하고 결과적으로 발생하는 상태 변화를 네트워크의 나머지 부분에 전파한다.
거래는 수수료가 필요하며 유효하려면 채굴해야 한다.
또 여기서 중요한것은 가스와 가스요금
가스는 광부가 거래를 처리하는 데 필요한 연산에 대한 참조다. 사용자들은 이 계산에 대해 수수료를 지불해야 한다.
제출된 Tx에는 다음과 같은 정보가 포함된다.
(Recipient)수취인 - 수취인 주소(외부 소유 계좌인 경우 거래는 가치를 이전한다. 계약계정일 경우 거래에서 계약코드를 실행한다.
(Signature)서명 - 보낸 사람의 식별자. 이는 발신인의 개인 키가 거래에 서명하고 발신인이 이 거래를 승인했음을 확인할 때 발생한다.
(Value)송신자에서 수신자로 전송되는 ETH 값(WEI, ETH의 일부분)
(data)데이터 - 임의 데이터를 포함하는 선택적 필드
(gas)가스 - (gasLimit) 가스리밋 – 트랜잭션에 의해 소비될 수 있는 최대 가스 단위. 기체 단위는 계산 단계를 나타낸다.
- (gasPrice)가스 가격 - 보낸 사람이 가스 단위당 지불하는 요금
tx 에는 nonce 값이있는데 [2]
이더리움에서는 모든 거래에 nonce가 있다.
nonce는 지정된 주소에서 보낸 트랜잭션 수이다.
이nonce는 주 암호를 안전하게 전송하여 재생 공격을 방지하는 데 사용되는 일회성 코드이다.
거래를 보낼때 마다, nonce 값은 1씩 증가한다.
중요한점은
1.거래는 반드시 순서대로 해야 한다. 0의 0의 nonce 이전에 1 min의 nonce로 거래를 할 수 없다.
2. 숫자 순서대로순번을 지킨다 당신은 1과 0의 nonce를 가진 트랜잭션을 아직 보내지 않았다면 2 mined의 nonce를 가진 트랜잭션을 가질 수 없다.
이 nonce가 중요한이유는
nonce는 항상 거래 순서를 지정하기 때문에 이 값은 이중 지출을 방지한다.
2. 이더리움 마이닝
비트코인 마이닝과 비슷한것같다 Pow방식으로 해쉬를 찾고 그 보상으로 ETH 가 rewarded.
3. 51% 공격
4. Coin과 Token다른점[3]
사람들을 혼란스럽게 하는 주제인 '토큰 vs 코인'
때때로 사람들은 "코인"이라는 용어를 다른 사람들이 "토큰"이라고 부르는 것을 가리키기 위해 사용하고, "토큰"은 다른 사람들이 "코인"이라고 부르는 것을 가리킨다.
코인은 :
비트코인은 비트코인 블록체인에 작용하고 기능한다.
이더는 이더리움 블록체인에 작용하고 기능한다.
네오는 네오 블록체인을 운영하고 기능한다.
디지털 코인의 거래는 한 사람에서 다른 사람으로 이루어질 수 있다. 그러나 실제 동전은 송수신할 때 움직이지 않는다. 모든 "코인"은 거대한 글로벌 데이터베이스에 있는 데이터로 존재한다. 이 데이터베이스(또는 블록체인)는 모든 거래를 추적하며 전 세계 컴퓨터에 의해 확인되고 검증된다.
토큰은 :
기존 블록체인에 생성된다. 실제로 스마트 컨트랙트의 생성과 촉진에 힘입어 가장 보편적인 블록체인 토큰 플랫폼은 이더리움이다. 이더리움 플랫폼에 구축된 토큰은 ERC-20 토큰으로 알려져 있다.
그러나 NEO, Waves, Lisk, Stratis 등 다른 것도 있다.
위에서 언급했듯이 이더리움 플랫폼의 토큰은 ERC-20 토큰으로 알려져 있지만, NEO는 NEP-5 토큰으로 알려진 토큰을 사용한다.
그래서 난 코인은 메인넷에 올라가면 코인이고 아니면 토큰으로 알고잇는데 이것도 아에 틀린말은 아닌것같은데.
수업에서는 :
ETH : 모든전체 장부전체 ; ERC20 Token : 하나의 account에서 관리가 됌 모든 어카운트는 이더리움을 가질수있는 balance field를 가지고잇다. contract account에서 관리되는값⇒ ERC token . token account내부에서만 관리가능 어떤 컨트랙트안에 얼마있는디 토큰, 이더리움은 모둔 어카운트 토큰 → 컨트랙트 이더리움 코인 → 어카운트
5. metamask wallet
메타마스크 월렛이 제일좋다고했다. 처음알았던건데, 메인넷말고도 테스트넷 도있어서 이것저것 테스트해보기좋은것같앗다.
여러가지 테스트넷이있는데 Ropsten test network 을 이용했다.
이더리움 도 테스트용으로 Buy에서 수열받기? 로 받을수있다.
이 이더리움으로 다른사람 한테 보내고 받기하면서 이더스캔도 구경해보고
블록체인을 배울수있다.
6. ERC20 Token
REMIX TOOL : https://remix.ethereum.org/
솔리디티 언어을 사용할수있는 툴
Token만드는 source code 는 깃헙에 다 있다.
강의대로 따라해서는 잘안되서
여기저기 검색해서 다른방법으로 Token만들기 성공.
[2]kb.myetherwallet.com/en/transactions/what-is-nonce/
'IT > Blockchain' 카테고리의 다른 글
[블록체인] ICT 이노베이션 블록체인 개발자 11일차 Hyper ledger fabric 환경설정 (0) | 2020.11.19 |
---|---|
[블록체인] ICT 이노베이션 블록체인 개발자 13일차 (0) | 2020.11.18 |
[블록체인] ICT 이노베이션 블록체인 개발자 12일차 (0) | 2020.11.17 |
[ 블록체인] Crypto Kitty 크립토 키티 #2 (0) | 2020.11.14 |
[블록체인] Crypto Kitties 크립토키티 #1 (0) | 2020.11.11 |