[Ethereum] '제67차 이더리움 개발자 회의' 분석 및 개인 논평(8월 2일) v1.0

#67 Devs Meeting Review(2 Aug 2019)

- Related link : https://github.com/ethereum/pm/issues/116

English Version(한국어 버전은 하단에)

□ EIPs related to Istanbul HF

  ㅇ Client update for Istanbul EIPs(+tentative EIPs)
    - At the last meeting, the upcoming HF opened the possibility that it could be carried out in October this year and early next year. In addition, Ethereum devs discussed EIPs that were clearly and tentatively accepted in Istanbul HF through the last meeting and decided to update each client on those EIPs.
    - (Pantheon) We did not implement EIP-1057(ProgPoW) or EIP-1962(Elliptic Curve), but we will implement it to meet the EIP specifications accepted or suspended in our development situation.
    - (Nethermind) We accepted EIP-1344 and EIP-2028 and excluded EIP-1057(ProgPoW) and EIP-1962(Elliptic Curve) is in progress. The rest of us are not starting soon or looking at it as important.
    - (Geth and Parity) The updates for these two clients are important, so we hope to implement them before the next meeting.

  ㅇ Tentatively accepted EIPs for Istanbul HF
    - We believe that EIP-2045(related to particle gas on EVM opcode)* will be tentatively accepted improvement. Without introducing other subroutines or changing the mode of jumps, we can expect to increase the speed (to resolve scalability). From the EWASM team's point of view, one of the potential benefits of EWASM is to speed up, so EIP-2045 on particle gas is a good alternative to EWASM. Optimizing compatibility between EVM and clients can be easier and faster than utilizing EWASM.
      *EIP-2045(click here https://eips.hereum.org/EIPS/eip-2045): Ethereum's volume is determined by 'gas rate' according to 'block gas upper limit'. One way to increase this volume is to raise the gas limit. However, increasing the gas limit increases the state's growth rate, which can have side effects such as economic assumption of gas cost or variables in the execution of practices. Another way to increase trading volume is to reduce gas costs. Reducing the gas cost of computational opcode increases the gas limit and the storage opcode, but does not cause any side effects. But since the gas price of computional code is close to 1, devs tried to split the gas cost measurement and run it in the EVM. The result was good. Measurements of gas, which are broken into smaller pieces, are called 'particles'.
    - I think it's good to concentrate on EIPs since EIP-1108, 1884 and 2028 related to gas fees have already been confirmed or suspended.
    - All EIPs related to gas cost require a lot of benchmarking to be accepted in HF, and a person in charge must do a lot of work related to benchmarking. Also, if it is not accepted in HF in October this year, it may be accepted in the next HF in April or July next year.
    - The proposed improvements to the forthcoming HF are EIP-663, 1380, 1985, 2045, 2046, and their benchmarking is urgent.
     1) EIP-663(https://eips.ethereum.org/EIPS/eip-663) : The SWAP and DUP commands, which are currently limited to the depth of 16 on the stack, are responded with SWAPn and DUPn, and access to all depths is allowed.
     2) EIP-1380(https://eips.ethereum.org/EIPS/eip-1380) : To reduce gas costs for the call-to-self, it reduces gas costs for call instructions when running a new instance of the currently loaded contract.
     3) EIP-1985(https://eips.ethereum.org/EIPS/eip-1985) : Applying the proper limit range for EVM parameters such as gas limit and block number. Applying explicit scope helps to implement compatible clients.
     4) EIP-2035(https://eips.ethereum.org/EIPS/eip-2035) : The pricing method to be re-settled when executing SLOAD and SSTORE for block verification. The price varies depend on the size of contract storage(i.e., the smaller contracts are, the cheaper they cost).

□ Conformance test

  ㅇ ReTestEth
    - To be accepted in the HF, Reference Implementation must be sufficient and accompanied by tests. One of the tools the client is using is 'ReTestEth'. Therefore, we agree to use ReTestEth
for testing all of the tentatively accepted EIPs.

□ Working group updates

  ㅇ About the tentatively accepted EIPs
    - As for EIP-1057 aka ProgPoW, audit has not been completed. For EIP-1962, accuracy is being reviewed. What we hope is to make tentatively accepted EIPs accepted ones for testnet HF and Istanbul HF asap, otherwise it will be accepted in next year's HF.

□ Personal Comments

  ㅇEthereum 2.0 foretasting
    - Ethereum devs' meetings were held a week later and there is little to comment personally on as discussions continue on EIPs to be accepted in IstanbulHF. Instead, I would like to explain Ethereum 2.0.
    - Vitalik recently tweeted that most studies on Ethereum 2.0 have been completed
and the specifications continue to be updated. The "Serenity" stage, which goes to Edereum 2.0, is the final step of Ethereum roadmap, with the most prominent features
such as the conversion of consensus protocols from PoW to PoS, conversion of virtual machines from EVM to EWASM, and the introduction of shading. Here, the specifications in Ethereum 2.0 have not yet been finalized, and so far the findings are so vast and difficult that I will not deal with everything, but I will briefly look at each step in Ethereum 2.0.

 <Step 0> Beacon Chain – Early 2020
   - Beacon chain alone would be a long story, but I'll focus on its concept and role. Beacon Chain is a chain that oversees itself and the Stake Proof protocol for all shard chains. The chain has many roles that manage validators('proposers' who create and propose blocks plus 'witnesses' who validate the proposals), recommand proposers for each shard, organize a randomly selected witness committee, apply agreement rules,
apply rewards and penalties for validators, and registrate state for inter-shard ransactions.
   - In particular, Beacon chain has a role associated with the 'Shard chain' that will appear in phase 1. When shard chain is deployed, each shard arbitrarily selects a validator that blocks transactions executed on the shard, and lets that validator vote by a witness committee of the shading version, which is also randomly selected. At this point, when the vote is done well, 'crosslink' is created, which means that it is ready to update transaction in beacon chain.
   - What is noteworthy in phase 0 is that the existing ETH should be converted to a different version of ETH. This is a new asset(ETH2) that will be used for beacon chain, which can be obtained by staking and acting as a validator in a beconchain or by purchasing an existing ETH(ETH1) and transfer it to beacon chain(However, the transmitted ETH1 cannot be transferred between shards, and it will be possible in phase 2).
   - For your information, at least 32ETH is required for staking and validation.

  <Stage 1>Shard Chain - 2020 
    - Shard chain is a chain that oversees shading, a scalable technology that divides data into numerous pieces and spaces to improve performance and management. At this stage, the transactions occurring in Ethereum chain are distributed in 1,024 chards, which allow much more transactions to be processed at the same time than before.
    - Reward is paid to both PoW miners and PoS validators, since the existing PoW chain will continue to operate even after Shard Chain is introduced.

  <Step 2>State execution – 2021 
    - Unlike phase 0 and 1 where new chains are introduced, phase 2 is a stage where many functions are integrated qualitatively. Shardchain is transformed from a simple data storage warehouse into a more structured chain, each of which manages virtual machines based on EWASM. It is also possible for the ETH to be transferred between the shards.
    - And the EWASM storage cost, the state rent system, is introduced, so that devs and users of smart contracts have to pay fees for storing code and data.

  <Later> Ethereum 3.0 - TBD 
    - Fully PoS-based Ethereum will be implemented. In addition, zk-STARKs, which are now more advanced than zk-SNARKs, will be introduced and combined.
    - 'Heterogenous Shards' is introduced, allowing for higher gas transactions without affecting other shards.
    - Other detailed plans are not known.

  ㅇNow that we know more about Ethereum2.0...
    - We've just been through Ethereum2.0 and even 3.0. It can be useful information for longterm holders, or boring for someone else. As an analyst and investor, it was good for me to wrap up Ethereum's roadmap. If I have nothing to write about devs meeting, I will introduce other aspects of Ethereum like today.

Disclaimer: Since this post was written for the purpose of providing information for investment, please be careful in your investment decision. You cannot copy, distribute, or edit the contents without my permission because it was made based on my own judgment based on the reference data.

한국어 버전

□ 이스탄불HF 관련 이더리움개선제안(EIPs) 관련

  ㅇ 이스탄불HF 허용(+잠정보류) EIP에 대한 클라이언트 업데이트
    - 지난 회의를 통해 도래하는 HF는 올해 10월과 내년 초에 진행할수 있다는 가능성을 열었다. 또한, 이더리움 개발자들은 지난 회의를 통해 이스탄불HF에 허용 또는 잠정보류된 EIP에 대한 논의를 하였고, 그 EIP에 대한 각 클라이언트에 대한 업데이트를 하기로 하였다.
    - (Pantheon) 우리 Pantheon은 EIP-1057(ProgPoW 관련), EIP-1962(타원곡선 관련)을 구현하지 않았습니만, 우리의 개발 상황에서 허용 또는 잠정보류된 EIP 사양에 맞도록 구현하겠다.
    - (Nethermind) 우리는 EIP-1344(체인ID관련)와 EIP-2028(가스비 절감 관련)을 받아드렸고 EIP-1057(ProgPoW 관련)은 제외했으며, EIP-1962(타원곡선 관련)은 진행중에 있다. 나머지는 곧 시작하거나 중요하게 보고 있지 않다.
    - (Geth와 Parity) 이 두 클라이언트의 업데이트는 중요하므로, 다음 회의 전까지 실행하기를 바란다.

  ㅇ 이스탄불HF 잠정보류EIP 관련
    - 우리는 EIP-2045(EVM opcode상의 입자 가스비 관련)*가 잠정보류될만한 개선안이라고 보고 있다. 별도의 서브루틴을 도입하지 않아도 되고 점프작동방식을 변경하지 않아도 (확장성 해결을 위한) 속도향상을 기대할수 있다. EWASM팀의 관점으로 볼때도, EWASM의 잠재적 이점들 중 하나는 속도를 높이는 것이므로 입자 가스비 관련 EIP-2045는 EWASM에 있어서도 좋은 대안이 될것입니다. EVM과 클라이언트간 호환성을 최적화하면 EWASM을 활용하는 것보다 쉽고 빠를수도 있다.
      *EIP-2045(여기 클릭) : 이더리움의 거래량은 '블록가스상한(가스제한)'에 따른 '가스비'에 의해 결정됨. 이 거래량을 높이기 위한 하나의 방법은 '가스제한'을 높이는 것'임. 단, 가스제한을 높이면 스테이트 증가율도 올라가며, 이는 가스비의 경제 가정 문제나 컨트렉트 실행상 변수 문제 등의 부작용을 낳음. 거래량을 높이기 위한 또다른 방법은 '가스비를 줄이는 것'임. Computational opcode의 가스비를 줄이면, 가스제한을 높이고 storage opcode를 높이는 효과가 나면서도 부작용은 없음. 그런데 이 computational opcode의 가스비가 1에 가까우므로 가스비 측정치를 더 잘게 쪼개면서 EVM에서 실행하는 것을 시험해봤는데 그 결과가 괜찮았음. 이때 더 잘게 쪼개진 가스비 측정치를 '입자(Particles)'라고 함.
    - 이미 가스비와 관련된 EIP-1108, 1884, 2028이 확정 또는 잠정보류되었기 때문에 이것에 집중하는 것이 좋다고 생각한다.
     - 가스비 관련 EIP를 포함한 모든 잠정보류 EIP는 HF에 반영되기 위하여 많은 벤치마킹이 필하며, 담당자가 벤치마킹과 관련된 많은 작업을 해야한다. 또한 올해 10월 HF에 미반영되면 내년 4월이든 7월이든 차기 HF에 반영될수도 있다.
     - 앞으로 도래할 HF반영에 잠정보류된 개선안은 EIp-663, 1380, 1985, 2045, 2046이며 이들의 벤치마킹은 시급하다.
      1) EIP-663(https://eips.ethereum.org/EIPS/eip-663) : 현재 스택상 16의 깊이로 제한된 SWAP과 DUP명령어를, SWAPn과 DUPn으로 대응시키고 모든 깊이까지 접근을 허용함.
     2) EIP-1380(https://eips.ethereum.org/EIPS/eip-1380) : 자기호출에 대한 가스비 절감으로, 현재 로드된 컨트렌트의 새 인스턴스를 실행시 호출지시에 대한 가스비를 줄임.
     3) EIP-1985(https://eips.ethereum.org/EIPS/eip-1985) : 가스제한, 블록넘버 등 EVM 매개변수들에 대한 적정 한계범위를 적용. 명시적인 범위를 적용하면 호환가능한 클라이언트를 구현하는데 도움이 됨.
     4) EIP-2035(https://eips.ethereum.org/EIPS/eip-2035) : 블록검증을 위해 SLOAD와 SSTORE실행시 지불해야하는 가격 재책정방식으로, 컨트렉트 스토리지 크기에 따라 비용이 달라짐(가령, 컨트렉트가 작을수록 저렴해짐). 

□ 적합성 테스트

  ㅇ ReTestEth
    - HF에 반영되기 위해서는 참조구현(Reference implementation)이 충분하고 테스트가 동반되어야 합니다. 이를 위해 클라이언트가 사용되는 도구들 중 하나가 'ReTestEth'입니다. 따라서, 우리는 잠정보류된 모든 EIP의 테스트를 위하여 ReTestEth 사용에 동의합니다. 

□ 워킹 그룹 업데이트

  ㅇ 잠정보류 EIP에 대하여
    - ProgPoW로 유명한 EIP-1057의 경우, 감사가 완료되지 않았다. EIP-1962의 경우, 정확성을 검토중입니다. 이러한 잠정보류건이 어서 테스트넷HF와 이스탄불HF에 허용되는 것이 우리가 바라는 것이며, 그렇지 않으면 내년에 있을 HF에 반영될것이다. 

□ 개인 논평

  ㅇ 이더리움2.0 맛보기
    - 이더리움 개발자 회의가 1주일 간격으로 진행되었고, 계속해서 이스탄불HF에 반영될 이더리움개선안(EIP)에 대한 논의가 지속되고 있기때문에 딱히 논평할 거리가 없다. 그 대신에 이더리움2.0에 대한 설명을 하고자 한다. 
    - 최근 비탈릭은 트위터를 통해 이더리움2.0에 대한 대부분의 연구가 완성되었고 스펙은 계속 업데이트 된다고 언급하였다. 이더리움2.0으로 통하는 '세레너티(Serenity)' 단계는 이더리움 마스터플랜의 최종 단계로, 가장 두드러진 특징으로는 PoW에서 PoS로의 합의프로토콜 전환, EVM에서 EWASM으로의 가상머신 전환, 샤딩 도입 등이 있다. 여기선, 이더리움2.0에서의 스펙이 아직 최종적으로 확정되지도 않았고, 현재까지 밝혀진 내용도 워낙 방대하고 난해하기 때문에 모든걸 다루지 않고 이더리움2.0에서의 각 단계별 내용에 대해 간단히 알아보겠다.
< 이더리움2.0의 여러 체인(https://www.mycryptopedia.com) >

  <0단계> 비콘체인(Beacon Chain) - 2020년 초
   - 비콘체인만 다뤄도 아주 긴 글이 되겠지만, 그 개념과 역할 위주로 정리해보겠다. 비콘체인은 비콘체인 자체체인과 모든 샤드체인에 대한 스테이킹 증명 프로토콜을 총괄하는 체인이다. 이 체인은 검증인(블록을 생성하고 제안하는 '제안자' + 그 제안을 검증하는 '증인')과 그들의 스테이킹 관리, 각 샤드에 제안자를 추천, 검증인을 임의선정한 증인위원회 구성, 합의규칙 적용, 검증인에 대한 보상과 페널티 적용, 샤드간 거래를 위한 스테이트 등록 등의 역할을 수행한다.
     - 특히, 다음단계인 1단계에서 등장할 '샤드체인'과 관련된 역할이 있다. 샤드체인이 배치되면, 각 샤드는 샤드에서 실행된 트랜잭션을 블록화하는 검증인을 임의선정하며, 그 검증인으로 하여금 역시 임의선정된 샤딩버전의 증인위원회에 의해 투표하게한다. 이때 투표가 잘 이행되면 크로스링크가 생성되는데, 이는 곧 비콘체인에 트랜잭션 업데이트를 할 준비가 되었다는 뜻이다.
     - 0단계에서 주목할만한 점은 기존 ETH를 다른 버전의 ETH로 전환해야한다는 점이다. 이는 비콘체인에 사용될 새로운 자산(ETH2)으로, 비콘체인에서 스테이킹을 하고 검증인 역할을 하거나 기존의 ETH(ETH1)을 구매하여 비콘체인으로 전송하여 얻을수 있다. (단, 전송한 ETH1은 샤드간 전송이 불가하며 2단계가 완료되어야 샤드간 전송이 가능하다).
      - 참고로 유효성 검증과 그에 따른 보상을 받기 위한 스테이킹은 최소 32이더가 필요하다. 

  <1단계> 샤드체인(Shard Chain) - 2020년 
    - 샤드체인은, 성능과 관리를 개선하기 위하여 데이터를 수많은 조각과 공간으로 나눠 보관하는 확장성 기술인 샤딩을 총괄하는 체인이다. 이 단계에서 이더리움 체인에서 발생하는 트랜잭션이 1,024개의 샤드로 분산되며, 이때 기존보다 동일한 시간에 훨씬 더 많은 트랜잭션을 처리할수 있다.
    - 샤드체인이 도입되어도 기존의 PoW체인은 계속 작동하므로, 보상이 PoW채굴자와 PoS검증인 모두에게 지급된다. 

  <2단계> 스테이트 실행(State execution) - 2021년 
   - 새로운 체인이 도입되는 0단계와 1단계와는 달리, 2단계는 질적으로 여러 기능이 통합되는 단계다. 샤드체인은 단순 데이터 보관창고에서 더욱 구조화된 체인으로 탈바꿈되며, 각 샤드는 EWASM을 기반으로 가상머신을 관리한다. 또한 비로소 샤드간 ETH가 전송이 가능해진다.
    - 그리고 EWASM 스토리지 비용인 스테이트 임대수수료(State rent)제도가 도입되어, 스마트 컨트렉 개발자와 사용자는 코드와 데이터를 저장하기 위한 수수료를 지불해야 합니다.
  <추가샤딩1> 라이트 클라이언트 스테이트 프로토콜(Lightc-client State Protocol) - 2022년
    - 사용자들은 스토리지 임대수수료를 직접 지불하거나 2차시장(필자주 : 회사 경영권이 주식이라는 형태로 증권시장에 상장되어 거래되듯이, 스토리지 사용권도 별도로 거래될수도 있다는 의미같음)을 통해 지불될 예정이다.
     - 기타 세부 계획은 알려지지 않음.

  <추가샤딩2> 샤드간 트랜잭션(Cross-shard transactions) - 미정
    - 내부적으로 샤드와 샤드와 관련된 기술이 내실화된다.
    - 기타 세부 계획은 알려지지 않음.

  <추가샤딩3> 샤드와 메인체인간 긴밀한 보안 공조(Tight coupling with Main-chain Security) - 미정 
    - 포크가 필요없는 샤딩기술이 도입된다.
    - 기타 세부 계획은 알려지지 않음.

  <추가샤딩4> 샤드의 샤드(Super-quadratic or exponential Sharding) - 미정
    - 샤드안에 샤드가 있고 또 그안에 샤드가 있는 '재귀적으로 존재하는 샤드'가 도입된다.
    - 기타 세부 계획은 알려지지 않음.

  <이후 단계> 이더리움3.0 - 미정 
    - 진정한 Full PoS기반의 이더리움이 구현될 예정이다. 또한 현재 영지식증명기술인 zk-SNARKs보다 더 진보된 zk-STARKs가 도입 및 결합될 예정이다.
    - '이질적인 샤드(Heterogeneous shards)'라는 것이 도입되어, 다른 샤드에 영향을 끼치지 않으면서 더 높은 가스 트랜잭션을 허용할수 있다.
    - 기타 세부 계획은 알려지지 않음.

  ㅇ 이더리움2.0 단계를 알고보니,,,
     - 이더리움2.0을 넘어선 이더리움3.0까지 작성하고보니, 이글을 읽고있는 누군가에겐 장투를 위한 유용한 정보가 될수도 있고, 다른 누군가에겐 장투하기도 전에 질려버릴수도 있다. 다만, 필자는 투자자이면서 분석가이기에 스스로 이더리움의 로드맵을 정리할 겸 소개할 겸 해서 정리하고 공유해봤다. 앞으로도 이더리움 개발자 회의와 직결되는 논평을 작성하기 애매할 경우, 이더리움2.0과 같은 이더리움의 다른 측면도 소개할예정이므로 기대하길 바란다.  

법적 고지 : 본 게시글은, 투자를 위한 정보제공을 목적으로 작성되었기에 투자결정은 신중을 기하여 주시기 바라며, 참고자료를 토대로 본인 판단하에 내용을 추가, 편집 등 작성되었기에 본인의 허락없이 복사, 배포, 편집 등을 할 수 없습니다.

 1) https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-phases/
 2) https://github.com/ethereum/wiki/wiki/Sharding-roadmap#phase-3-light-client-state-protocol
 3) https://www.mycryptopedia.com/ethereum-beacon-chain-explained/
 4) https://medium.com/ethhub/the-basics-of-ethereum-2-0-economics-3bd2ffc7fd0e
 5) https://notes.ethereum.org/s/rkhCgQteN#Why-32-ETH-validator-sizes

댓글 쓰기

0 댓글