Decodificando o Mito do Gatekeeper: Desenvolvedores e o “Ecossistema” Bitcoin (Parte 1)

ForesightNews

Podcast HashKey Capital Hash Out 42 explora o lado escuro da lua onde o ecossistema Bitcoin está explodindo.

Convidado: Jeffrey Hu, Diretor Técnico da HashKey Capital;

Ajian, pesquisador sênior de Bitcoin e colaborador do estudo BTC

Organização: HashKey Capital



*Explore o lado negro da lua onde o ecossistema Bitcoin está explodindo e seja bem-vindo ao terceiro episódio do Hash Out 42 da HashKey Capital! *

*Neste episódio, o Diretor Técnico da HashKey Capital, Jeffrey Hu, trabalhará com o Sr. A Jian, um pesquisador sênior de Bitcoin e colaborador do estudo BTC, para descobrir a verdade sobre os mitos comuns sobre o Bitcoin. Eles destacarão alguns dos maiores equívocos sobre os desenvolvedores do Bitcoin, explorarão as controvérsias mais atuais do momento e lançarão luz sobre a natureza descentralizada da rede Bitcoin. Junte-se a nós através da perspectiva exclusiva do Hash Out 42 para restaurar as histórias não contadas do ecossistema Bitcoin e imaginar o enorme espaço para a governança ecológica do Bitcoin e o desenvolvimento futuro. *

Você está ouvindo Hash Out 42, um podcast produzido pela HashKey Capital. Em “O Guia do Mochileiro das Galáxias”, após 7,5 milhões de anos de cálculos e verificação pelo supercomputador “Pensamento Profundo”, a resposta final para a vida, o universo e tudo mais é 42. Neste programa, esperamos compartilhar as suposições finais sobre a indústria de criptografia e blockchain com empreendedores, investidores, desenvolvedores, participantes da comunidade e agências reguladoras do universo Web3.

Ajian: “Esses desenvolvedores, na verdade, não têm um poder tão grande para afetar o que você pode ou não fazer na blockchain do Bitcoin.”

Jeffrey Hu: “Luke, o que ele quer fazer pode não ser fazer algumas modificações no nível das regras de consenso, mas mais no nível dos clientes locais ou nós completos.”

Ajian: “O significado desse conservadorismo é que ele sempre coloca a segurança no nível mais importante, por isso não tentará nada casualmente. Mas você pode pensar que não é conservador, porque descobriu Se existe um bom solução, todos irão realmente adotá-la ativamente.”

Jeffrey Hu: Olá a todos e bem-vindos ao terceiro episódio de Hash out 42, um podcast produzido pela HashKey Capital. Sou Hu Zhiwei, diretor técnico da HashKey Capital. Hoje estou muito honrado em convidar o pesquisador Bitcoin e colaborador do BTC Study, Sr. Ajian, para discutir conosco alguns mitos sobre o ecossistema Bitcoin. Então professor Ajian, por que não cumprimenta nossos amigos do público?

A Jian: Olá, ouvintes, meu nome é A Jian e sou um pesquisador de Bitcoin. Estou muito honrado em receber o convite do Hash out 42 para gravar este podcast com Jeffrey.

Jeffrey Hu: OK, ok, o nome do nosso podcast é na verdade chamado Decoding the Gatekeeper Myth. Queremos discutir o Bitcoin, incluindo alguns mal-entendidos comuns sobre a ecologia do Bitcoin. Sim, por isso gostaria de convidar o Professor A Jian para falar sobre alguns mitos recentes, porque tal como o título, acho que pode haver um mal-entendido que temos observado recentemente, e é também o que estamos a fazer. discutido antes neste episódio de podcast. Ou seja, certos desenvolvedores são guardiões e basicamente têm a palavra final sobre o que pode ou não ser feito. Neste ponto, este é o primeiro mito com o qual todos podem estar mais preocupados.Há algo que o professor A Jian queira comentar?

Ajian: Este é um mito, ou uma imaginação, que existe há muito tempo no mundo chinês. Bem, pode-se dizer que é profundamente enraizado, ou mesmo o mais fundamental. Parece aos desenvolvedores de Bitcoin, especialmente aos chamados desenvolvedores de clientes Bitcoin Core, que eles são os guardiões e têm a palavra final sobre o que podem ou não fazer. Na verdade, essa ideia quase não tem nenhuma verdade, porque muitas coisas são, seja por um ou alguns, ou por muitos desenvolvedores do Bitcoin Core, ou outros clientes. na blockchain do Bitcoin até hoje, e até hoje quando gravamos o podcast. Por exemplo, você pode ter ouvido falar recentemente de um desenvolvedor chamado Luke, que tem uma posição particularmente clara, ou seja, ele se opõe ao preenchimento aleatório de dados no blockchain do Bitcoin. É claro que ele mesmo não expressou claramente como definir isso especificamente, o que são dados relacionados ao Bitcoin, o que são dados não relacionados ao Bitcoin e quais dados não devem ser gravados. Mas então pensei sobre isso com cuidado, na verdade, seu significado central, meu próprio resumo, não, não posso representá-lo, mas meu próprio resumo, acho que é uma crença aceitável, o blockchain do Bitcoin Somente dados relacionados à segurança criptográfica do Bitcoin devem ser escrito.

Ajian: Quais são os dados relacionados à segurança criptográfica do Bitcoin? Por exemplo, cada um dos nossos Bitcoins é uma saída. Em seu script, a chave pública precisará ser especificada para confirmar que o dinheiro só pode ser gasto pelo dono da chave pública (qual chave privada). é realmente gasto, uma assinatura calculada pela chave privada por trás da chave pública precisará ser registrada na cadeia, e essa assinatura provará que o gasto é válido.

Essas coisas podem ser resumidas como dados relacionados à segurança criptográfica do Bitcoin, mas existem outros dados correspondentes, como qualquer um desses dados, que são semelhantes a informações adicionais, ou o que aconteceu hoje. Algumas pessoas Se você quiser escrever um aniversário saudação ou algo parecido, são informações que não têm nada a ver com a segurança criptográfica do Bitcoin, então não devem ser escritas nele. Este é meu resumo pessoal, mas a ideia de Luke pode ser É melhor estar mais perto a essa ideia, ou um pouco mais severa. O fato que quero ressaltar é que talvez Luke não goste disso, e ele pode não ser o único que não gosta disso, mas muitas pessoas descobrirão que essas coisas ainda existem hoje, e o que você faz é dizer que esses blocos que registram essas informações adicionais, que nada têm a ver com a segurança criptográfica do Bitcoin, ainda são blocos válidos. Incluindo muitos desenvolvedores que acreditam que não há realmente nenhuma maneira de evitar essas coisas, ou seja, você é realmente uma tecnologia, e não há meios técnicos eficazes que possam separar com sucesso o que é significativo e significativo para a segurança do Bitcoin. Esses dados não tem sentido. Portanto, está fundamentalmente fadado a essas coisas. Ou seja, no máximo você só pode jogar um jogo de bater uma toupeira, ou um jogo de gato e rato, e um rato aparece. , você pega um mouse, mas não existe uma solução única.

Em suma, o que quero expressar é que, em primeiro lugar, não importa como você entenda, existem algumas posições pessoais claramente expressas de alguns desenvolvedores de Bitcoin.Esses desenvolvedores, na verdade, não têm um poder tão grande para influenciar o que você pode ou não fazer no blockchain Bitcoin. Em particular, há uma coisa muito importante, ou seja, se todos puderem compreender este assunto, deverão ser capazes de compreender que, de facto, sejam eles promotores ou mineiros, os seus direitos estão na verdade dentro de uma certa estrutura de controlo e equilíbrio, que é Que tipo de regras de consenso são escolhidas na rede Bitcoin, ou seja, que tipo de regras de consenso podem se tornar um bloco válido, são escolhidas por cada nó. Como nó, você pode escolher o seu próprio. Esta regra de consenso que você acho que é válido. Claro, você não pode escolher uma regra de consenso que seja incompatível com outras, mas desde que seja compatível com esta regra, você mesmo pode escolher um conjunto.

Por exemplo, agora todo mundo está ouvindo sobre a atualização Taproot implementada em 2021, mas na verdade, se você executar uma atualização Taproot para esta versão do Bitcoin Core ou outros clientes, seu nó não sairá da rede, seu nó ainda continuará a realizar sua verificação funciona como um nó completo na rede, mas não consegue verificar a transação relacionada à chamada saída Taproot. Avançando um pouco mais, em 2017, a rede Bitcoin foi ativada Após o fork Segregated Witness, se você estiver usando esta versão do Bitcoin Core ou de outros clientes Bitcoin lançados antes do Segregated Witness, você ainda pode executar na rede Bitcoin hoje, o que significa que, desde que não execute as transações relacionadas às novas regras de consenso do Bitcoin após 2017, você ainda poderá verificar o transações usando as regras de consenso antes de 2017.

O que isto significa? Explica quais regras são usadas na chamada rede Bitcoin para limitar o que podemos fazer na blockchain Bitcoin? Na verdade, essas coisas são decididas por uma rede Bitcoin full-node de maneira descentralizada, não por uma determinada pessoa ou por um determinado grupo de pessoas. Independentemente de esse grupo de pessoas ser, por exemplo, um determinado grupo de mineradores ou um determinado grupo de pessoas. Desenvolvedores, esse tipo de pensamento está realmente longe da verdade. Qual é a verdade que está mais próxima da verdade? Essa coisa é a rede Bitcoin, uma rede composta por todos os nós. Agora toda a rede é pública, com 15.000 nós, 16.000 e ainda mais nós que não são públicos e são operados por esses nós. O autor usa uma maneira completamente igual para decidir qual parte de um bloco ele irá verificar e quais blocos ele considera aceitáveis. Este é basicamente um processo como este.

Portanto, não existe tal função que uma determinada pessoa, um determinado desenvolvedor ou um determinado grupo de desenvolvedores possa se tornar o guardião de toda a rede.Se tal função existisse, o Bitcoin teria falhado, porque o Bitcoin queria O que quer fazer é uma moeda resistente à censura, ou o que se quer é um sistema sem um único ponto de falha. Se existe tal pessoa e ela tem um poder tão grande, ela se tornará um único ponto de falha.

Jeffrey Hu: Continuando o assunto, na verdade, muitas vezes pode haver um mal-entendido, ou seja, em uma determinada rede, é decidido por um determinado grupo de pessoas, então pode ser que o desenvolvimento tenha sido mencionado apenas agora eles também podem ser alguns mineradores, etc. Eles podem decidir a direção ou o destino de toda a rede. Então, na verdade, este é um mal-entendido comum que acho que todos podem ter. Na verdade, talvez o Bitcoin seja mais parecido com o que o professor Ajian acabou de dizer, é uma rede relativamente descentralizada, uma rede relativamente descentralizada, então a operação de todos O nó completo ainda tem algum significado própria nesta área. Além disso, tenho visto algumas notícias recentemente. Apenas seguindo o tópico dos desenvolvedores que acabamos de mencionar, muitas vezes há notícias que mencionam uma palavra chamada desenvolvedores principais. Deixe-me falar primeiro sobre meus próprios sentimentos. Sempre que vejo essas palavras, minha pressão arterial sobe um pouco, porque sinto que todos podem não entender algumas das coisas por trás desse desenvolvedor que o Sr. Ajian acabou de dizer. Conceito, porque pode ser um erro de tradução, ou seja, as pessoas podem não prestar atenção na capitalização, e podem interpretar Bitcoin Core Dev, que é Core Dev com C maiúsculo, como core Dev com letra minúscula, que é Bitcoin. Core development, mas em na verdade, se quisermos fazer uma segmentação de palavras, devemos realmente dividir as duas primeiras palavras Bitcoin Core em uma palavra. Como um do Bitcoin, o desenvolvimento de uma implementação do nó completo que acabamos de mencionar Desenvolvedores, não os principais desenvolvedores do Bitcoin, não são os principais desenvolvedores do Bitcoin. Isso não significa que toda a rede Bitcoin seja decidida por esses desenvolvedores principais. Então você pode ver algumas outras redes, como Por exemplo, os principais desenvolvedores do Ethereum podem frequentemente ter algumas reuniões, como Chamadas ou reuniões do ACD, e eles decidirão, por exemplo, que pode haver algumas atualizações de hard fork ou algo assim em janeiro do próximo ano. No entanto, o Bitcoin não parece ter um grupo central de desenvolvedores tão centralizado para discutir a atualização dos hard forks da rede.

Claro, na verdade, por exemplo, Bitcoin Core pode ter alguns próprios.Por exemplo, se um PR (Pull Request) for levantado, pode haver algumas reuniões do PR Review Club para discutir algumas dessas atualizações, ou algumas são as proposta puxada pelo PR é razoável ou tem outros impactos? No entanto, nenhum desenvolvedor principal decidirá a direção de toda a rede. Isso pode ser um problema comum entre todos e também pode acontecer com frequência. Acho que é um mal-entendido que você encontrará. Claro, eu gostaria de mencionar mais uma coisa sobre isso, que é mostrar que a capitalização também é muito importante. Como uma pessoa com um pouco de transtorno obsessivo-compulsivo, verei esse tipo de c do Core. Se for maiúsculo é considerado em minúsculas. Haverá problemas. O mesmo se aplica ao HashKey. O k em nosso HashKey geralmente está em letras minúsculas. Na verdade, h e k estão em letras maiúsculas. Não sei se o professor Ajian não tem nada a acrescentar a esse aspecto central do desenvolvedor.

Ajian: Sim, na verdade minha reação é um pouco parecida com a de Jeffrey, ou seja, a pressão arterial vai subir um pouco. Quero até fazer uma sugestão mais emocionante, ou seja, se nossos amigos do público ouvirem, então se Se alguém lhe disser que os principais desenvolvedores do Bitcoin escreveram isso em caracteres chineses, você deveria razoavelmente duvidar da compreensão do mundo Bitcoin da pessoa com quem está se comunicando. Digo isso de maneira muito rude, porque na verdade há duas razões para isso. Por um lado, é um mal-entendido de longa data. Minha suspeita pessoal é que esse mal-entendido deve ter se formado antes de 2017. Ou seja, o Bitcoin de capital é um Bitcoin Core começando com B maiúsculo e C maiúsculo. Ele mesmo, esse Bitcoin Core, deixe-me primeiro falar sobre a origem do Bitcoin Core? Sim, é o conhecido software Bitcoin escrito pelo próprio Satoshi Nakamoto, o sucessor deste software. Ou seja, após a saída de Satoshi Nakamoto, quando alguns desenvolvedores estavam se preparando para migrar toda a base de código para o nosso atual site GitHub, eles decidiram usar um novo nome, ou seja, Bitcoin Core, que também é B. Está maiúsculo. C também está maiúsculo, você acha que esse Core deve ter um grande significado? Na verdade não, eu também não sinto isso.

A propósito, as pessoas podem pensar que o Bitcoin Core só tem um tipo de cliente no mundo Bitcoin, mas não é o caso. Como o minério Bitcoin C ocupa a maior quantidade de uso, ele é o cliente do Bitcoin Core, mas na verdade existem clientes desenvolvidos em outras linguagens. Por exemplo, existe um cliente chamado btcd, que é uma implementação da Lightning Network. Esta equipe, LND, é um cliente Bitcoin desenvolvido pela Lightning Labs. Ele é escrito na linguagem Go e algumas pessoas usam a linguagem Java. Depois de escrever este cliente Bitcoin , acho que alguém tentará usar Python ou linguagem Rust para escrever este cliente Bitcoin. Sim, são coisas muito comuns, e todos deveriam considerar também outro ponto, que é o quê? Já disse antes que na rede Bitcoin nem todos precisam usar a mesma versão de software, nem precisam usar o mesmo conjunto de regras de consenso. Isso significa que se você estiver na rede Bitcoin, poderá ver que, embora todos estejam usando o cliente Bitcoin Core, algumas pessoas estão usando a versão 22.0, algumas pessoas estão usando a versão 0.21 e algumas pessoas estão usando a versão 22.0. É a versão 0.17. . Em essência, embora todos usem o cliente Call, seu software é até certo ponto diferente. Estritamente falando, você não deve tratá-lo exatamente como o mesmo software.

Deixando isso de lado, vamos voltar. Quanto ao nome Bitcoin Core, talvez quando as pessoas no mundo chinês entenderam o Bitcoin pela primeira vez, elas o traduziram diretamente para Bitcoin Core e, em seguida, para os desenvolvedores do Bitcoin Core, você pode pensar nisso como uma espécie de É um mal-entendido na tradução, mas o que eu O que quero dizer é que também pode ser afectado pelo segundo factor, que é o facto de se tratar de um mal-entendido cultural. O que é esse mal-entendido cultural? Porque não tenho certeza se isso foi afetado por alguns projetos posteriores de criptomoeda, como o Ethereum, porque o Ethereum, embora tenha alguns desenvolvedores ou apoiadores do Ethereum, pensa que eles usam a mesma tecnologia do Bitcoin. A mesma estrutura de governança, ou sobre como toda a rede deve ser atualizada, como essa atualização deve ser coordenada e como determinar o conteúdo da atualização, eles acham que usam estrutura semelhante ou até a mesma, mas quero dizer que isso não é verdade.

O desenvolvimento do Ethereum é na verdade mais centralizado do que o desenvolvimento do software Bitcoin. O ponto principal é que, como disse Jeffrey, não existe nenhum cliente no mundo Ethereum chamado Ethereum Core. Não existe nenhum cliente chamado Ethereum Core no mundo Ethereum, certo? Na verdade, o que você pode encontrar agora é o cliente Geth. Costumava haver o cliente Parity. Agora não tenho certeza se o cliente Parity ainda é mantido. Pode haver alguns outros clientes agora, e no mundo Ethereum, por exemplo Haverá uma chamada reunião de todos os principais desenvolvedores, que acontece provavelmente a cada duas semanas na sexta-feira à noite. Em seguida, dirá que quando certos assuntos precisarem ser discutidos, você convidará algumas pessoas para participar desta reunião. É claro que outros podem observe, mas os outros podem não conseguir expressar suas opiniões, ou se eles podem expressar suas opiniões não depende de você, certo? Em vez disso, a própria reunião tem um organizador, que pode definir a agenda.

Então outro ponto muito importante é que o Ethereum usa o chamado modelo de atualização hard fork. O que significa uma bifurcação rígida? Um hard fork significa que se o seu nó não for atualizado e a maioria das pessoas atualizar, você não poderá mais ingressar na rede. Você será expulso da rede diretamente por motivos técnicos, ou seja, se não concordar com a atualização., ou se você não quiser atualizar seu próprio software, seu nó não poderá continuar a existir na rede Ethereum. Esta é uma diferença fundamental, o que significa quem domina esta definição do que queremos atualização. Se quisermos atualizar as chamadas regras de consenso do protocolo Ethereum, ele na verdade tem um poder muito grande que pode fazer com que algumas pessoas sejam expulsas da rede por um motivo que não desejam. Na verdade, esse direito constitui a fonte daquilo que muitas pessoas entendem como o chamado poder do desenvolvedor central.

E essa imaginação é verdadeira até certo ponto no Ethereum, mas não é verdade no Bitcoin. Como o Bitcoin escolheu um método de desenvolvimento completamente diferente e toda a cultura da comunidade é completamente diferente daquela do Ethereum, estou pensando que, por um lado, este é um mal-entendido de longa data na tradução e, por outro lado, é um imaginação cultural. Essa imaginação cultural pode estar relacionada à sua própria experiência de vida real ou aos métodos de desenvolvimento de alguns outros projetos de criptomoeda.

No entanto, essa imaginação cultural sobre o Bitcoin é em grande parte equivocada, porque não existe tal mecanismo no Bitcoin que possa controlar um poder tão grande e, na verdade, não existe tal coisa. É como sua própria experiência pessoal que alguém possa ter um poder tão grande. Em vez disso, recomendo que você mesmo tente executar o Bitcoin Core ou qualquer outro cliente Bitcoin.

Eu sei que sim. Tenho alguns amigos que optam por não rodar Bitcoin Core. Ele deixou claro que não roda Bitcoin Core. Ele gosta de rodar BTCD, certo? Isso está totalmente bem. Contanto que você mesmo execute esses clientes, você pode, ou até mesmo, escolher algumas versões muito antigas do Bitcoin Core, ou outros clientes deste software Bitcoin e tentar executá-los, e então você saberá como isso funciona.

Jeffrey Hu: Na verdade, acho que a resposta do professor Ajian agora pode realmente responder a outro mal-entendido comum que todos tiveram recentemente, ou seja, Luke pode precisar mudar um novo cliente, então será diferente de muitos dos atuais A implementação do Bitcoin Core é diferente, então ele pode querer fazer um fork, ou Luke, então ele sugeriu que o Bitcoin Core adicionasse algumas funções à nova versão, o que pode levar ao fork de toda a rede. Na verdade, isso também é uma comparação Um mal-entendido comum é que, a partir da informação pública que vimos, o que Lucas quer fazer pode não ser fazer algumas modificações ao nível das regras de consenso que mencionamos, mas mais. Certas modificações ou filtros foram feitos no nível local. o chamado nível de cliente ou nó completo, ou algumas modificações foram feitas em uma estratégia de encaminhamento, portanto, a partir de agora, não tem nada a ver com a bifurcação. E na verdade eu falei sobre forks agora há pouco, mas há outro mal-entendido que todo mundo menciona com frequência, ou seja, a cultura de desenvolvimento do Bitcoin pode na verdade ser relativamente conservadora, porque toda vez que é um soft fork, Sr. ?

Ajian: Deixe-me fornecer alguns números que podem ajudá-lo a entender isso mais especificamente. Ou deixe-me fazer uma pergunta a Jeffrey. A primeira pergunta é: você acha que a rede Bitcoin já passou por um hard fork? A segunda pergunta é: se sim, quantas vezes você acha que foi?

Agora é claramente reconhecido por todos que o número de alterações nas regras de consenso da rede Bitcoin é 21 vezes no total, incluindo atualizações Taproot. No entanto, existem algumas diferenças na forma de contá-lo ou defini-lo. Por exemplo, um dos meus trabalhadores favoritos do Bitcoin deveria ser chamado de trabalhador porque não é um desenvolvedor. Ele é Jameson Lopp. Ele próprio acredita que o blockchain do Bitcoin foi formado por alguns motivos inesperados. Em sua opinião, essa divisão não é necessariamente considerada um hard fork. Na opinião dele, houve apenas um hard fork na rede Bitcoin. Se bem me lembro, deveria ser 2013.

Para qual propósito? Para adicionar um opcode especial ao script Bitcoin, que é NOP, ao encontrar esse opcode, seu script não deve fazer nada. Ao encontrar esse opcode, você pode pensar nele apenas como um espaço reservado, sim. Se não o fizer faça qualquer coisa ao encontrar esta operação, então esta operação que não faz nada é completamente redundante. Então para que serve? É para ajudar em futuras atualizações do soft fork.

Ou seja, o nó antigo, uma vez atualizado desta vez, é um nó que pode entender a sintaxe do opcode NOP, portanto, quando você encontrar esse nó, não fará nada. Mas aqueles nós que usam as novas regras de consenso, ao encontrar um código de operação NOP, podem determinar claramente que ele possui uma certa semântica e, em seguida, executar sua semântica e, em seguida, completar as chamadas regras de consenso.Atualização do soft fork, então isso é divertido, certo? Você teve 21 alterações de regras de consenso, e apenas uma foi um hard fork, e esse hard fork ainda forneceu ajuda para atualizações subsequentes do soft fork. Portanto, pode-se considerar que entre as muitas atualizações da rede Bitcoin, todas são atualizações de soft fork.

Então vamos voltar a uma questão, ou seja, a cultura desse upgrade do soft fork, independente de onde venha, qual o seu impacto objetivo na rede Bitcoin? Isso tornará os desenvolvedores de Bitcoin mais conservadores? Acho que há dois aspectos nisso. Um aspecto é que os desenvolvedores de Bitcoin não são conservadores por causa dos soft forks. Em outras palavras, você pode pensar que o entendimento de todos sobre a rede Bitcoin é que há algo para esta rede. Ela não pode ser sacrificada. , ou seja, segurança. Segurança em todos os aspectos inclui, por exemplo, se falamos de nós, você consegue resistir a esse ataque de negação de serviço e ataque DOS, certo? E quando você usa chaves públicas como usuários individuais ou quando usa scripts, isso é seguro? Ou o consenso de toda a rede é seguro quando você o executa? Esses recursos de segurança são o que há de mais importante na rede Bitcoin.

Dada esta prioridade mais importante, você descobrirá naturalmente que os desenvolvedores do Bitcoin não tentarão nenhuma direção de desenvolvimento possível, e sua principal direção de desenvolvimento deve ser fortalecer a segurança do Bitcoin., este é um aspecto. Portanto, se algumas pessoas pensam que nem tudo pode ser feito na rede Bitcoin, ou que adicionar novos recursos parece ser muito lento, e acham que isso é um sinal de conservadorismo, a primeira impressão delas está correta. Mas quanto ao assunto em si, e se você deve entendê-lo como um conservador, acho que é uma ressalva. Porque o que vou falar a seguir é no Bitcoin, por exemplo, na atualização do Taproot em 2021, ele usa a assinatura Schnorr, o que é muito interessante. Onde está o interessante? Sabemos que o Bitcoin é o primeiro projeto de criptomoeda a aparecer. Quando apareceu pela primeira vez, optou por usar o algoritmo ECDSA para assinaturas eletrônicas, e a curva elíptica que ele escolheu foi cuidadosamente selecionada por Satoshi Nakamoto. Ele evitou aquele usado por mais pessoas e escolheu aquele usado por menos pessoas.

Então descobriremos que muitos projetos de criptomoeda herdaram isso, incluindo o surgimento posterior do Ethereum ou outros projetos, eles continuam a usar assinaturas ECDSA. Mas também existem alguns projetos posteriores que usarão algumas variantes da assinatura Schnorr, como Ed25519. Se um amigo que conhece criptografia conhecer esse Ed25519, por exemplo, no Polkadot posterior, ele usará Ed25519. Pode haver alguns outros projetos que também usarão esse algoritmo. Na verdade, esse tipo de assinatura também é uma variante da assinatura Schnorr, então será muito interessante. Foram os sucessores do Bitcoin naquela época que continuaram a escolher a assinatura ECDSA . E ainda é usado hoje, e está até planejado para continuar a ser usado, ou pelo menos quando não é particularmente ativo no uso de um novo algoritmo de assinatura, o Bitcoin faz isso para alguma eficiência na cadeia, ou seja, para economizar espaço na cadeia. Ou para tornar as transações na cadeia mais compactas, ou pelo uso de assinaturas Schnorr, porque Taproot também usa assinaturas Schnorr para conseguir um uso muito interessante, ou seja, um único endereço pode incluir tanto o chave e a chave. Este método de gasto, incluindo o método de gasto deste script, pode alcançar algo assim.

Por vários motivos, o Bitcoin optou por apoiar a assinatura Schnoor. Isso é uma coisa conservadora? Quer dizer, não é algo muito ousado por si só? É uma inovação em todos os sentidos que posso imaginar, uma inovação muito ousada. Pouco antes da atualização do Taproot, na rede Bitcoin, era possível distinguir claramente entre a saída de uma única chave pública, que geralmente é a forma pela qual os indivíduos economizam seus próprios fundos, e a saída do script, que geralmente é possível. carteira pessoal, ou pode ser a forma de saída utilizada por um acordo contratual mais complexo.

Antes do Taproot, você podia distinguir essas duas saídas na cadeia. Após a atualização do Taproot, esses dois formulários de saída foram combinados em um, o que é algo muito ousado por si só. Na minha opinião, acho que isso é algo muito, muito maravilhoso, digno da palavra inovação em todos os sentidos. Então você pode dizer que é conservador, mas ao mesmo tempo não é conservador. O significado deste conservadorismo é que ele coloca sempre a segurança no nível mais importante, por isso não tentará nada casualmente. Mas você pode pensar que ele não é conservador, porque quando ele descobre uma boa solução, todos irão adotá-la ativamente.

Jeffrey Hu: Sim, concordo particularmente que esta é uma atualização da assinatura Schnorr, porque agora sabemos que muitos dos outros projetos de blockchain que acabamos de mencionar podem, na verdade, estar pelo menos em seu próprio endereço nativo. Nesse nível, se você quiser adicionar um novo método de assinatura ou alterar a curva elíptica original, ainda haverá grande resistência. Pode ser por motivos técnicos de arquitetura ou por toda a cultura. Ou pode ser um motivo para discussão da comunidade. Veremos que na verdade será muito lento, e alguns outros métodos podem ser usados, como adicioná-lo a contratos inteligentes para torná-lo compatível ou de alguma outra forma. Mas não é como o Bitcoin. Basicamente, você pode pensar nele como uma forma nativa de adicionar uma assinatura. Na verdade, concordo bastante com isso.

Vamos voltar ao que aconteceu com o cliente de Luke agora há pouco. Foi um tópico adicional sobre o qual falamos agora há pouco porque era sobre bifurcação. Na verdade, eu pessoalmente não gosto muito da palavra bifurcação. Não sei A Jian . Professor, acho que a palavra fork geralmente causa alguns mal-entendidos. Por exemplo, o mencionado agora pode causar partições de rede devido a algum poder de computação ou bugs. Na verdade, às vezes pode acontecer. O que algumas pessoas consideram um hard fork ou algo assim é na verdade o que entendo como soft fork ou hard fork no sentido usual, que pode ser substituído por outro termo técnico. Soft fork é na verdade uma atualização compatível, enquanto hard fork é na verdade uma atualização incompatível, ou seja, você adiciona mais funções novas, que podem ser seu próprio nó, ou você pensa que é o nó que originalmente executou o software antigo. Ele não pode aparecer na nova rede. Se estiver na rede Bitcoin, eu realmente acho que essa perspectiva pode ser revertida. Se um nó precisar fazer algumas atualizações de hard fork, ele é na verdade seu próprio Se ele se bifurca, então este também é um conceito relativo , porque não obedece mais a uma regra de consenso de toda a rede.

Vamos conversar um pouco mais. Desta vez o Luke fez isso, talvez ele quisesse modificar o nó, mas na verdade, aconteceu mais no nível do soft fork ou hard fork que estamos discutindo. Ainda não tocou no nível do consenso de blocos de toda a rede, e às vezes há uma discussão acalorada na Internet, mas na verdade a maior discussão é que esse nó pode realmente se bifurcar diretamente, mas na verdade O que ele faz como um nó ainda não atingiu esse nível. Se entendermos intuitivamente, Luke realmente faz isso no nível de todo o pool de memória de transação, ou no nível de mempool do pool de transação. Ele simplesmente faz isso. Alguma filtragem de transação ou algumas modificações na estratégia de encaminhamento de alguns nós.

Então, como entendê-lo especificamente? Posso expandir isso um pouco mais, porque você pode ter usado Metamask ou outras carteiras com mais frequência, então podemos ver que se você quiser enviar uma transação, basicamente você só precisa clicar em alguns botões para fazer a transação. fora. Na verdade, a transação no Bitcoin, desde o momento em que você tenta escrever uma transação até a confirmação final, basicamente entendo que ela pode ser dividida em três etapas. A primeira etapa são as informações que você precisa para assinar a transação. Isso na primeira etapa, uma mensagem assinada foi gerada. A segunda etapa é colocar essas informações assinadas em todo o conjunto de memória de transação. O terceiro passo é empacotá-lo no bloco. Esta é a informação assinada. Na verdade, o processo também é muito importante.

A primeira etapa, por exemplo, na Lightning Network, ambas as partes podem realmente manter os canais uma da outra na Lightning Network. As duas partes podem manter a parte uma da outra nas informações da transação assinadas pela outra parte. Se a outra parte fizer o mal, eles podem usar isso para eu adicionar minhas próprias informações de assinatura às informações de assinatura da outra parte e então posso transmiti-las para punir a outra parte por fazer o mal. Portanto, esta é uma etapa para usar informações de assinatura na Lightning Network. Na verdade, corresponde à primeira etapa de emissão de uma transação. A segunda etapa significa que, se eu quiser enviar uma transação, transmitirei minhas informações de assinatura. na rede e então permito que outros nós o processem.Então o nó fará alguma verificação de legalidade após recebê-lo e depois o encaminhará.

Então, o que Luke está fazendo desta vez é principalmente na segunda etapa, ou seja, todo o meu nó precisa realizar algum tipo de filtragem ou processamento após recebê-lo? Porque ele acredita que pode haver algumas transações, como algumas das transações BRC 20, que podem sobrecarregar muito a rede, então ele não deseja encaminhá-las neste nível ou no nível da biblioteca mempool.

Até agora, na verdade, não tocou no nível de consenso de toda a rede. No final, se toda a transação for necessária, em alguns nós de mineração, com base nas informações de todo o mempool atual, incluindo algumas das informações do bloco anterior , somente após calcular o valor do hash toda a transação atual será empacotada no bloco. Este é o nível de consenso em toda a rede.

Então você pode realmente ver que a modificação de Luke desta vez é apenas uma modificação no nível do mempool. Na verdade, não tem nada a ver com o fork. Sim, e na verdade pensei em um exemplo antes, como explicar esse assunto de forma mais vívida. Qual é o exemplo em que pensei? Só não sei se o professor Ajian acha apropriado. Posso falar sobre minha ideia. No passado, pode ter havido mais pessoas. Algumas pessoas iam às agências bancárias com muitos trocos. Quero economizar dinheiro. Por exemplo, peguei um centavo de 1 milhão. Se você quiser ir a uma agência bancária para depositar dinheiro, então a agência bancária pode naturalmente ter dois pensamentos. Ou seja, pode não haver nada que você possa fazer a respeito. Agora que você está aqui, devo cuidar disso, certo? As notas que você pegou são todas reais, então com certeza terei que processá-las. Isso está de acordo com os regulamentos de todo o banco central. Tenho que processá-las. Então pode levar muito tempo. Posso. Demora muito tempo para enviar uma pessoa dedicada para processá-lo, colocar o dinheiro no detector de moeda um por um, contá-lo e depositar seu dinheiro no banco após a conclusão do processamento. Bem, isso é um tipo de coisa, então minha agência bancária é muito responsável com seus usuários. Depois, há outro tipo de agência bancária que ficará incomodada com esses clientes mal-intencionados. Basta dizer que esse tipo de cliente não deve vir à minha agência bancária. Você pode ir a outras agências bancárias. Não aceitarei muito esse tipo de coisa. Como cliente de notas de pequeno valor, se você não for a outras agências bancárias, então o cliente neste momento pode ter uma ideia e dizer, eh, por que sua agência bancária não segue os regulamentos do banco central? Por que não aceita? Existe uma exigência para que meu cliente economize dinheiro? Aliás, essa agência bancária pode ser um pouco injusta, né? Não estou dizendo que quero ir contra o banco central. É apenas minha agência bancária. Realmente não tenho mais mão de obra para atender um cliente de valor tão pequeno, então posso emitir alguns de meus próprios regulamentos, como Não vou lidar com notas de valor inferior a 100 yuans. Talvez eu só lide com depósitos e retiradas de notas inteiras no valor de 100 yuans. Para o resto, você precisa encontrar outras agências sozinho ou pode simplesmente abrir uma agência bancária sozinho … Vá lidar com isso.

Então, isso é na verdade semelhante a, se voltarmos a este exemplo, se pensarmos que Luke pode ser um hard fork, pode na verdade ser um pouco injusto com seu significado original. Ele não é como uma agência bancária que quer ir lá. Crie outro banco central para lidar com a autenticidade de toda a nota, ou como manter contas. Ele apenas sente que este próprio nó pode não gastar mais recursos para processar transações como BRC 20 ou Inion.

Ajian: A metáfora de Jeffrey é muito, muito boa e muito vívida. Deixe-me acrescentar um pouco, ou seja, se a maioria das pessoas disser que não presta muita atenção a essas informações técnicas, elas podem não ser capazes de distinguir quais são as regras de consenso e quais nós estão dispostos a aceitar uma transação em sua própria transação. pool e encaminhá-lo para outros. Um nó refere-se às suas próprias regras para outros nós que estão conectados a ele. Uma das regras acima é chamada de regras de consenso e a outra é chamada de regras de pool de transações ou regras de verificação de pool de transações. Elas são diferente. .

Por que? Porque você pode pensar em uma regra de consenso como uma só, até certo ponto, você pode pensar nela como algo mais flexível, por quê? Como ele apenas determina se um bloco é válido, e as chamadas regras do pool de transações definidas por cada nó apenas determinam se eu quero aceitar uma transação e encaminhá-la, então regras mais rígidas do que regras de consenso podem ser usadas.

por que? Como a regra de consenso estipula a validade de um bloco, o nó pode naturalmente delegar parte do trabalho de filtragem de transações inválidas aos mineradores. Por que? Porque você deve garantir que seu bloqueio seja válido, caso contrário, se seu bloqueio ou transação for rejeitado, você não obterá nenhum benefício.

Então você pode assumir razoavelmente que ele irá coletar todas as transações válidas, e como ele já pagou muitos comprovantes de trabalho, vou gastar um pouco mais de tempo para verificar esse bloqueio, o que é uma coisa boa para mim. É algo que é completamente acessível e não tem muitas desvantagens. Mas se uma transação surge do nada e segue um caminho incerto na rede para chegar até mim, você não sabe se é uma transação válida ou inválida.

Se você tiver que realizar uma verificação completa em cada transação que você recebe, na verdade, esse assunto em si consome muito tempo e recursos, então a abordagem do nó deve ser confirmar esta transação primeiro. Existem algumas características da transação que são muito simples de verificar, e então essas características determinarão se devo continuar a verificar a transação, ou se ela não atende mais a essas características, simplesmente não irei verificá-la. Apenas espero e vejo se o minerador ainda está disposto a empacotar a transação, se ele quiser embalar eu vou verificar, certo? É um tal processo. A maioria dos nossos ouvintes ou outros amigos não podem, ou não são capazes de pensar nisso, porque as redes que usamos com frequência não possuem essa camada. Esta é uma camada. Isso é basicamente exclusivo para UTXO ou transação Somente quando você usa a forma de saída da transação para expressar uma soma de fundos e suas condições de gasto é que você precisa considerar essa questão.

por que? Para dar um exemplo, se você estiver no Ethereum, todos os seus chamados contratos inteligentes são uma espécie de conta, inclusive a sua, que é controlada por uma chave privada, mas também é uma conta. Este design do Ethereum Isso é ou seja, todos os seus objetivos centrais, ou seja, toda a complexidade do processamento, devem ser colocados no contrato, e o próprio código do contrato pode identificá-lo.

Quais transações podem ser processadas e quais transações não podem ser processadas? Todas as transações da lista Ethereum são iniciadas por uma conta externa, certo? O número de série usado por uma conta externa é chamado de valor Nonce. Pode haver algumas ambigüidades, mas você está certo em chamá-lo de número de série, porque toda conta tem esse número de série e o seguinte. Este número de série precisa ser post- processado, então cada conta usa um número de série não utilizado para iniciar uma transação, e então quando é confirmado por este bloco, ele entra no estado mais recente do Ethereum determinado. É processado e depois dá um resultado, certo? Assim, no modelo Ethereum, toda a complexidade é colocada na conta do contrato inteligente, e seu nó tenta ignorar o resultado final da execução da instrução transportada pela sua transação.

Ou seja, cada uma de suas transações é na verdade apenas uma transação iniciada por uma determinada conta, e então algumas instruções são transportadas na transação, ou seja, quais serão os resultados dessas instruções quando executadas. O nó não se importa com em absoluto, ele só se preocupa com você.Você pagou uma certa quantia dessa taxa de transação? Então para uma rede como a Ethereum, as regras do pool de transações desse nó são na verdade muito simples, relativamente falando, será mais simples, porque só precisa verificar, antes de mais nada, se sua conta tem o suficiente para pagar sua taxa de gás, certo ? Então depende se o seu número de série já foi usado antes. Se tiver sido usado, é uma transação inválida. Em outras palavras, devo escolher uma transação para salvar em meu pool de transações, comparando as taxas altas e baixas do gás.

Quanto às informações e instruções anexadas à sua transação, o que significam? Ele não se importa, ele não se importa nem um pouco, então as regras do pool de transações de seu nó são muito simples. Mas em um modelo baseado na saída de transações, como UTXO e Bitcoin, a verificação do seu pool de transações deve ser mais complicada.

Por que? Porque você vai se preocupar, por exemplo, se a despesa dele é uma despesa válida. Essa despesa inválida não pode entrar no bloco. Essa é uma característica do Bitcoin. Então, você naturalmente produzirá uma série de Para economizar seus recursos, chamamos isso de método heurístico, ou algumas medidas e regras de verificação avançadas que são implementadas antes da verificação de assinatura para proteger este nó de ser usado tanto quanto possível.

Deixe-me dar outro exemplo muito interessante. Gostaria de saber se você já ouviu falar da Nervos Network. As transações e fundos da Nervos Network também são baseados no resultado das transações, mas sua forma se chama Cell, certo? Na verdade, sua estrutura é muito parecida com a UTXO, então eles também vão produzir algumas na Rede Nervos, que é agregar algumas transações que foram transmitidas em algumas redes antes dos mineradores, fazer alguma agregação para elas, e depois entregá-las para os mineradores. Para fazer um pacote completo, uma camada intermediária de agregação será adicionada. O surgimento dessa camada de agregação se deve, na verdade, às características do UTXO, porque as características do UTXO significam muito da sua transação em si e das instruções que ela carrega. Será mais claro e mais complexo.

Portanto, com base nisso, algumas chamadas regras de verificação para o pool de transações devem ser geradas para ajudar o nó a determinar se deseja permitir que uma transação entre em seu próprio pool de transações. Porque quando ele entra no seu pool de transações, você tem que salvar a transação e também vai encaminhar, certo? É algo que requer recursos, então provavelmente é disso que se trata.

Isenção de responsabilidade: As informações contidas nesta página podem ser provenientes de terceiros e não representam os pontos de vista ou opiniões da Gate. O conteúdo apresentado nesta página é apenas para referência e não constitui qualquer aconselhamento financeiro, de investimento ou jurídico. A Gate não garante a exatidão ou o carácter exaustivo das informações e não poderá ser responsabilizada por quaisquer perdas resultantes da utilização destas informações. Os investimentos em ativos virtuais implicam riscos elevados e estão sujeitos a uma volatilidade de preços significativa. Pode perder todo o seu capital investido. Compreenda plenamente os riscos relevantes e tome decisões prudentes com base na sua própria situação financeira e tolerância ao risco. Para mais informações, consulte a Isenção de responsabilidade.
Comentar
0/400
Nenhum comentário