원본 텍스트:Twitter,작가@AurtrianAjian BTCStudy에서, 승인을 받아 복제되었으며 Odaily의 견해를 대변하지 않습니다.
터무니없는 얘기는 들었지만, 너희들이 여기까지 갈 수 있을 줄은 몰랐다. 'BRC 20' 캠페인 참여를 중단하고 보이콧해 주시기 바랍니다.
기술적으로 그러한 낙후된 것들은 반드시 제거될 것이기 때문에 더 이상 참여해서는 안 됩니다. UTXO 세트의 확장을 유발하고 적용의 실제 결과는 먼지 공격에 가깝기 때문에 이에 저항해야 합니다.
이전에 BRC 20과 같은 것은 단순히 이를 사용하는 사용자를 보호하지 않기 때문에 프로토콜이라고 부를 수 없다고 쓴 적이 있습니다. 하지만 당시에는 진상을 파악하지 못했고, 생각보다 더 터무니없는 일인지도 몰랐습니다. 표면적으로 BRC 20은 대체 가능한 토큰에 대해 민트와 전송이라는 두 가지 작업을 정의합니다.
각 작업의 각 단계에서는 비트코인 트랜잭션을 시작하고 트랜잭션 입력에 비문(Inscription, 입력 증인 스크립트를 통해 블록에 데이터 쓰기)을 작성해야 합니다. 그러나 BRC 20에서는 이러한 내재된 거래가 거의 의미가 없는 거래 출력을 형성합니다. 여기에 문제가 있습니다. 위의 문서를 주의 깊게 살펴보면 다음과 같은 내용이 있음을 알 수 있습니다.
BRC 20의 균형 상태는 이러한 모든 기능의 활동을 집계하여 파생될 수 있습니다. 그러나 이러한 모든 기능의 활동은 비문을 통해 나타나며 어떤 기능도 특정 UTXO(또는 특정 Satoshi)를 지출할 필요가 없습니다. 유효합니다. ). 발행을 통해 토큰을 얻든 전송을 통해 토큰을 얻든, 나중에 이러한 토큰을 전송해야 할 때 이러한 토큰을 얻을 수 있는 트랜잭션을 소비할 필요가 없습니다.
즉, 이러한 토큰은 실제로 비트코인 UTXO에 첨부되지 않으며 해당 상태는 블록에 기록된 비문(및 이러한 비문의 순서)에 의해 완전히 결정됩니다. 특정 UTXO 기능을 잠금 해제할 수 있는 능력이 있습니다. (UTXO 연관이 필요한 유일한 것은 전송 작업의 두 단계입니다. 자세한 내용은 아래를 참조하십시오)
이 설계는 프로토콜의 보안, 경제성(확장성) 및 분산화에 중요한 영향을 미칩니다. 우선, UTXO에 부착되어 있지 않기 때문에 당연히 UTXO 자체의 반복 지출 방지 메커니즘에 의존할 수 없습니다. BRC 20은 전적으로 블록 거래 주문을 기반으로 한 선착순 원칙을 기반으로 하며, 이러한 선착순을 최종 뒷받침하지 않으면 마이너스 잔액의 이중 지출 형태를 방지할 수 없습니다. 모두.
그러나 UTXO가 아닌 블록 기반 검증 메커니즘을 사용하면 경량 검증 메커니즘을 만드는 것도 불가능합니다. 어쨌든 계정 상태를 확인하려면 전체 블록 데이터가 필요합니다. (단, RGB, Taro 등 UTXO 기반 프로토콜은 필요하지 않습니다. 블록 헤더만 있으면 됩니다.) 이로 인해 잔액 계산 및 인덱싱을 감당할 수 있는 노드 수가 상대적으로 적어집니다. 즉, 탈중앙화의 특성이 나빠집니다. .
아마도 최신 상태(위조 통화 식별)를 계산하는 부담을 줄이기 위해 BRC 20은 이상한 전송 메커니즘을 정의합니다. 토큰을 어떻게 얻든 전송은 두 단계로 나누어야 합니다. 첫 번째 단계는 일부 토큰을 변환하는 것입니다. 토큰 전송 가능 상태에 있으며(수취인 지정) 두 번째 단계는 실제로 이러한 토큰을 외부로 전송하여 첫 번째 단계의 전송 비문을 무효화하는 것입니다. 다음 집에서도 마찬가지다.
물론 이러한 메커니즘은 사용자 경험과 경제성에도 영향을 미칩니다. 인스크립션 메커니즘을 통해 아무리 많은 할인을 받을 수 있더라도 거래를 한 번 더 보내는 것만으로도 얻을 수 있는 혜택을 되돌려 받을 수 있습니다. 게다가, UTXO를 활용하지 않는 이 이상한 메커니즘은 이러한 토큰이 비트코인 UTXO 기반 스마트 계약(라이트닝 채널, DLC 등)을 사용할 때 본질적으로 장애물을 증가시키고 최신 세대의 프로토콜보다 뒤떨어지게 만듭니다.
그래서 BRC 20은 낙후된 기술이라고 말씀드리고 싶습니다. 차세대 토큰 발행 프로토콜이 경량 클라이언트를 달성하고 경제적 비용을 낮추며 기존 비트코인 생태계에 더 쉽게 접근할 수 있더라도 BRC 20은 여전히 블록 공간을 소비하여 프로그래밍 가능성을 확보하는 과정에 갇혀 있습니다. RGB, Taro 등 프로토콜의 생태가 등장하면 BRC 20을 기다리는 끝은 어떻게 될지 상상할 수 있습니다!
역설적이게도 BRC 20의 발행 및 전송에는 분명히 UTXO에 대한 연결이 필요하지 않지만 발행을 위한 제한 메커니즘을 설계했습니다. 즉, 토큰을 발행할 때 단일 UTXO로 발행할 수 있는 토큰의 수는 가능합니다. 상한을 지정합니다. 이것이 무엇을 위한 것인지 추측할 수 있어야 합니다. 그렇습니다. 이는 새로운 플레이 시나리오의 공정성 요구 사항에 적응하기 위한 것입니다.
한 사람이 하나의 출력으로 모든 토큰을 발행하는 것을 허용할 수 없으므로 이러한 제한이 설계되었습니다. 하지만 공간을 점유하기 위해 UTXO를 사용해야 할 때 이러한 UTXO는 작은 UTXO여야 합니다. 자금을 더 많이 삭감할수록 더 많은 새로운 토큰을 얻을 수 있습니다. 결과는 UTXO 세트의 인플레이션입니다.
이는 546 Satoshi(P2P KH 출력)/330 Satoshi(P 2 TR 출력)로 명확하게 계획된 새로운 UTXO를 생성하는 데 사용되며 이는 비트코인 코어의 더스트 출력 제한과 동일합니다. 이를 소비하는 것은 경제적이지 않으며 후속 전송 작업에서는 이를 소비할 필요가 없으므로 UTXO 세트에 영원히 머물 가능성이 높으며 이로 인해 UTXO 세트가 되돌릴 수 없게 확장됩니다.
전송 작업에서도 UTXO가 남습니다. 이러한 UTXO는 이론적으로 작을 필요는 없지만 현재 엔지니어링 구현에서는 여전히 작은 UTXO가 사용됩니다. 그리고 BRC 20은 UTXO를 지속적으로 지출할 것을 요구하지 않기 때문에 영원히 UTXO 세트에 남아 있습니다.
차트는 2023년 4월 23일(BRC 20이 거래를 개시한 시점) 이후 비트코인의 UTXO 세트가 5GB에서 6.8GB로 급증했음을 보여줍니다. 모든 인플레이션이 BRC 20과 관련이 있다는 것을 증명할 수는 없지만, 이 기간 동안의 성장 곡선은 원래의 성장 곡선보다 훨씬 가파른 모습을 보였습니다. 주의가 필요합니다.
그것에 저항하십시오. 노드인 경우 노드 구성 파일에 Dustrelayfee= 0.00005 줄을 추가할 수 있습니다. 이렇게 하면 먼지 출력 임계값이 5배 증가합니다(이 값의 기본값은 0.00001이며 적절하게 추가하거나 뺄 수 있습니다). 과거에 노드가 더스트 출력으로 BRC 20 트랜잭션을 전달했다면 이제 노드는 더 이상 2730 Satoshi/1650 Satoshi보다 낮은 출력의 트랜잭션을 전달하지 않습니다.
그러나 해당 트랜잭션이 블록으로 만들어지면 노드는 해당 트랜잭션과 해당 출력을 계속 저장합니다. 개발자라면 BRC 20 거래 출력을 인식하는 필터를 개발하여 UTXO 세트에서 새로운 출력과 전송 출력을 제거하는 데 도움을 주세요. 개인적으로 나는 그러한 필터를 실행하기로 선택했습니다. 비트코인 네트워크를 보호하기 위한 조치를 취하세요.


