가스 재가격이 기존 컨트랙트를 깨뜨릴 수 있다는 경고에 포크를 멈췄다
글램스테르담이 배포된 컨트랙트를 깨도 되는가 · 연기 결정 00:47:12
체인시큐리티가 가스 재가격 EIP-8037/8038 아래에서 기존에 실패하던 악성 트랜잭션이 성공하게 되는 취약점을 공개하면서 프로토콜 변경이 사용자 컨트랙트를 깨도 되는지가 쟁점이 됐다.
· Hubert: 셀프디스트럭트 강제 전송과 상태 가스 환급이 결합하면 ETH를 보내지 않고도 잔액이 갱신되는 예시를 제시했다. 13개 디파이 프로젝트에 책임 공개(responsible disclosure)를 진행 중이며 조사는 전수 조사가 아니라고 밝혔다.
· Maria Silva (EIP-8037 제1저자): 충분히 큰 업그레이드 불가 컨트랙트가 영향을 받는지가 스펙 변경 여부를 가르는 질문이라고 짚었고 Hubert의 답을 듣고 그런 컨트랙트의 존재가 아직 불확실하니 스펙 변경 가능성이 남아 있다고 결론냈다.
· Potuz (Offchain Labs, Prysm): 보안이 포크의 시의성보다 100% 우선한다고 썼다. (채팅)
· lightclient (Matt Garnett) (EF, geth): 개발자 과실로 책임을 돌리는 접근은 잘못됐고 충분한 자금과 사용자가 기대는 기능이라면 프로토콜이 사용자 공간을 깨서는 안 된다고 주장했다. 앱 개발자에게 업그레이드를 강제하는 일은 극도로 지저분해진다고 덧붙였다.
· Toni Wahrstätter (EF, 리서처): 큰 컨트랙트가 깨진다면 당연히 스펙을 바꾸고 포크를 미루겠지만 지금은 실제 영향을 몰라 추측이 이르다고 했다. 깨진 불변식을 복원하려 들면 EIP가 주는 이득 자체가 사라질 수 있다고도 경고했다.
"내가 말하려는 것은 글램스테르담 전에는 통하지 않았지만 글램스테르담 후에는 통하게 된 악성 트랜잭션이다." (Hubert, 00:13:56)
후디 포크를 멈출 것인가 · 취소 결정 00:49:52
10월 26일로 나흘 앞까지 다가온 후디 테스트넷 포크를 강행할지, 보안 분석이 끝날 때까지 취소할지를 콜 안에서 결정해야 했다.
· Justin Florentine (Besu): 이미 포크한 세폴리아(Sepolia)와 비교할 대조군이 필요하다며 후디를 포크 이전 스펙에 남겨두자고 했다.
· Daniel Lehrner: 스펙을 바꿔야 하면 세폴리아는 버려야 하고 후디까지 포크하면 바뀐 스펙을 테스트할 곳이 아예 없어진다고 지적했다.
· Potuz (Offchain Labs, Prysm): Daniel의 말에 동의하며 분산된 검증자가 많은 후디를 다시 배포하는 것은 큰 고통이므로 후디 연기로 기울었다.
· Parithosh Jayanthi (EF DevOps): 릴리스가 이미 나가 커뮤니티 전체가 새 버전으로 갈아타야 하므로 포크 실패 위험이 있다고 반론했으나, 이전 버전으로 롤백하면 된다는 Potuz의 지적을 수긍했다.
· Dima Gusakov (Lido): 리도는 어제 이미 업그레이드를 마쳤지만 온체인 롤백은 가능하다며, 후디에 230만 스테이크를 가진 30여 운영자에게 롤백을 요청하겠으나 100% 이행은 보장 못 한다고 했다.
"후디는 미뤄야 할 것 같다. 답해야 할 질문이 남아 있는데 포크를 강행할 좋은 이유를 못 들었고, 후디를 잃는 것은 좋지 않다." (lightclient (Matt Garnett), 00:35:13)
CFI는 기본 포함인가
헤고타에 CFI 상태 EIP가 19개 가까이 쌓인 가운데, CFI를 사실상 포함 확정처럼 취급하는 관행을 바로잡자는 문제 제기가 나왔다.
· lightclient (Matt Garnett) (EF, geth): CFI를 기본 포함으로 보는 사람과 기본 제외로 보는 사람이 섞여 있어 '이더리움이 이걸 해야 하나'라는 논의 없이 EIP가 미끄러져 들어간다고 지적했다. 모든 프로토콜 변경은 리스크이므로 필요 최소한만 바꿔야 하고 CFI가 기본 포함이라면 PFI에서 CFI로 가는 문턱을 훨씬 높여야 한다고 했다.
· Justin Florentine (Besu): lightclient에 격하게 동의하면서도 CFI에서 SFI로 가는 단계가 작업량을 평가하는 자리이므로 CFI를 기본 포함으로 만들어 그 단계를 잃어서는 안 된다고 했다.
· Łukasz Rozmej (Nethermind, EIP-8037 공동 저자): 이번 스코핑에서도 조건이 붙은 CFI가 많았고 조건이 충족되지 않으면 DFI가 기본이라며, CFI를 기본 포함으로 봐서는 안 된다고 했다.
· Mario Vega (EF, 테스팅, ACDT 진행): CFI에 시간을 쏟는 순간 매몰 비용 오류가 생겨 거절이 정치적으로 어려워진다며, CFI 자체가 큰 결정임을 인지하고 앞으로 더 신중해야 한다고 했다.
· Potuz (Offchain Labs, Prysm): CFI는 애초에 모든 클라이언트가 구현을 강제받지 않은 채 테스트하려고 만든 것이라며 기본 포함 해석에 강하게 반대했다.
"이더리움에 가하는 모든 변경은 리스크다. 8037과 8038에서 지금 보고 있는 그대로다. 그래서 우리는 절대적으로 최소한의 변경만 해야 한다." (lightclient (Matt Garnett), 01:25:40)
다음 데브넷, EL 단독인가 통합인가 · 스코프 확정 01:36:58
데브콘 전에 EL 단독 데브넷(bogota-devnet-2)을 하나 더 띄울지, 바로 EL+CL 통합 데브넷(hegota-devnet-0)으로 갈지와 그 범위를 정해야 했다.
· Mario Vega (EF, 테스팅, ACDT 진행): FOCIL과 프레임은 실제 상호작용이 있어 합치는 가치가 있지만 보고타가 준비됐다면 그것만으로도 테스트 가치가 있으니 먼저 내보내자고 했다.
· Jihoon: FOCIL과 프레임의 상호작용 설계가 아직 준비되지 않아 다음 주 통합 데브넷은 이르고 FOCIL 단독이라면 가능하다고 했다.
· lightclient (Matt Garnett) (EF, geth): EL 단독이면 다음 주 출시에 자신이 있다고 했고 이번 주에 아무것도 못 띄우면 데브콘 이동 때문에 몇 주 밀릴 것을 걱정했다.
· Justin Florentine (Besu): FOCIL과 프레임 상호작용을 보려는 것이라면 EIP를 세 개나 더 얹지 말자고 했고 다만 SETCODEFROM은 넣겠다고 했다. 자기 팀은 네 개 시한을 못 맞추지만 3개 클라이언트로 출시하는 것에 반대하지 않았다.
· Łukasz Rozmej (Nethermind, EIP-8037 공동 저자): 네더마인드는 모든 EIP에서 앞서 있다며 네 개 전부 포함하길 원한다고 했다.
· Barnabas Busa (EF DevOps): 출시에는 클라이언트 3개면 충분하므로 준비된 팀만으로 네트워크를 띄우면 된다고 했다.
"출시에는 클라이언트만 있으면 된다. 3개 클라이언트를 모을 수 있으면 네트워크를 띄울 수 있을 것이다." (Barnabas Busa, 01:43:33)
남은 것
· EF와 클라이언트 팀: 후디 포크 취소를 알리는 블로그 글을 즉시 발행하고, 롤백할 클라이언트 버전 목록을 싣고 새 릴리스가 나올 때마다 갱신한다
· 모든 EL·CL 클라이언트 팀: 후디 포크 일정을 제거한 새 릴리스를 낸다
· Fredrik, Francesco, Toni와 보안 연구자들: 다음 주 ACDT에서 영향 분석 결과와 분석 일정표를 발표한다
콜 페이지에서 전체 보기 → https://ethcollective.xyz/calls/acde-248
