TrustMesh: 합의 자연스럽게 나타나고, 보안은 행동에 기반함

이 기사는 기계로 번역되었습니다
원문 표시

개요

TrustMesh는 역동적인 상호작용에 기반한 합의 알고리즘입니다. TrustMesh의 목표는 각 라운드 내에서 전체 네트워크가 최종적으로 단일 제안으로 수렴하도록 하는 것입니다. 모든 노드는 제안을 제출할 수 있으며, 로컬 상호작용과 역동적인 수렴 과정을 통해 네트워크는 고유한 제안을 선택합니다. 이 과정에서 어떤 노드도 전체적인 상황을 알 필요가 없으며, 블록들은 서로를 참조하지 않고, 노드들은 오로지 로컬 정보에 기반하여 반응합니다.

현재 개념 증명(PoC)은 무작위로 할당된 평판과 같은 적대적인 조건에서도 시스템이 명확한 어트랙터를 나타내고 안정적으로 수렴함을 보여줍니다. PoC 구현은 TrustMesh 에서 확인할 수 있습니다.

핵심 개념

둥근

라운드 는 TrustMesh에서 완전한 합의 프로세스의 기본 단위입니다. TrustMesh는 의도적으로 라운드 진행 방식을 규정하지 않습니다 . (PoC에서는 관찰 가능성을 위해 고정된 시간 창에 따라 라운드가 진행됩니다.)
높은 일관성이 요구되지 않는 경우, 라운드는 병렬로 실행될 수 있습니다. 각 라운드는 궁극적으로 유효한 기록 (즉, 가지치기되거나 폐기되지 않는 합의 결과)을 생성합니다. 이 의미론적 모델에서는 해결이나 가지치기가 필요한 분기가 없습니다.

평판

평판은 TrustMesh의 핵심 개념이며, 시스템의 보안은 평판에 직접적으로 의존합니다. 평판은 각 노드의 로컬 관찰 평판 테이블(LORT) 에 저장되며, 검증 가능한 신원 (예: 공개 키)과 연결되어야 합니다. "평판"이라는 용어가 사용되지만, 이는 주관적인 명성을 의미하는 것은 아닙니다. 평판이 전역적인 권위로 변질되는 것을 방지하기 위해 TrustMesh는 다음과 같은 설계 제약을 적용합니다.

  1. 지역 개인정보 보호
    노드의 평판 테이블은 외부 당사자와 공유, 방송, 복사 또는 내보내서는 안 됩니다.

  2. 관찰만을 이용한 유도
    모든 평판 값은 제3자 추천이나 외부 평판 피드에서 가져오는 것이 아니라, 노드 자체에서 직접 관찰한 행동만을 기반으로 산출되어야 합니다.

  3. 목적 중심의 규칙 구성
    평판 업데이트 규칙은 네트워크의 구체적인 목적과 서비스 모델에 따라 정의되어야 합니다.

합의 과정

1. 제안서 작성

각 라운드 시작 시, 노드들은 제안서를 작성하여 브로드캐스트합니다. 노드들은 자신의 제안서에 점수를 매기지 않는데, 자체 점수 매기기는 의미 있는 정보를 제공하지 않고 공격 표면을 생성하기 때문입니다. 그러나 시스템에는 초기 교란이 필요합니다. 그렇지 않으면 모든 제안서 점수가 0으로 유지됩니다.

따라서 수신 노드는 구성 가능한 기본 점수를 적용할 수 있으며, 이는 제안자가 자신의 제안에 초기 점수를 할당한다고 가정하는 것과 개념적으로 동일합니다. (개념 증명에서는 제안자가 변경 불가능한 값으로 자체 점수를 매기고 자체 서명할 수 있도록 하여 이를 단순화했습니다. 이는 손실 없이 기본 점수 메커니즘으로 다시 매핑될 수 있습니다.)

모든 노드는 매 라운드마다 유효한 제안을 제출할 수 있습니다. TrustMesh는 리더와 투표자 간의 구분을 완전히 없애고, 모든 노드가 제안할 권리와 제안에 점수를 매길 권리를 모두 갖도록 합니다.

2. 제안서 접수 및 평가

제안서를 접수한 노드는 서명 세트를 검토하고 로컬 평판 테이블을 기반으로 각 점수 서명에 평판 가중치 희석을 적용합니다(알 수 없는 노드는 가중치가 0입니다). 희석된 점수의 합계가 해당 시점에서 해당 제안에 대한 노드의 로컬 점수를 구성합니다.

이 채점 과정은 전적으로 지역 정보에 의존하며 글로벌 관점을 필요로 하지 않습니다.

현재 PoC에서는 선형 가중치가 사용됩니다. 다음 로컬 평판 테이블을 고려해 보세요.

이름 평판 점수
NodeA 2677 500
노드B 7906 1000
노드C 3845 490

종합적인 평판은 다음과 같습니다.

2677 + 7906 + 3845 = 14428

그 결과로 나온 가중치와 가중 기여도는 다음과 같습니다.

이름 무게 가중 점수
NodeA 2677 / 14428 ≈ 0.19 500 × 0.19 = 95
노드B 7906 / 14428 ≈ 0.55 1000 × 0.55 = 550
노드C 3845 / 14428 ≈ 0.27 490 × 0.27 = 132.3

그 결과로 나온 지역 점수는 다음과 같습니다.

95 + 550 + 132.3 = 777.3

그런 다음 해당 노드는 제안에 자체 점수 서명을 추가하고 이를 브로드캐스트합니다. 다른 노드들은 동일한 과정을 독립적으로 반복합니다.

PoC 점수 모델에서 로컬 제안 점수는 이론적으로 단조 증가(non-deciring) 합니다. 서명이 누락된 경우 점수는 0입니다. 점수는 음수가 될 수 없습니다. 동일한 제안에 대해 노드는 이전 점수보다 크거나 같은 점수 업데이트만 수락합니다. 낮은 점수는 오래된 것으로 간주되어 무시됩니다. 이러한 규칙에 따라 서명 집합의 증가 및 업데이트는 로컬 점수를 증가시키거나 유지하는 데에만 사용될 수 있습니다.

3. 최종 동기화 및 종료

네트워크가 고도로 수렴되어 관점의 차이가 미미하게 남게 되면(PoC에서는 고정된 시간 간격으로 결정됨), 로컬 점수가 가장 높은 제안이 승자 로 선택되어 저장됩니다. 이것이 가장 간단한 종료 동작입니다.

일부 노드는 지역적 관점의 차이로 인해 여전히 다른 승자를 선택할 수 있습니다. 최종 동기화 메커니즘을 통해 이러한 잔여 차이를 제거할 수 있습니다. 자연스러운 수렴을 더 잘 관찰하기 위해 이 메커니즘은 PoC에서는 구현되지 않았으며 이론적 참고 자료로만 제공됩니다.

최종 동기화 단계에서 각 노드는 정확히 하나의 로컬 우승자를 발표하고 점수 계산을 중지합니다. 노드들은 다른 노드들로부터 우승자 발표를 수집하고 로컬 가중치를 사용하여 순위를 매깁니다. 이때 이전에 자신이 선택한 우승자는 순위 계산에서 제외됩니다. 최고 순위의 우승자가 변경되면 업데이트된 발표가 방송됩니다. 순위가 안정화되면 최고 순위의 제안이 확정되어 저장됩니다.

실험 결과

다음 그림은 무작위 평판, 30개 노드, 60초 라운드, 평균 8개 이웃 노드 조건에서 31라운드에 걸쳐 얻은 PoC 결과를 보여줍니다. 각 노드는 라운드당 하나의 제안서를 제출하며, 평판은 매 라운드 시작 시 다시 무작위로 재설정됩니다.

성능 그래프

  1. 평균적으로 30개 노드 중 26.61개(88.7%)가 동일한 제안으로 수렴했습니다.
    이는 동기화된 투표나 글로벌 체인 구조 없이 오직 지역 정보만을 사용하여 달성되었습니다.

  2. 모든 라운드에서, 최종 후보를 지지하는 사람들의 수가 다른 모든 제안을 합친 것보다 많았습니다.
    이는 이점의 강력한 증폭과 다수 지배를 나타냅니다.

  3. 여러 제안이 공존하는 상황에서도 최종 승자는 압도적인 우위를 유지했습니다.
    소수 집단은 단지 지역적인 안정 지점을 형성할 뿐이며, 전 지구적 수렴을 방해하지 않습니다.

  4. 21개 노드를 사용한 이전 실험에서는 동일한 매개변수 조건에서 수렴 확률이 더 낮게 나타났습니다.
    이는 TrustMesh가 네트워크 규모가 커짐에 따라 안정성이 점차 향상될 수 있음을 시사합니다.

자주 묻는 질문

Q: TrustMesh는 RAG 방식의 합의 시스템과 유사한가요?

A: 아니요. TrustMesh는 RAG, 아이오타(IOTA) 및 유사 시스템과 근본적으로 다릅니다.
RAG와 대부분의 DAG 기반 시스템은 근사적인 정확성과 확률적 최적성을 목표로 합니다. 이러한 시스템은 많은 병렬 후보 분기를 허용하지만, 궁극적으로 상당 부분을 해결하고 폐기해야 하므로 실제 네트워크 비용이 발생합니다.

TrustMesh에서 각 라운드는 완전하고 독립적으로 유효한 합의 프로세스입니다 . 병렬 실행으로 인해 분기가 발생하지 않으며, 모든 라운드에서 사용 가능한 합의 결과가 생성됩니다.

질문: 공격자가 시빌 아이덴티티를 통해 평판을 쌓은 후 나중에 이를 '소멸'시켜 공격을 감행할 수 있습니까?

A: TrustMesh는 이러한 문제를 두 가지 방향에서 완화합니다.

첫째, 평판 향상은 실질적인 노력과 밀접하게 관련되어 있습니다.
평판은 전적으로 지역적인 것이며, 노드는 전역적인 평판 값을 관찰하거나 제어할 수 없습니다. 여러 노드에서 높은 평판을 얻으려면 행위자는 많은 독립적인 피어와 장기적이고 지속적이며 진정성 있는 상호 작용을 해야 합니다. 시빌 신원은 자기주장이나 내부 루프를 통해 평판을 빠르게 부풀릴 수 없습니다. 평판 감소 메커니즘(예: 비활동에 따른 시간 기반 감소)은 장기적인 시빌 농사 더욱 제한할 수 있습니다.

둘째, 평판의 영향력은 증폭시키기보다는 의도적으로 약화시킨다.
평판은 정규화된 가중치로만 작용합니다. 노드의 로컬 평판 테이블이 커질수록 평판이 높은 단일 노드의 영향력은 점차 희석됩니다. 예치(stake) 과 달리 평판은 직접적인 리더십이나 의사 결정 권한을 부여하지 않으며, 단지 수렴 속도를 높이고 시빌 노이즈를 억제하는 역할을 합니다.

따라서 트러스트메쉬에서 평판을 쌓는 것은 어렵고, 이를 일회성 공격력으로 전환하는 것은 불가능합니다.

Q: TrustMesh는 이중 지출을 어떻게 처리하나요?

A: 본 연구는 화폐 원장보다는 일관성이 없는 합의 시스템에 초점을 맞추고 있습니다.
공증, 실행 결과 선택 또는 매개변수 합의와 같은 시나리오에서는 라운드 간 중복 포함은 무해하며 중복 제거가 가능하므로 이중 지출이 발생하지 않습니다.

원칙적으로 TrustMesh는 추가적인 유효성 검사를 통해 강력한 일관성을 강제할 수 있지만, 이는 전역 순서 지정 또는 중재를 필요로 하여 병렬 처리를 저해하므로 본 연구의 범위에서 벗어납니다.

화폐 시스템의 경우, 단일 선형 기록 방식은 여전히 ​​효율적이고 합리적인 설계입니다. 거래 상태를 병렬화하려는 모든 시도는 결국 중재 또는 신뢰할 수 있는 타임스탬프를 통한 비용이 많이 드는 전역 합의 다시 도입하게 됩니다. 강력한 일관성은 희소하고 비용이 많이 드는 자원이므로 최소화하고 일관성이 없는 실행 계층과 분리해야 합니다.

Q: TrustMesh는 악의적인 행위를 신속하게 처벌할 수 있습니까?

A: 네, 지분 기반 시스템보다 훨씬 유연합니다.
평판은 돈과 연관되지 않기 때문에 평판을 줄이는 규칙은 훨씬 더 민감하게 적용될 수 있습니다.

암호학적으로 증명 가능한 부정행위(예: 동일 라운드 내 중복 제안)의 경우, 노드는 증거를 브로드캐스트할 수 있습니다. 피어들은 독립적으로 증거를 검증하고 해당 노드의 평판을 로컬에서 낮춥니다. 전역적인 슬래싱, 동기화된 처벌 또는 시스템 롤백이 필요하지 않으므로 병렬 처리와 진행이 유지됩니다.

참가 신청 안내

TrustMesh에 대해 더 자세히 알아볼 가치가 있다고 생각하신다면, 개선에 도움을 주시기 바랍니다.
여기에는 비판적 피드백, 이론적 문제 제기, 실험적 재현, 코드 기여 또는 단순히 다른 사람들과 아이디어를 공유하는 것 등이 포함됩니다.
TrustMesh는 아직 탐색 단계에 있으며, 그 개발은 심도 있는 논의와 공동의 노력에 달려 있습니다.

이메일: yangzhixun-@outlook.com
GitHub 저장소: GitHub - BinGo-Lab-Team/TrustMesh: TrustMesh: 합의 자연스럽게 나타나고, 보안은 행동 기반으로 구축됩니다.


출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
76
즐겨찾기에 추가
16
코멘트