![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzZg7o%2FbtrB4r9AYpK%2FlAfbk7UvMGT4u7hpSUGR3K%2Fimg.png)
[코어 이더리움5]머클 상태 전이증명
2022. 5. 13. 23:31
블록체인/코어 이더리움
머클상태전이증명이란 트랜잭션의 결과값을 확인하기위해(상태가 변화되었는지 확인한다.) 시점이 변경되면서 상태가 변경됐을때 해당상태를 변경됐다는거를 증명하는것 상태전이=어떤 사건이 발생을 하면은 다른상태로 변경이되는것 즉 변화를 상태전이라고칭함 라이트 클라이언트는 비어있는 블록에 정보를 담아서 이정보를 이더리움노드가 알려준 정보와 비교해서 맞다면 해당증명을 수용한다. 루트S=>트랜잭션T실행 = (로그L,아웃풋O) 상태루트S
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKiiv6%2FbtrB1oQAsBv%2FayB9UCOloFbkHwZCWRkKhk%2Fimg.png)
[코어 이더리움4] 머클트리, 패트리샤 트리
2022. 5. 12. 23:43
블록체인/코어 이더리움
머클 트리 이더리움은 앞서 살펴본 것처럼 머클 트리를 사용하여 전체 어카운트 정보를 담고 있는 상태 (Root)와 트랜잭션(TxHash), 그리고 트랜잭션의 처리 결과 등을 알 수 있는 리시트(ReceiptHash) 의 값을 저장하고, 각 머클 루트를 Keccak256으로 암호 해싱한 후 이를 해당 블록 헤더에 포함한다. 머클 트리는 많은 양의 블록 체인 전체 데이터를 동기화하지 않고도 블록체인을 활용하게 해주는 중요한 수단이자 데이터 의 무결성을 유지할 수 있는 중요한 방법이다 머클 패트리샤트리(머클트리에 포인터를 줘서 찾기쉽게 하는느낌) 머클트리의 재계산을 막기위해 착안된 알고리즘 리프노드의 키값은 7이다 6아님 오타입니다 머클트리들의 깊이를 한정시킨다. 패트리샤트리가 머클루트를 고정시키는 숫자값을 ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQ5BXx%2FbtrBm8VnZ53%2Fk93Q2KjImHl14enzty4YPk%2Fimg.png)
[코어 이더리움 프로그래밍]어카운트끼리 통신하는 과정
2022. 5. 6. 01:07
블록체인/코어 이더리움
어카운트의 종류에는 1.외부소유어카운트(EOA:Externally Owned Account)=개인 키로 제어되는 것으로서 코드를 저장할 수 없다. 2.컨트랙트어카운트(CA:(Contract Account)=스마트 컨트랙트 코드(Solidity 등의 언어로 짜여진 스크립트)에 의해 제어되며 특정 CA에 코드를 저장할 수 있다. 1.외부소유어카운트(eoa)=개인키를이용해 ca에 트랙잭션을 보낸다. 2.ca(스마트컨트랙트)에는 바로접근이안되기 때문에 한번더 실행 -해시값으로 배포가 된다. 블록에 올라가서 수정이안되는건지 실행될 코드의 해시값으로 찾는다 evm은 개개인이 키를 가지고있진않음 evm를 가지고있는 풀노드에서 대신실행시켜줌 트랙잭션을 검증을해주고(생성 트랜잭션에 각노드는검증하는거, 검증완료된 트랜잭션..