DAO 스마트 계약 감사는 보안 강화에 어떻게 도움이 됩니까? PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

DAO 스마트 계약 감사는 보안 강화에 어떻게 도움이 됩니까?

읽기 시간: 6

DAO의 생성은 중앙 집중식 엔터티를 포함하지 않고 프로토콜을 관리하는 블록체인의 역량을 활용하는 web3에 고유합니다.  

DAO는 암호화와 분산 저장이라는 두 가지 측면을 중심으로 이루어집니다. 이것은 그들에게 커뮤니티 구성원의 집단적 결정에 따라 운영할 수 있는 능력을 부여합니다.

모든 Web3 프로토콜과 마찬가지로 DAO 프로토콜에도 보안 문제가 있습니다. 

이 기사는 DAO의 기반 인프라와 공격을 견디기 위해 스마트 계약 보안을 개선하기 위한 지침을 제시하는 것을 목표로 합니다.   

DAO의 목적

이더리움은 항상 최초의 프로그래밍 가능한 블록체인이라는 공로를 인정받고 있습니다. 개발자가 코드를 가지고 놀 수 있게 함으로써 진정한 탈중앙화를 가져오는 데 엄청난 역할을 합니다.

그 점에서, DAO 스마트 계약 육성하도록 설계되었습니다 온체인 거버넌스

온체인 거버넌스는 블록체인 프로젝트에 변경 사항을 구현하는 수단입니다. 규칙은 프로토콜에 인코딩되어 있으며 개발자는 코드 업데이트를 통해 변경 사항을 제안합니다. 제안된 변경 사항은 커뮤니티 구성원/참가자의 투표를 기반으로 실행됩니다.

” data-gt-translate-attributes="[{"attribute":"data-cmtooltip", "format":"html"}]">온체인 거버넌스는 커뮤니티가 순수하게 블록체인을 운영한다는 사실을 정당화합니다. 

다른 스마트 계약과 마찬가지로 DAO 계약은 기본적으로 사전 정의된 조건이 충족되면 프로세스를 자동화하고 조치를 실행하도록 설계되었습니다. 

예를 들어 설명하기 위해 ERC-20 토큰 계약을 고려하십시오. 계약 주소, 토큰 공급, 토큰 이름, 토큰 전송 조건 등의 정보로 ERC-20 표준을 기반으로 생성됩니다. 

설정된 규칙이 충족되면 토큰의 작동이 실행됩니다. 마찬가지로 DAO 계약은 회원의 투표 제안에 따라 자금 분배를 결정하는 것과 같이 조직의 작업을 지시하도록 코딩되어 있습니다. 

예를 들어 DAO에는 내장 재무부가 있습니다. 이들 자금은 그룹의 승인 후 사용되며 단일 권한이 계획을 실행할 수 없습니다. 

프로젝트와 관련된 중요한 결정을 내리기 위한 투표 제안은 모든 참가자의 목소리가 들리도록 하여 온체인 활동에 대한 신뢰와 투명성을 향상시킵니다. 

조직의 활동에 대한 관리 권한은 프로토콜마다 다르며 DAO 코딩이 수행되는 방식에 따라 순전히 주관적입니다. 따라서 DAO에 등록하기 전에 사용자가 프로토콜에 대해 갖는 관리 권한에 주의를 기울이는 것이 중요합니다. 

DAO 스마트 계약 설정과 관련된 단계

역학 온체인 거버넌스

온체인 거버넌스는 블록체인 프로젝트에 변경 사항을 구현하는 수단입니다. 규칙은 프로토콜에 인코딩되어 있으며 개발자는 코드 업데이트를 통해 변경 사항을 제안합니다. 제안된 변경 사항은 커뮤니티 구성원/참가자의 투표를 기반으로 실행됩니다.

” data-gt-translate-attributes="[{"attribute":"data-cmtooltip", "format":"html"}]">온체인 거버넌스는 일련의 계약(토큰, 거버너 및 시간 잠금)을 통해 실행됩니다. . 각각의 역할을 알아봅시다. 

토큰 : 토큰은 참여할 커뮤니티 구성원의 투표권을 결정합니다. 온체인 거버넌스

온체인 거버넌스는 블록체인 프로젝트에 변경 사항을 구현하는 수단입니다. 규칙은 프로토콜에 인코딩되어 있으며 개발자는 코드 업데이트를 통해 변경 사항을 제안합니다. 제안된 변경 사항은 커뮤니티 구성원/참가자의 투표를 기반으로 실행됩니다.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>온체인 거버넌스. 토큰 계약은 권력을 회수하고 참가자가 거버넌스 제안에 대한 선택을 표현할 수 있도록 잔액을 검증합니다. 

지사: 거버너 계약은 토큰 보유자에게 권한 할당, 허용되는 토큰 유형, 포럼에 필요한 투표 수 등에 대한 조건으로 코딩됩니다. 그러나 개발자는 원하는 계약 수행 방법에 대한 특정 기능을 사용하여 코딩할 수 있습니다. 

게다가 주지사 계약에는 코드에 투표 지연 및 투표 제안 세부 사항도 포함되어 있습니다. 참가자가 투표할 수 있도록 투표 제안이 열려 있는 기간에 대한 지침을 제공하는 역할을 합니다. 

타임록: Timelock 측면에는 제안된 역할, 실행자 역할 및 관리자 역할에 대한 AcessControl 설정이 포함됩니다. 타임록 구성 요소를 거버넌스 시스템과 통합하면 참가자가 결정에 동의하지 않는 경우 자유롭게 떠날 수 있습니다. 

DAO의 보안 공포에 대한 높은 수준의 관점. 

DAO는 스마트 계약에 의존하기 때문에 거버넌스 투표 및 재무 유지 관리에 대한 책임이 있습니다. 그리고 이러한 각 요소에는 고유한 보안 문제가 있습니다. 아래에서 풀어 보겠습니다. 

스마트 계약의 보안 문제

조금 되돌려서 잘 알려진 'DAO 몰락'을 떠올려보자. 가장 큰 원인은 DAO 코드의 버그였습니다. 해커는 취약점을 악용하여 계약에서 자금을 빼낼 수 있었습니다. 재귀 호출

재귀 호출은 자신을 참조하고 루프에서 계속해서 다시 호출할 수 있는 조건입니다. 재귀 함수는 기본 케이스(if)와 유도 케이스(else)를 사용합니다. 재진입 공격은 코드의 재귀 호출을 활용하여 수행됩니다.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>재귀 호출. 

이 계약은 12.7만 이더를 보유하고 있었고, 이 중 해커는 계약의 허점을 이용하여 3.6만 이더를 훔쳤습니다.

이 사건은 DAO 보안에 대한 더 많은 경험과 실험의 필요성을 분명히 보여줍니다. DAO는 혁신으로 큰 찬사를 받았지만 코드의 품질은 더 큰 피해를 입혔습니다.

또한 스마트 계약의 코딩은 나중에 어떤 기능도 버그로 바뀌지 않도록 완전히 투명해야 합니다. 

거버넌스에 대한 보안 문제

해커가 프로토콜의 거버넌스에 침입할 수 있는 방법에는 여러 가지가 있습니다. 우선 분산형 알림은 해커가 알림을 차단할 수 있는 경우 다른 DAO 구성원이 알아차리지 못하는 악의적인 제안을 도입할 수 있는 한 가지 방법입니다. 

다음은 다중 통화 트랜잭션을 요구하는 제안입니다. 제안이 DAO에서 검토 또는 감사되지 않으면 공격자는 제안을 사용하여 복잡한 결과를 생성할 수 있습니다. 

잘못된 임계값과 부적절한 타임록은 잘못된 활동의 가능성으로 이어집니다. 플래시론은 거버넌스 보안의 또 다른 관심사입니다. 공격자는 제안을 추진할 수 있는 다수의 권한을 부여하는 엄청난 양의 토큰을 빌릴 수 있습니다. 

악의적인 의도를 가진 제안은 심각한 보안 문제 프로토콜에 구현된 변경 사항에 대해. AAVE와 Compound는 과거에 이러한 유형의 해킹으로 어려움을 겪었습니다. 

실행 시 보안 문제

2017년 이더리움 네트워크에서 출시된 MakerDAO는 잘나가고 있었습니다. 2020년 Ether 가격이 50%까지 하락한 시장 붕괴가 발생하기 전까지는 말입니다. MakerDAO에서 사용되는 가장 중요한 담보였으며 가격 폭락으로 막대한 유동성이 발생했습니다.

MakerDAO는 더 큰 재정적 손실을 초래하는 막대한 청산을 처리하도록 설계되지 않았습니다. 여기에서 코딩이 강력했지만 청산 메커니즘을 실행하는 데 잘못이 있었습니다. 

그때부터 DAO 메커니즘의 실행도 기존의 다른 보안 문제 목록에 추가되었습니다. 

DAO 스마트 계약 감사를 위한 체크리스트

보안이 가장 중요한 측면입니다. 온체인 거버넌스

온체인 거버넌스는 블록체인 프로젝트에 변경 사항을 구현하는 수단입니다. 규칙은 프로토콜에 인코딩되어 있으며 개발자는 코드 업데이트를 통해 변경 사항을 제안합니다. 제안된 변경 사항은 커뮤니티 구성원/참가자의 투표를 기반으로 실행됩니다.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>온체인 거버넌스를 통해 권력이 나쁜 손에 넘어가는 것을 방지합니다. 따라서 보안 관점에서 강력한 DAO 계약을 개발하기 위한 지침을 찾아보겠습니다.

낮은 수준의 호출: 임의의 데이터를 가져오는 임의 계약에 대한 호출은 신중하게 처리해야 합니다. 

낮은 수준의 호출을 처리하는 것은 재진입 공격 벡터의 기회를 열 수 있기 때문에 까다롭습니다. 따라서 항상 호출의 성공 조건을 확인한 다음 반환된 데이터를 처리하는 것이 좋습니다. 

ETH 보유량: 감사 결과에 따르면 거버넌스 관련 계약에서 ETH가 제대로 처리되지 않는 경우가 많았습니다. 따라서 거버넌스 계약에서 ETH를 처리해야 하는 경우 ETH를 보내는 방법을 보장하는 것이 좋습니다.

관찰해야 할 또 다른 예방 조치는 일괄 호출을 허용하는 msg.value를 사용하는 동안입니다. 이 패턴이 잘못될 가능성이 있습니다. 

Flash-loan 악용 금지: 거버넌스 결정에 영향을 미치고 공격을 시작하려는 착취자는 플래시 대출에 의존합니다. 그들은 거버넌스 결정을 조작하기 위해 플래시 대출을 받고 토큰 보유를 통해 거버넌스 표를 확보합니다. 

따라서 거버넌스 권한을 얻기 위해 가져온 플래시 대출이 시스템을 위험에 빠뜨리기 때문에 현재 블록에서 보팅 파워 측정을 피할 수 있습니다. 

정기 업데이트 : 계약에 꼭 하자가 없더라도 항상 거버넌스 토큰 시장을 확인하고 그에 따라 임계값을 조정해야 합니다. 그렇지 않으면 악의적인 행위자가 결정을 이어받을 수 있습니다.

거버넌스 시스템을 마이그레이션 및 업그레이드하는 동안 세부 사항에 주의를 기울이십시오. Uniswap에서 발생한 것과 같은 사례가 있습니다. 주지사 브라보로의 마이그레이션은 거버넌스 결정을 일시적으로 중단시킨 계약 결함을 초기화했습니다. 

timelock 계약을 사용하여 지연 포함: 시간 지연 조치를 통해 커뮤니티는 프로토콜이 시행되기 전에 변경 사항을 검토할 수 있습니다. 이러한 시간 지연은 Timelock 계약을 통해 구현할 수 있습니다. 

프로토콜 관련 취약점: 프로토콜 코딩에 사용되는 소프트웨어는 서로 다를 수 있는 특정 비즈니스 로직에서 작동합니다. 해당 시스템에서 변경 사항을 실행할 때 발생하는 문제도 마찬가지입니다. 

사실 컴파운드 프로토콜은 조작적인 커뮤니티 제안의 승인으로 인해 문제가 발생했습니다. 따라서 계약의 강도와 건전성을 보장하기 위해 동료 및 독립 당사자가 코드를 철저히 검토하는 것이 항상 좋습니다.

DAO 스마트 계약 감사에서 QuillAudits Eminence

오늘날에는 시스템이 순전히 자체 기능을 갖추기 위해 많은 프로젝트가 시스템을 통합하는 방법을 모색하고 있습니다. 온체인 거버넌스

온체인 거버넌스는 블록체인 프로젝트에 변경 사항을 구현하는 수단입니다. 규칙은 프로토콜에 인코딩되어 있으며 개발자는 코드 업데이트를 통해 변경 사항을 제안합니다. 제안된 변경 사항은 커뮤니티 구성원/참가자의 투표를 기반으로 실행됩니다.

” data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>온체인 거버넌스. 따라서 이 분야는 지역 사회의 요구에 따라 빠르게 발전하고 번창하고 있습니다. 

공격도 복잡해지고 있어 까다롭고 비용도 많이 듭니다. 따라서 프로세스가 제자리에 있고 코드를 면밀히 준수하는지 확인하는 것이 필요합니다. 광범위한 연구를 수행하고 코드를 감사하여 잠재적 위험을 배제하고 악의적인 활동으로부터 프로젝트를 보호합니다.

16 조회수

타임 스탬프 :

더보기 퀼해시