[블록체인] 블록체인 개발자 교육 8일차

IT/Blockchain|2020. 11. 12. 00:28

블록체인 개발자 교육 8일차 중요 부분: 

 

 

키는 블록체인 밖에서만들어지는데 첫번쨰 transaction이 되면 블록체인이랑 연결이된다.

오프라인(오프 체인) / 온라인(온 체인) 상태가있는데  서명을하고 트랜젝션을하면 온라인(온 체인)으로바뀐다.

 

 

  1. 이더리움 트랜젝션[1]

 

이더리움 거래(Etherum transaction)는 외부 소유 계정, 즉 계약서가 아닌 사람이 관리하는 계좌에 의해 시작된 행위.  만약 A 가 B 한테 1 ETH를 보내면 A의장부에서  -1 ETH => B의 장부에서  +1ETH으로  씌여지고 이 트랜젝션이 완료되려면  해당 트랜잭션이  전체 네트워크에 브로드캐스트 되야한다.   그리고  광부는 트랜잭션을 실행하고 결과적으로 발생하는 상태 변화를 네트워크의 나머지 부분에 전파한다.
거래는 수수료가 필요하며 유효하려면 채굴해야 한다.

또 여기서 중요한것은 가스와 가스요금

가스는 광부가 거래를 처리하는 데 필요한 연산에 대한 참조다. 사용자들은 이 계산에 대해 수수료를 지불해야 한다.

 

 

제출된  Tx에는 다음과 같은 정보가 포함된다.

(Recipient)수취인 - 수취인 주소(외부 소유 계좌인 경우 거래는 가치를 이전한다. 계약계정일 경우 거래에서 계약코드를 실행한다.
(Signature)서명 - 보낸 사람의 식별자. 이는 발신인의 개인 키가 거래에 서명하고 발신인이 이 거래를 승인했음을 확인할 때 발생한다.
(Value)송신자에서 수신자로 전송되는 ETH 값(WEI, ETH의 일부분)
(data)데이터 - 임의 데이터를 포함하는 선택적 필드

(gas)가스 - (gasLimit) 가스리밋 – 트랜잭션에 의해 소비될 수 있는 최대 가스 단위. 기체 단위는 계산 단계를 나타낸다.
               - (gasPrice)가스 가격 - 보낸 사람이 가스 단위당 지불하는 요금

tx 예시

 

 

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만들기 성공.

 

 

 



[1]ethereum.org/en/developers/docs/transactions/#:~:text=An%20Ethereum%20transaction%20refers%20to,a%20human%2C%20not%20a%20contract.&text=If%20a%20contract%20account%2C%20the,the%20identifier%20of%20the%20sender

 

Home | ethereum.org

Ethereum is a global, decentralized platform for money and new kinds of applications. On Ethereum, you can write code that controls money, and build applications accessible anywhere in the world.

ethereum.org

[2]kb.myetherwallet.com/en/transactions/what-is-nonce/

 

What is a Nonce?

What is a Nonce?

kb.myetherwallet.com

[2]medium.com/hexlant/%EC%9D%B4%EB%8D%94%EB%A6%AC%EC%9B%80-nonce-%EB%85%BC%EC%8A%A4-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-60819346c803

 

이더리움 Nonce(논스) 란 무엇인가?

이더리움을 이용한 서비스를 구축하고 운영할 때 필수적으로 알아야 할 내용이라고 생각되어 트랜잭션을 구성하고 있는 필드 중 하나인 nonce에 대해 알아보겠습니다.

medium.com

[3]www.bitdegree.org/crypto/tutorials/token-vs-coin#:~:text=You%20should%20now%20know%20the,Ethereum%2C%20NEO%2C%20or%20Waves.

 

Token vs Coin: What's the Difference?

Token vs Coin: learn the token and coin definitions & the differences between security token, utility token & equity token in this Token vs Coin guide.

www.bitdegree.org

 

반응형

댓글()