Gitcoin Passport 플러그인

A B C
:information_source: 요약 Discourse에서 Gitcoin Passport를 사용하여 시빌(Sybil) 공격 방지 기능 활성화
:hammer_and_wrench: 저장소 링크 https://github.com/dappy-studio/gitcoin-passport-discourse-plugin
:open_book: 설치 가이드 Discourse에 플러그인 설치 방법

개요

Gitcoin Passport는 봇과 시빌 공격자로부터 DAO와 온라인 커뮤니티를 보호하는 데 도움이 되는 시빌 저항 도구입니다. 이 가이드는 커뮤니티 포럼을 악의적인 행위자로부터 보호하면서 동시에 해당 과정을 수행하는 동안 익명성을 유지하도록 Discourse에서 Gitcoin Passport 플러그인을 설정하고 활성화하는 방법을 안내합니다.

Gitcoin Passport 작동 방식

Gitcoin Passport는 누구나 자신의 여권(passport)을 생성하고 다양한 기준을 검증하여 이 여권에 스탬프(stamps)를 추가할 수 있도록 합니다. 검증 과정은 완전히 익명이며, 즉, 스탬프가 검증되면 사용자는 자신의 신원을 드러내지 않고도 지원되는 플랫폼(Discourse 등)에서 해당 스탬프를 사용할 수 있습니다. 예를 들어, 한 사람은 자신이 누구인지 실제로 드러내지 않고도 Github에서 최소 120개의 서로 다른 날에 코드베이스에 기여했음을 증명할 수 있습니다!

현재 사용 가능한 일부 스탬프의 예는 다음과 같습니다.

  1. Twitter 팔로워 1,000명 이상
  2. .eth(ENS) 이름 소유
  3. Discord 계정 소유
  4. Snapshot에서의 DAO 거버넌스 참여
  5. Ethereum 네트워크에서 지출한 특정 금액의 가스비

현재 더 많은 스탬프가 사용 가능하며 Gitcoin Passport에 정기적으로 추가되고 있습니다. Gitcoin Passport 웹사이트에서 이러한 스탬프를 찾고, 여권을 생성하며, 여권에 스탬프를 추가하기 시작할 수 있습니다.

Pasport

요구 사항

  • 플러그인을 추가할 수 있는 호스팅된 Discourse 포럼.
  • Ethereum Discourse 플러그인으로 로그인

플러그인 설치

자체 호스팅(self-hosted)된 Discourse에서 플러그인을 설치하고 활성화하려면 다음 방법을 사용하세요: 컨테이너의 app.yml 파일( /var/discourse/containers/ 에 위치)에 액세스합니다.

cd /var/discourse
nano containers/app.yml
컨테이너의 app.yml 파일에 플러그인의 저장소 URL을 추가합니다:

hooks:
  before_code:                            
    - exec:                                
        cmd:                              
          - gem install rubyzip           
  after_code:
    - exec:
      cd: $home/plugins
      cmd:
        - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git
        - sudo -E -u discourse git clone https://github.com/spruceid/discourse-siwe-auth.git
        - sudo -E -u discourse git clone https://github.com/dappy-studio/gitcoin-passport-discourse-plugin.git   # <-- 추가됨

docker_manager.git 줄의 기존 형식을 따르세요. 만약 sudo -E -u discourse가 포함되지 않으면 - git clone https://github.com/dappy-studio/gitcoin-passport-discourse-plugin.git를 삽입하세요.

컨테이너를 다시 빌드합니다:

cd /var/discourse
./launcher rebuild app

플러그인 활성화

플러그인을 활성화하려면 Discourse 포럼에 관리자 권한이 있어야 합니다. 활성화 단계를 다음과 같습니다.

  1. 관리자 설정 페이지로 이동
  2. 플러그인 탭으로 이동
  3. “discourse-gitcoin-passport” 플러그인에서 “설정” 버튼을 클릭합니다. 참고: 이 플러그인이 보이지 않으면 플러그인 설치가 성공적이지 않은 것입니다. “플러그인 설치” 섹션으로 돌아가세요.
  4. “Gitcoin Passport 활성화?” 확인란을 체크하여 Gitcoin Passport를 활성화합니다

Gitcoin Passport API 키 및 스코어 ID 설정

플러그인을 설정하려면 Discourse 포럼에 관리자 권한이 있어야 합니다. 설정 단계를 다음과 같습니다.

  1. Gitcoin Passport 스코어 앱으로 이동하여 지갑으로 로그인
  2. “API 키” 탭으로 이동 => “+ API 키” 클릭 => 키에 이름 부여 => “생성” 클릭
  3. API 키를 복사하여 Discourse의 “discourse-gitcoin-passport” 플러그인 설정에서 "gitcoin passport api key"라고 표시된 필드에 붙여넣기
  4. Gitcoin Passport 스코어 앱으로 돌아가기.
  5. “Scorer” 탭으로 이동 => “+ Scorer” 클릭 => 사용 사례 선택 => 이름 및 설명 부여 => “계속” 클릭 => 사용하려는 스코어링 메커니즘 선택 => “Scorer 생성” 클릭
  6. 새로운 스코어가 생성되면, Scorer ID를 복사하여 Discourse의 “discourse-gitcoin-passport” 플러그인 설정에서 "gitcoin passport scorer id"라고 표시된 필드에 붙여넣기

Setup

여기까지 따라오셨다면 축하합니다! 이제 기능적인 Gitcoin Passport 플러그인을 위한 기본 요건을 성공적으로 설정한 것입니다. 이제 흥미로운 부분으로 넘어가 보겠습니다!

사용자 지정

Gitcoin Passport Discourse 플러그인은 사용자 정의가 매우 잘 되어 있어 포럼에서 사용자가 수행하는 다양한 작업에 대한 액세스를 제어할 수 있습니다.

customizations

계정 생성을 위한 Gitcoin Passport 포럼 수준 점수

계정 생성을 위한 최소 점수를 설정하여 시빌 공격자를 바로 문 앞에서 차단할 수 있습니다! 이 점수를 설정하면, 사용자는 지갑으로 로그인하고 Gitcoin Passport에서 충분한 스탬프를 수집하여 계정 생성에 필요한 충분한 점수를 확보해야 합니다. 걱정하지 마세요! 우리는 사용자가 새 계정을 생성하는 바로 그 곳에서 현재 자신의 점수, 필요한 점수, 그리고 스탬프를 수집할 수 있는 URL을 정확히 알 수 있도록 하였습니다.

잠깐, 그러면 기존 사용자들이 몇 개의 스탬프를 수집할 때까지 액세스 권한을 잃는다는 뜻인가요???

음, 그것은 당신이 결정할 수 있습니다!

기존 사용자를 위한 지갑 연결 기한 (Gitcoin Passport)

이 설정을 사용하면 기존 사용자가 지갑을 연결하고 필요한 최소 점수를 획득해야 하는 기한을 설정할 수 있습니다. 이 날짜 이후로, 필요한 최소 점수가 없는 사용자(기존 또는 신규)는 게시물을 작성하거나 새 주제를 생성할 권한이 없습니다.

게시(및 Discourse에서 게시를 제어하는 기타 방법)를 위한 Gitcoin Passport 포럼 수준 점수

게시물에 필요한 최소 점수를 설정하면, 포럼의 모든 사람이 모든 주제에 답장(즉, 게시물을 생성)하려면 이 점수를 가져야 합니다. 단, 예외가 있습니다 …

카테고리 수준 또는 사용자 수준에서 더 구체적인 점수로 이 점수를 오버라이드하는 경우입니다. 잠깐, 뭐라고요? 혼란스럽네요.

자, 그러니까 …

Gitcoin Passport 점수를 사용하여 Discourse 주제에 대한 답장 액세스를 제어하려는 경우, 3개 수준에서 이를 수행할 수 있습니다.

  1. 사용자 수준 - 각 사용자는 답장에 필요한 특정 점수를 가질 수 있습니다. 사용자가 이 점수를 충족하지 않으면 어떤 주제에도 답장할 수 없습니다. 이 점수가 설정되면, 해당 특정 사용자의 경우 카테고리 수준 점수나 포럼 수준 점수는 중요하지 않습니다.

user

  1. 카테고리 수준 - 각 카테고리는 해당 카테고리 내의 주제에만 답장하는 데 필요한 특정 점수를 가질 수 있습니다. 사용자가 필요한 점수를 충족하지 못하면, 해당 카테고리에서만 답장할 수 없습니다. 다른 카테고리에서는 여전히 답장할 수 있습니다. 이 점수가 설정되면, 해당 특정 카테고리의 경우 포럼 수준 점수는 중요하지 않습니다.

category

  1. 포럼 수준 - 이는 모든 사용자가 모든 카테고리의 주제에 답장할 때 필요한 최소 점수입니다. 카테고리 또는 사용자 수준에서 점수가 설정되지 않는 한, 이것이 사용될 점수가 됩니다.

새 주제 생성을 위한 Gitcoin Passport 포럼 수준 점수 (및 Discourse에서 게시를 제어하는 기타 방법)

이것은 “게시를 위한 Gitcoin Passport 포럼 수준 점수” 설정과 정확히 동일한 방식으로 작동합니다. 유일한 차이점은 이것이 새 주제 생성에 적용된다는 것입니다.

중요: 이 점수가 게시에 필요한 점수보다 높도록 확인하세요. 만약 낮다면, 점수는 게시에 필요한 점수로 기본값이 설정됩니다(기술적으로 새 주제도 새 게시물이기 때문입니다).

자, 이 플러그인의 가장 중요한 부분을 다루었습니다. 이제 몇 가지 멋진 추가 기능을 살펴볼까요!

플러그인은 누군가가 점수 임계값을 넘을 때 Discourse 배지를 자동으로 배포할 수 있게 합니다. 이는 개인이 더 높은 여권 점수를 얻도록 장려하는 데 사용할 수 있으며, 이를 통해 커뮤니티의 전반적인 "인간성(humanity)"을 높일 수 있습니다.

왜 그러냐고요?

음, 이는 모든 커뮤니티 구성원이 다른 고유한 인간들과 상호작용하고 있다는 것을 더 확신하게 하여, 시간이 지남에 따라 커뮤니티가 더 안전한 피난처가 되도록 합니다.

진행하기 전에 몇 가지 빠르지만 중요한 설정을 하겠습니다.

  1. 관리자 설정의 “배지” 탭으로 이동
  2. 새 배지를 생성합니다. a. “+ 새” 클릭 b. 배지에 이름을 부여하고, 그래픽을 추가하고, 배지 유형을 "브론즈"로 설정하고 설명을 부여합니다. c. 중요 - “배지 그룹화” 아래에서 편집 아이콘을 클릭하고 "Unique Humanity"라는 이름의 새 그룹을 생성합니다. 철자와 입력이 동일(즉, Unique Humanity)하도록 다시 확인하세요. 저장합니다. d. 배지를 저장합니다. e. 상단의 토글을 사용하여 활성화하는 것을 잊지 마세요.
  3. 실버와 골드 배지를 생성하기 위해 2번과 동일한 작업을 수행합니다.

이제, 이러한 배지를 얻기 위해 필요한 점수를 설정할 준비가 되었습니다.

Unique Humanity 브론즈 배지를 얻기 위한 Gitcoin Passport 요구 사항

모든 사람이 Unique Humanity 브론즈 배지를 얻기 위해 필요한 최소 점수

Unique Humanity 실버 배지를 얻기 위한 Gitcoin Passport 요구 사항

모든 사람이 Unique Humanity 실버 배지를 얻기 위해 필요한 최소 점수

Unique Humanity 골드 배지를 얻기 위한 Gitcoin Passport 요구 사항

모든 사람이 Unique Humanity 골드 배지를 얻기 위해 필요한 최소 점수

이러한 배지는 사용자가 지갑을 연결(또는 다시 연결)할 때 포럼에서 자동으로 제공됩니다. 사용자는 “프로필” => "요약"으로 이동하여 "새로고침"을 클릭하여 여권 점수를 업데이트하고 자격이 있는 배지를 자동으로 받을 수도 있습니다.

좋습니다. 이제, 높은 트래픽을 예상하는 사이트에 적용되는 마지막 권장 설정 하나를 살펴보겠습니다.

badge

이더리움 노드 URL

이미 자체 이더리움 노드를 실행 중이거나 호스팅된 노드(Infura 또는 Ankr와 같은 프로바이더를 통해)를 가지고 있다면, 노드 URL을 여기에 복사하여 붙여넣을 수 있습니다. 여기에 설정된 기본 노드는 무료 티어의 공용 노드이므로, 자체 노드를 사용하는 것이 강력히 권장됩니다.

와, 정말 많았네요!

걱정 마세요, (특히 시각적으로 배우는 분이라면) 도움을 주기 위해 유튜브 튜토리얼도 녹화해 두었습니다.

아직 도움이 필요하시다면, 다음 채널 중 어디에서든 지원 요청을 자유롭게 하세요.

  1. 이 저장소에서 이슈를 제기
  2. 현재 가장 빠른 응답을 받을 수 있는 우리의 Discord
  3. support@dappy.lol으로 이메일
7개의 좋아요

이것을 설치하려면 자체 호스팅 포럼이 필요하다는 것이 맞나요?

Discourse의 비즈니스 클래스가 아닌 것인가요?

네, 셀프 호스팅 또는 이 플러그인을 추가해 주는 호스팅 서비스 제공사를 이용해야 합니다.