오늘 이더리움 첫스터디를 했다.
우리 목표는 DAPP 개발이다.
첫 주제는 이더리움 코어에 대한 것이었다.
각자 파트를 맡아서 발표하는것도 좋겠지만,
같은 부분을 공부해서 궁금한 부분을 말하면 서로 그 부분을 긁어주는 방식으로 하는게 더 맞을것 같다고 생각했다.
스터디 하고 나서도 우리끼리 해결하지 못한부분이 너무 많다.
스터디에서 확실하게 익히지 못한 부분들과 답이 나오지않았던 부분을 기록하고, 해결해보즈아.
1. state데이터는 저장되어있나?
level DB로 구성된다는건 유튜브보고 알았는데
이게 levelDB가 어디에있는것이며, 누가 갖고있는건지 잘 몰랐다.
5258900번째 블록 헤더에 state가 머클 값이 있을것인데..
5258901번째 블록 헤더에 state에도 머클값이 있을것인데..
이전 블록에서 바뀐부분만 해시구해서 쭊쭊쭊쭊 올라가는건 알겠는데
그러면 각 과정에 데이터들이 해시된걸로 levelDB에 저장되어있는거같은데..
levelDB는 어딨냐
2. gas 왜나왔냐 ? Eth로 지불하면 안되냐 ?
트랜잭션 수행하는 opCode 명령어마다 gas 얼마씩 내도록 되있다.
그래서 명령어가 늘어날수록 소모되는 gas는 커진다.
이 명령어마다 Eth로 되어있었다면...
Eth 가격이 바뀌면 지불해야 하는 값이 바뀐다.
약간 이거 캡슐화느낌으로다가.. 그렇게한거같은데
opCode 당 드는 gas 는 그대로 유지시키고
gasPrice로 조정하게...
아닌가..
3. 마이너는 트랜잭션이 유효한지 검사하는데, 모순이 있는 것 같다.
마이너가 트랜잭션을 볼수가 없는데, 어케 유효한지 검사를 할거냐?
A공개키로 일단 풀어서 전자서명 확인은 할 수 있겠지..
근데 트랜잭션 확인하려면역해싱에 B개인키까지 알아야하는데...
여기 그림을 마음대로 그린건가?
B의 공개키가 트랜잭션에 to 필드를 말하는 것인가?
이거 그거같음... 그림은 진짜 이해 도울려고 한거고
트랜잭션에 nonce, gasPrice, gasLimit, to, value, data 를
1. rlp인코딩 + Hash
2. 개인키로 서명 -> V R S 구함.
3. Transaction에 V R S 추가.
이거맞는거같은데..
애초에 keccat256땜에 못본다가 아니라..
Hash된거는 서명하는데 쓴거 같은데
4. 엉클...
내가 블록 만들었는데 이전블록이 엉클일수도 있냐?
내가 블록만드는데 12초 걸린다고 치면..
12초 안에 바로 앞 블록중 난이도 높은애 혼자 남을꺼고, 그럼 거기 붙이는 거아닐까?
근데 5258900번 블록 보면
얘가 5258895번 엉클블록 찾았음..
이 말은 5258895번 블록이 정식으로 인정받을 때까지 저 엉클이 발견안됬다는거잖아...
만약 그 엉클이 난이도가 더 높다면... 그게 정식으로 인정받고 5258900은 엉클이되버리나?
딸려나온 5개블록들은 다 무용지물이야? 이미 인정받은거아니냐..
그러면 앞에 8개블록까지 인정 안해주냐??
이더스캔에 나오는 블록들은 현재 계산중인 블록의 8개 이전의 것일까?
5. uncle reward
이더스캔에 5258900번 블록보면
엉클보상 1.125Eth 라고 되있고, 엉클블록(5258895번 엉클) 클릭하면 여기도 엉클보상 1.125Eth 나와있는데
혹시 둘다 엉클보상 받는걸까?
5258900번 마이너는 엉클찾은 보상인 느낌으로다가 ..?
A :
둘 다 보상 받는다.
5258900블록 마이너에게 보상을 주는 이유는
채굴자가 엉클블록을 포함하는 것을 장려하기 위함이라는데 그게 보안 문제를 해결한다더라..
6. 보안 ... ghost프로토콜이랑 보안이랑 무슨상관?
엉클이 많아질수록 보안은 약해진다.
엉클 여러개면 그중 메인블록에 추가하는 노드들이 줄어드는데,
그럼 난이도가 낮아지겠지? 가장 높은거뽑는데 경쟁력이 떨어지게되니까..
근데 ghost프로토콜이 보안문제를 해결한다는데
5258900블록에 5258895엉클블록을 포함시켜버리면. 보안 뭐가좋아진거야
엉클인걸...
Gredy Heaviest Observed Subtree (GHOST)
이더리움이 왜 12초 생성주기를 가졌는지, ghost프로토콜이 왜나왔는지. 블록체인에 보안이슈가 어떤게있는지.. 이런걸 지금 모르고있다.
이건 일단자고.. 다음시간에
7. txPool 은 어딨는가
다음주는 geth에 대해 스터디를 한다.
geth...
'Old Posts > BlockChain' 카테고리의 다른 글
#2. geth (0) | 2018.03.28 |
---|