Aliança: um acordo geralmente formal, solene e vinculativo.

Essa palavra se tornou uma das palavras mais carregadas no espaço do Bitcoin. Eles são a melhor coisa desde o pão fatiado. Eles são a coisa mais perigosa desde a bomba atômica. Eles realmente não farão nada para escalar bitcoin, mas são legais.

Todo mundo tem uma atitude completamente diferente em relação a eles. Temos a facção pró, a anti-facção, a facção ambivalente. Para piorar a situação, a aliança é francamente um termo muito vago em sua descrição de propostas maduras e concretas ao protocolo que seriam classificadas como convênios.

Os graus de diferença entre a funcionalidade de diferentes propostas que foram apresentados são enormes. Alguns deles criam espaços de design totalmente novos para o que é possível construir no topo do Bitcoin, enquanto outros estritamente falando não adicionam nenhuma nova funcionalidade, eles simplesmente otimizam as coisas que atualmente já são possíveis com um grande grau de complexidade e sobrecarga.

Vamos criar uma nova definição específica para o Bitcoin.

Aliança: Qualquer script que garanta alguns, ou todos, das saídas criadas por uma transação gastando uma entrada com um script da aliança, terá que se ajustar a determinados critérios especificados para que a transação de gastos seja válida.

Portanto, em termos menos rigorosos, se um script de bitcoin atualmente restringir Quem pode gastar uma moeda exigindo uma prova de autorização, ou seja, uma assinatura criptográfica, ou quando Pode ser gasto, ou seja, depois que um timelock expirar ou o gastador pode mostrar a pré -imagem a um hash, um script de aliança restringe como Pode ser gasto, ou seja, com quem, quanto pessoa, etc. Um script de aliança pode até restringir uma moeda para que ela deve ser gasta em outro script da aliança.

Essa última parte é o núcleo do que fez da aliança uma palavra tão controversa. Muitas pessoas têm grandes reservas sobre a adição de uma nova maneira de “bloquear” Bitcoins que podem se autopropatar e garantir que as moedas futuras sejam restritas de maneira semelhante. Muitas pessoas têm preocupações sobre isso ser usado para danificar a fungibilidade ou instituir regimes de censura.

Sinto que é necessário ressaltar que essas duas coisas podem ser realizadas agora, sem capacidade de script da Aliança, simplesmente usando o Multisig. Qualquer autoridade pode se recusar a permitir que os saques sejam processados ​​a partir de trocas, a menos que estejam em um multisig 2-de-2, onde essa autoridade possui uma chave. A partir daí, eles podem simplesmente se recusar a assinar transações enviando para endereços onde não possuem uma chave necessária e estabelecer qualquer esquema de lista negra ou de permissões que eles desejassem de forma opaca e totalmente fora da cadeia.

Dito isto, ainda é importante que os usuários do Bitcoin tenham uma compreensão e compreensão da diferença de poder e flexibilidade entre todas as diferentes propostas de aliança que existem atualmente.

Existem duas coisas principais que os convênios buscam permitir para aplicar restrições a como Moedas são gastas, introspecção e dados de dados avançados.

A introspecção é a capacidade de inspecionar diferentes partes da transação que está sendo avaliada enquanto tentam gastar uma moeda específica. Por exemplo, se você deseja restringir uma moeda para que ela precise ser gasta em um endereço específico, é necessário comparar o endereço especificado no script da aliança da entrada com o endereço especificado na saída da transação que o gasta. Os códigos de OPC que permitem a introspecção são aqueles que nos dão a capacidade de comparar diferentes partes da transação de gastos com as restrições incluídas no script que está sendo avaliado. Quanto mais granular você puder obter com a introspecção sobre quais partes específicas de uma transação você pode examinar, mais poderosa ela se torna.

O transporte de dados a termo está relacionado à introspecção e, de muitas maneiras, é uma conseqüência, que permite garantir que algumas informações sejam transportadas para a frente e incluídas em cada script da nova aliança, para que possa ser usado na próxima avaliação do script da Aliança. Isso é realizado usando a introspecção para restringir certas partes da transação com tanta força que elas devem incluir os dados desejados exatos ou são inválidos. Quanto mais poderosa capacidade introspectiva você tiver, mais flexível você pode transportar dados para a frente e, mais flexível você pode usar esses dados.

Esta é apenas a primeira introdução a uma série de artigos a vir nas próximas semanas, analisando todas as principais propostas de aliança que estão em um estado maduro, receberam interesse recente ou são conceitualmente importantes o suficiente para que os desenvolvedores concordem em sua utilidade, mas ainda não um design concreto. Isso não será 100% completo, mas será relativamente abrangente. Alguns deles também não são estritamente convênios em si, mas compostos com muita força com eles.

Estes incluirão:

  1. Checar
  2. Checksigfromstack
  3. Sh
  4. Op_vault
  5. Verifique o contratVerify
  6. GATO
  7. Tweakverify