-
[blockchain]끄적끄적블록체인 2022. 11. 18. 10:57반응형
2진수 1자리 = 1비트
16진수 1자리 = 2진수 4자리 = 4비트
1바이트 = 8비트
256비트 = 16진수 64자리 = 32바이트
//
블록사이즈가 가지는 의미
블록사이즈가 커져서 단위시간당 많은 데이터를 처리하게 되면 블록체인 활용부분에 있어서 처리속도가 좋아지며 그에따라 활용도가 높아짐 근데 이게 블록사이즈를 크게하면 채굴자 입장에서는 노드를 운영하는데 부담이 됨 그러면 채굴 이라는 분야에 있어서 진입장벽이 높아지게 되면서 다양한 노드(채굴자) 등을 확보하지 못하게 되고 기업화됨 이러한 흐름은 블록체인의 탈중앙화적 요소를 약하게 만들수도 있다.
//
개인키생성부터 지갑주소의 생성까지
난수생성 > 난수를 인풋으로 하는 해시함수를 통해 개인키 생성 > 개인키를 baseencode58 과정을 거쳐 보기좋은개인키 제공 > 개인키 를 타원곡선방적식을 활용 K = kG G는 상수 좌표 k는 개인키 K는 공개키 공개키는 좌표형태임 그걸 나열 해서 사용함. > 공개키 해시함수,baseencode58 하면 지갑주소 생성
지갑의 역할은 개인키 공개키 쌍을 보관 하는 역할이며 개인키 공개키 지갑주소 순으로 단방향 암호화 과정을 통해서 생성됨
//
keccak256 으로 해시해서 문자열 비교, 타입도 같아야함
그리고 그 솔리디티에서 storage 와 memory > 저장형태
storage 컨트랙트 스코프에서는 디폴트 이고 함수스코프에서는 memory 형태더라고
storage 는 블록체인에 저장되며 지속됨, memory 는 함수 끝나면 휘발됨
그리고 함수안에서 참조형 타입 상태변수 사용할때 memory 는 카피해서 가져와서 사용한는 용도이고 storage 는 그대로 가져와서 사용되는 거라 변경시 기존 상태변수 변화 유무에 따라서 나눠서 사용하면 됨
!= , == 두개임 그리고
payable 좀 헤깔리더라 더 써봐야 할듯 무튼 address 에도 payable 속성을 줄수 있고 그 속성이 있어야 transfer 할수 있음
payable(msg.sender).transfer(msg.value) 이게 transfer 를 사용하는 객체가 돈을 주는게 아니더라고 돈을 받는 사람을 지칭하더라고 그니까 이거는 함수 실행한 사람이 msg.value 만큼 받는거니까 본인한테 받는거고owner.trasfer(msg.value) 라고 사용하면 owner 가 함수 실행자한테서 돈을 받게 되는 거//visibility 는 이해는 했는데 활용은 좀 해봐야 할듯'블록체인' 카테고리의 다른 글
[blockchain] 이더리움 가스에 대하여~ (0) 2022.11.24 [blockchain] 개발환경정리 (1) 2022.11.24 [blockchain] ipfs, 메타데이타 (0) 2022.11.14 web3 고민 (0) 2022.11.14 [blockchain]eip ,erc 에 대하여 (0) 2022.11.13