블록체인 트릴레마와 컨센서스알고리즘에대해
2022. 5. 9. 22:53
블록체인
PoW(작업증명방식) 비트코인에서 채택된방식이고 블록을생성하는 알고리즘임 컴퓨터파워가높은 노드가 많은블록을 생성할위험을야기함 중앙집권화를 야기할수있음 그렇기때문에나온방식이 pos 마이너들이 채굴을하고 이채굴과정에서 (=고스트프로토콜) 트랜잭션을 따와서 블록에 저장하고 블록끼리 경쟁시켜서 메인블록이 스마트컨트랙트를 실행시킨다. 블록이 결정되는 방법 - 고스트 프로토콜(Ghost Protocol) 고스트 프로토콜은 어느 체인이 가장 긴 것인지 계산할 때 고아블록도 포함하므로써 네트워크 보안 손실 문제를 해결합니다. 다시 말해 어느 블록이 가장 큰 전체 작업증명을 가지고 있는지 계산함에 있어서, 그 블록의 부모블록과 조상뿐만 아니라, 그 블록의 고아자손까지도 더한다는 것 입니다. (암호화,탈중앙화) PoS(지..
채굴이란?(작업증명 +보상)
2022. 5. 9. 12:30
블록체인
채굴은 위 두가지로 이루어져 있는데 일단 전체적인 흐름을 먼저 살펴보겠다. 채굴이란? 블록체인 네트워크에 노드로 트랜잭션을 검증하여 분산원장을 기록하고, 보상으로 암호화폐를 얻는걸말함 노드(=채굴자 or 트랜잭션 검증 등 다양한 노드들이 존재) 네트워크에 참여한 컴퓨터 분산원장기술(=블록) 분산원장을속이려고한다면 누군가 원장을하나만 바꾼다면 뭐가맞는건지 다른사람의 원장을확인해서 검증을함 모든블록체인은 분산원장으로되어있음 근데 모든 분산원장이 블록체인으로 되어있진않음. 블록하나가 데이터베이스다 분산화된 데이터베이스원장이기때문에 분산원장이라고한다. 블록을 생성하는 과정 개인키를 가진 지갑에서 트랜잭션 생성(스마트컨트랙트 계정 생성)->생성된 트랜잭션을 주변노드에 전파-> 노드에서 트랜잭션 유효성 검사 후 검..
블록체인 이론(스프린트리뷰1)
2022. 5. 9. 00:09
블록체인
1.동일한 데이터를 나눠가진다->블록체인의 핵심 2.블록체인이란 데이터가 담겨있는 블록이 체인으로 연결되어있는데 이게 링크드리스트의 자료구조를 띄게된다 블록이라는건 자료들이 담겨있는 데이터베이스라고생각하면됌 블록이 생각할때마다 블록이 생길때마다 포인터가있어서 이게 연결되어있는구조가 체인이라고합니다. 블록체인 석탄으로 움직이는 증기기관차와비슷하다. 새로운블록이생성되서 이전블록에 연결되는것자체가 블록체인이라고한다, 이런좋은걸(블록을 연결해주는거)해줬으니까 토큰을줘야겠죠 여기서 비트코인이나왔습니다. 중개자없이 지적화폐를사거나 환전할수있는 탈중앙화 화폐 시스템이다. 중앙화된시스템에서는 여러가지 문제점들이 있었고 불안함이 있었다. 이걸해결하기 위해 비트코인이 탄생했다 다만 비트코인은 거래코인으로써만기능하였고 이런..
[코어 이더리움 프로그래밍]어카운트끼리 통신하는 과정
2022. 5. 6. 01:07
블록체인/코어 이더리움
어카운트의 종류에는 1.외부소유어카운트(EOA:Externally Owned Account)=개인 키로 제어되는 것으로서 코드를 저장할 수 없다. 2.컨트랙트어카운트(CA:(Contract Account)=스마트 컨트랙트 코드(Solidity 등의 언어로 짜여진 스크립트)에 의해 제어되며 특정 CA에 코드를 저장할 수 있다. 1.외부소유어카운트(eoa)=개인키를이용해 ca에 트랙잭션을 보낸다. 2.ca(스마트컨트랙트)에는 바로접근이안되기 때문에 한번더 실행 -해시값으로 배포가 된다. 블록에 올라가서 수정이안되는건지 실행될 코드의 해시값으로 찾는다 evm은 개개인이 키를 가지고있진않음 evm를 가지고있는 풀노드에서 대신실행시켜줌 트랙잭션을 검증을해주고(생성 트랜잭션에 각노드는검증하는거, 검증완료된 트랜잭션..
크립토좀비 [lesson1/좀비공장만들기]
2022. 5. 3. 23:45
블록체인/솔리디티
이녀석을 해 볼꺼에요~ 1.버젼설정하고 컨트렉트 초기뼈대 만들기 pragma solidity ^0.4.19; contract Zombiefactory { } 컨트렉트 설정 방법임 2.좀비 DNA 설정하기 contract ZombieFactory { uint dnaDigits = 16; } uint 자료형은 부호 없는 정수로, 값이 음수가 아니어야 한다는 의미네. 부호 있는 정수를 위한 int 자료형도 있음 참고: 솔리디티에서 uint는 실제로 uint256,범위[0~2^256-1] 즉 256비트 부호 없는 정수의 다른 표현임 int256 (=int)범위[-2^255~2^255-1] 즉 음수까지 포함한다는 말임. 3.좀비 구조체 만들기 contract ZombieFactory { uint dnaDigits..