
최근 저는 Polkadot 프로젝트의 핵심 개발자와 대화를 나누다가 최근 그들의 프로젝트가 해킹당했다는 소식을 듣고 충격을 받았습니다. 이는 해외 RMB 환율(1~7.2)을 기준으로 계산된 현재 시장 가치가 1억이 넘는 프로젝트입니다. 다행히 안전 모드에 들어간 후 모든 후속 작업이 런타임에 통합되었습니다. 공격 거래가 거부되었습니다. 기술적인 관점에서 1억 달러가 넘는 이 팔레트를 살펴보겠습니다.
안전 모드 팔레트는 특정 화이트리스트를 제외한 모든 거래(외부 항목)를 일시적으로 제한하는 기판 기반 블록체인에 대한 메커니즘을 제공하는 것을 목표로 합니다 . 이는 잠재적인 위협이나 중요한 업데이트로부터 네트워크를 보호해야 할 때 특히 중요합니다. 특권 계정을 통해 또는 일정 금액의 자산을 예치하여 안전 모드에 들어갈 수 있습니다. 블록이 잠긴 후 자동으로 종료가 수행되거나 특수 계정이 트랜잭션을 시작하여 종료할 수 있습니다.
주요 기능
안전 모드로 들어가세요:
접근 불가: 모든 사용자는 보증금을 입금하여 안전 모드에 들어갈 수 있습니다. 안전 모드의 지속 시간은 EnterDuration 구성 항목에 의해 정의됩니다.
권한 있는 항목: 특정 권한 있는 계정은 구성 항목에 정의된 기간 동안 블록체인을 안전 모드로 강제 전환할 수 있습니다.
안전 모드 확장:
권한 연장 없음: 사용자는 추가 보증금을 예치하여 안전 모드 기간을 연장할 수 있습니다. 연장 기간은 ExtendDuration 구성 항목에 의해 정의됩니다.
권한 연장: 권한 있는 계정은 안전 모드 기간을 연장할 수도 있습니다.
안전 모드 종료:
자동 종료: 현재 블록 번호가 EnteredUntil 값을 초과하면 안전 모드가 자동으로 종료됩니다.
강제 종료: 권한 있는 계정은 네트워크를 강제로 안전 모드에서 종료할 수 있습니다.
보증금 관리:
예금: 사용자는 안전 모드에 들어가거나 확장할 때 자금을 약속합니다.
예금 해제: 예치금은 일정 지연 후 해제되거나 특권 계좌에 의해 강제로 해제될 수 있습니다.
예치금 감소: 권한 있는 출처는 필요한 경우 예치금에 벌금을 부과할 수 있습니다.
이벤트 알림: 팔레트는 안전 모드 진입, 확장, 종료 및 예금 관련 작업을 네트워크에 알리기 위해 다양한 이벤트를 내보냅니다.
특성 구성
이 팔레트는 다음 특성으로 고도로 구성 가능합니다.
RuntimeEvent: 전체 이벤트 유형을 정의합니다.
통화: 입금에 사용되는 통화 유형을 지정합니다.
RuntimeHoldReason: 자금 보유 이유를 정의합니다.
WhitelistedCalls: 안전 모드에서 계속 실행될 수 있는 모든 런타임 호출을 포함합니다.
EnterDuration 및 ExtendDuration: 안전 모드 시작 및 연장 기간을 정의합니다.
EnterDepositAmount 및 ExtendDepositAmount: 안전 모드 진입 및 확장을 위한 입금액을 지정합니다.
ForceEnterOrigin, ForceExtendOrigin, ForceExitOrigin 및 ForceDepositOrigin: 예금을 강제 입력, 연장, 종료 또는 관리할 수 있는 계정을 정의합니다.
알림: 안전 모드에 들어가거나 나갈 때 다른 런타임 처리 로직에 알립니다.
ReleaseDelay: 예금이 보관된 후 예치금에 대한 최소 해제 시간을 정의합니다.
거래 상세 설명
입력하다:
설명: 안전 모드로 들어갈 수 있는 권한이 없습니다. 기간은 EnterDuration 구성 항목에 정의된 블록 수입니다. 이 거래는 사용자의 자산을 잠그기 위해 통화 보유 방법을 조사합니다.
매개변수: 출처(모든 일반 계정).
참고: 호출자가 보증금을 지불할 만큼 충분한 자산을 가지고 있는지 확인해야 하며 매개변수는 EnterDepositAmount입니다.

force_enter:
설명: 안전 모드로 진입할 수 있는 권한이며, 지속 시간은 권한 있는 계정 구성 항목에 따라 정의되며 일반 계정과 다를 수 있습니다. 이는 ForceEnterOrigin의 매개변수에서 비롯됩니다.
매개변수: Origin(ForceEnterOrigin에 의해 정의된 권한 있는 계정).
참고: 권한 있는 계정만 호출할 수 있습니다.
연장하다:
설명: 허가 없이 보안 모드를 확장합니다. 기간은 ExtendDuration 구성 항목에 정의된 블록 수입니다.
매개변수: Origin(호출자의 출처).
참고: 발신자에게 충분한 보증금이 있는지 확인해야 합니다.

force_extend:
설명: 권한 확장 보안 모드, 기간은 권한 소스 구성 항목에 의해 정의됩니다.
매개변수: 원점(특권 원점).
참고: 권한이 있는 소스만 호출할 수 있습니다.
강제 종료:
설명: 안전 모드에서 권한 있는 종료가 가능합니다.
매개변수: 원점(특권 원점).
참고: 권한이 있는 소스만 호출할 수 있습니다.

force_slash_deposit:
설명: 특정 블록에서 지정된 계좌의 입금을 줄입니다.
매개변수: Origin(권한 소스), account(계정), block(블록 번호).
참고: 권한이 있는 소스만 호출할 수 있습니다.

release_deposit:
설명: 특정 블록에 지정된 계좌의 예금을 해제할 수 있는 권한이 없습니다.
매개변수: Origin(발신자의 출처), account(계정), block(블록 번호).
참고: 안전 모드가 종료되었고 지연 시간이 만료되었는지 확인해야 합니다.
force_release_deposit:
설명: Privilege는 특정 블록에 지정된 계좌의 예금을 해제합니다.
매개변수: Origin(권한 소스), account(계정), block(블록 번호).
참고: 권한이 있는 소스만 호출할 수 있습니다.
사용 시나리오
블록체인 네트워크가 잠재적인 보안 위협을 감지한다고 가정하면 권한 있는 계정을 가진 사용자는 안전 모드 팔레트를 사용하여 화이트리스트에 없는 모든 트랜잭션의 실행을 신속하게 제한하여 위험을 완화할 수 있습니다. 물론, 이 계정은 네트워크의 탈중앙화가 완료된 후 제거될 수 있습니다. 그런 다음 프로젝트 설립을 위한 자금 계정 등과 같이 시작할 자산의 특정 비율을 가진 일부 계정이 있을 수도 있습니다. 사용 단계는 다음과 같습니다.
안전 모드로 들어가세요:
사용자 또는 관리자는 Enter 기능을 호출하여 미리 정의된 블록 수만큼 보증금을 예치하여 안전 모드를 활성화합니다. 또는 권한 있는 소스가 force_enter 함수를 호출하여 구성 항목에 정의된 기간 동안 안전 모드를 즉시 활성화할 수 있습니다.
안전 모드 확장:
위협이 지속되면 사용자는 연장 기능을 호출하여 추가 보증금을 예치하여 안전 모드 기간을 연장할 수 있습니다. 권한이 있는 소스는 force_extend 기능을 사용하여 보증금 없이 기간을 연장할 수 있습니다.
안전 모드 종료:
위협이 무력화되면 권한 있는 소스는 force_exit 함수를 호출하여 안전 모드를 종료할 수 있습니다. 아무 조치도 취하지 않으면 미리 정의된 기간이 지나면 안전 모드가 자동으로 종료됩니다.
보증금 관리:
사용자는 안전 모드를 종료하고 지연 시간이 지난 후 release_deposit 함수를 호출하여 보증금을 해제할 수 있습니다. 권한이 있는 소스는 필요한 경우 강제로 해제하거나 예치금을 줄일 수 있습니다.
주의할 점
구성: 구성 특성이 네트워크 요구 사항에 맞게 올바르게 설정되었는지 확인합니다. 구성 오류로 인해 예기치 않은 동작이 발생할 수 있습니다.
예치금 관리: 사용자 자금이 불필요하게 잠기지 않도록 예치금 금액과 릴리스 지연을 신중하게 설정하십시오.
이벤트 처리: Pallet에서 발생하는 이벤트를 모니터링하고 안전 모드 상태를 적시에 이해하고 적절한 조치를 취합니다.
보안: Pallet과 해당 구성을 정기적으로 감사하여 보안 표준을 충족하고 취약점이 발생하지 않는지 확인합니다.
안전 모드 팔레트를 이해하고 올바르게 구성함으로써 네트워크 관리자는 위험을 효과적으로 관리하고 완화하여 블록체인 네트워크의 안정성과 보안을 보장할 수 있습니다. 다른 프로젝트 관련 당사자가 특정 자산을 소유하고 위험을 발견한 경우 공격으로부터 네트워크를 보호하기 위해 거래를 시작할 수도 있습니다.
부인 성명
PaperMoon에서 제공하고 이 기사에 포함된 자료는 교육 목적으로만 사용됩니다. 이는 재무 또는 투자 조언을 구성하지 않으며 비즈니스 결정을 위한 지침으로 해석되어서는 안 됩니다. 독자들은 투자나 비즈니스 관련 결정을 내리기 전에 독립적인 조사를 수행하고 전문가와 상담하는 것이 좋습니다. PaperMoon은 이 기사의 내용을 기반으로 취한 모든 조치에 대해 책임을 지지 않습니다.
기판 입문강좌 제16호가 시작되었습니다!
개발자의 적극적인 가입을 환영합니다.
Mastering Substrate를 사용하면 Web3 산업 발전의 기술적 힘을 가까이서 경험할 수 있을 뿐만 아니라 Polkadot의 생태학적 혁신의 최전선으로 깊숙이 들어가게 됩니다. 원블록+와 폴카닷이 공동으로 개설한 제16회 '기판개발 입문 및 실무 프로젝트 실습' 강좌가 11월 29일부터 시작되었습니다 . (무료 강좌이므로 빠른 등록 부탁드립니다.)

본 강좌의 영상 콘텐츠는 기존 6개 클래스를 기반으로 최적화되며, 프로젝트 공유 섹션도 추가되어 기술 공유를 위한 우수한 Polkadot 생태 프로젝트가 준비됩니다! 이 과정에서는 모든 사람이 배운 내용을 통합할 수 있도록 업무, 업무 시간 Q&A 및 기타 섹션을 마련합니다 . 과제 점수가 가장 높은 학생은 공식 과정 학습 외에도 업계 리더와 일대일 상담 기회를 받게 됩니다. 때때로 기술 지식을 제공합니다. 이 기사는 모든 사람이 새로운 지식을 배우는 데 도움이 되며 모든 사람에게 Polkadot 생태계 및 기판 기술에 대한 통찰력을 제공하는 1~2개의 AMA 온라인 라이브 방송이 있습니다 . 블록체인 분야에서 획기적인 발전을 이루기를 희망하든, 이 신흥 산업에서 두각을 나타내고 싶어하든, 이 과정은 귀하의 성공을 향한 확고한 발걸음이 될 것입니다.
