[안내] 1.8 하드포크 이후, MSIG를 통한 합의 프로토콜 기능 활성화
eos·@acroeos·
0.000 HBD[안내] 1.8 하드포크 이후, MSIG를 통한 합의 프로토콜 기능 활성화
 안녕하세요, 아크로이오스입니다. 지난 9월에 진행되었던 1.8 하드포크는 합의 프로토콜 업데이트가 포함되어 있습니다. 하드포크가 성공적으로 완료된 직후부터 업데이트 된 여러 합의 프로토콜 기능들이 하나 둘, BP간 MSIG를 통해 활성화되고 있습니다.  이미지 출처: [blok.io](https://bloks.io/protocol-features) 1.8 하드포크를 통한 합의 프로토콜 기능은 사전 활성화 기능인 PREACTIVE_FEATURE을 포함하여 13개 항목으로 구성되어 있습니다. 현재까지는 아래에서 소개할 두 가지 기능까지 합쳐 총 4개의 기능이 활성화(Activated) 되었습니다. 앞으로 남은 항목이 MSIG로 업데이트 될 때마다, 어떤 내용인지 풀어 커뮤니티 여러분께 공유해 드리도록 하겠습니다. 오늘 소개할 두 가지는 지난 10월 30일 EOS LAOMAO에 의해 활성화 제안이 되었던 기능입니다. 지난 주말, 15/21 BP MSIG가 승인이 되면서 메인넷에 적용되었습니다. - ONLY_LINK_TO_EXISTING_PERMISSION - DISALLOW_EMPTY_PRODUCER_SCHEDULE ## 1. ONLY_LINK_TO_EXISTING_PERMISSION (존재하지 않는 권한 비허가) 기능 소개에 앞서, eosio:: linkauth에 대한 설명이 필요합니다. eosio::linkauth는 계정의 권한 확인으로, 특정 기능에 대한 계정의 Owner, Active 권한을 체크하여 해당 기능에 접근 가능 여부를 판단합니다. 이전까지는 계정이 특정 기능에 대해 권한 확인 시, **'계정명'만 확인했으나 ONLY_LINK_TO_EXISTING_PERMISSION이 활성화 되면서 특정 기능에 접근 가능한 계정은 ‘Owner 권한’이 있는 계정으로만 제한**되었습니다. **※ 권한 체크 시, 계정명 확인 → 오너 권한 확인으로 변경 / ONLY_LINK_TO_EXISTING_PERMISSION 비활성화 시, 기존 방식으로 진행** 보통 컨트랙트를 블록에 기록하는 계정의 경우, Owner, Active 권한을 이미 다 가지고 있기 때문에 굳이 나눌 필요가 없으며, 이 기능을 활성화 하지 않아도 별 문제는 되지 않지만, 잠재적으로 발생할 수도 있는 사안에 대한 사전 조치라고 보시면 될 것 같습니다. ## 2. DISALLOW_EMPTY_PRODUCER_SCHEDULE (빈 블록 프로듀서 스케줄 제한) DISALLOW_EMPTY_PRODUCER_SCHEDULE는 블록 생산 스케줄과 관련된 변경 사항 입니다. 이는 **전달된 BP목록의 BP 개수가 0일 때, 블록 프로듀서 스케줄을 설정하지 않도록 하는 기능**입니다. 블록 프로듀서 스케줄을 변경하기 위해서는 BP 목록 개수 데이터가 필요합니다. 여태까지는 스케줄 설정 시, BP 개수를 체크하지 않고 있었습니다. 이 기능은 BP 개수가 0이 되고, DISALLOW_EMPTY_PRODUCER_SHEDULE= true 값 설정 시, 활성화되어 블록 프로듀서 스케줄을 설정하지 않습니다. ※블록 프로듀서 스케줄이란? 다음 블록을 생산할 BP와 생성될 블록의 번호를 매칭하는 것을 뜻합니다. #### 블록 프로듀서 스케줄 현황 BP 알파벳명 순으로 돌아가며 블록을 생산합니다. 스케줄이 설정되어 있으면, TOP 21 BP에서 내려가더라도 설정된 스케줄 대로 작동하며, 다음 스케줄 설정 시에 변동 사항이 반영됩니다. #### 기능 활성화 조건 - 등록된 BP의 수 = 0 - DISALLOW_EMPTY_PRODUCER_SCHEDULE = true **[참조]** - [Consensus protocol upgrade to disallow proposing an empty producer schedule #6458](https://github.com/EOSIO/eos/issues/6458) - [Consensus upgrade to disallow linking to non-existing permission #6333](https://github.com/EOSIO/eos/issues/6333) - [protocol upgrade activation mechanism (also implements PREACTIVATE_FEATURE and ONLY_LINK_TO_EXISTING_PERMISSION protocol features) #6831](https://github.com/EOSIO/eos/pull/6831) ## Contact EOS producer name : acroeos12345 Email : community@acroeos.io Steemit : https://steemit.com/@acroeos Medium : https://medium.com/acroeos Twitter : https://twitter.com/acroeos Telegram : https://t.me/AcroEOS Wechat : AcroEOS信息站! Proxyname : votetochange