Segunda versão prévia do MultiChain 2.0

Nó Fonte: 1849219

Permissões por ativo, atualização de capacidade e metadados em linha

Hoje temos o prazer de apresentar a segunda versão prévia do MultiChain 2.0. Isso faz progressos substanciais na Roteiro do MultiChain 2.0, e inclui um recurso extra importante relacionado a permissões de ativos.

Permissões por ativo

Vamos começar com a surpresa. Esta versão adiciona a capacidade de controlar separadamente as permissões de envio e recebimento para cada ativo emitido no blockchain. Esse controle é importante em ambientes onde cada ativo possui características diferentes em termos de regulamentação, requisitos de identificação do usuário e assim por diante.

No momento em que um novo ativo é emitido, ele pode ser opcionalmente especificado como restrito a recebimento e/ou envio. Os ativos com restrição de recebimento só podem aparecer em saídas de transação cujo endereço tenha receive permissões para esse ativo. Da mesma forma, os ativos com restrição de envio só podem ser gastos em entradas de transação por endereços que tenham por ativo send permissões. (Observe que em todos os casos, os endereços precisam send e receive permissões para aparecer nas entradas e saídas, respectivamente.)

A send e receive permissões para um ativo podem ser concedidas ou revogadas por qualquer endereço que tenha admin or activate permissões para esse ativo. Por padrão, essas permissões são atribuídas apenas ao emissor do ativo, mas o emissor (ou qualquer administrador de ativo adicionado posteriormente) também pode estendê-las para outros endereços.

Atualizações de parâmetros do Blockchain

Um dos principais recursos em desenvolvimento para o MultiChain 2.0 é a atualização do blockchain, para permitir que muitos parâmetros da cadeia ser alterado ao longo do tempo. Isso é vital porque as blockchains são projetadas para funcionar a longo prazo e é difícil prever como os sistemas de computador serão usados ​​muitos anos após sua criação.

O MultiChain 1.0.x já oferece uma facilidade para atualizar um único parâmetro – a versão do protocolo da cadeia. Esta versão do MultiChain 2.0 dá um passo significativo à frente, permitindo alterações em sete parâmetros adicionais relacionados ao desempenho e dimensionamento do blockchain. Isso inclui o tempo do bloco de destino, o tamanho máximo do bloco, o tamanho máximo da transação e o tamanho máximo dos metadados.

Assim como outras operações cruciais relacionadas à governança, a atualização dos parâmetros de uma cadeia só pode ser realizada pelo(s) administrador(es) da cadeia, sujeita a um nível de consenso personalizável. Continuamos a trabalhar nesse recurso, portanto, procure mais parâmetros atualizáveis ​​em versões futuras do MultiChain 2.0.

Metadados inline

O MultiChain 1.0.x já suporta metadados de transação não formatados (binários), que podem ser incorporados brutos ou agrupados em um item de fluxo. A primeira versão de pré-visualização do MultiChain 2.0 estendeu isso para permitir que os metadados sejam representados opcionalmente em formato de texto ou JSON. Em todos esses casos, os metadados aparecem em uma saída de transação separada contendo um OP_RETURN, o que torna a saída impossível de ser gasta por transações subsequentes.

Esta versão do MultiChain 2.0 apresenta um novo tipo de metadados que chamamos de “inline”. Os metadados em linha são armazenados em uma saída de transação regular passível de consumo e, portanto, são associados diretamente ao endereço e/ou ativos dessa saída. Tal como acontece com outras formas de metadados, os metadados inline podem estar em formatos binários, de texto ou JSON e são facilmente graváveis ​​e legíveis por meio de várias APIs diferentes.

Os metadados em linha tornam-se realmente poderosos quando usados ​​em conjunto com regras personalizadas relacionadas à validade da transação. Um exemplo é enviar ativos com data de expiração ou com uma lista de restrições sobre para onde eles podem ir em seguida. Nesta versão, as regras de validação personalizadas só podem ser definidas modificando o C++ do MultiChain código fonte. No entanto, uma vez que os filtros são implementados como parte do Roteiro do MultiChain 2.0, essas regras serão escritas em JavaScript e instaladas em um blockchain usando chamadas de API regulares.

O caminho pela frente

Com esta segunda versão de pré-visualização/alfa, concluímos cerca de metade do trabalho agendado para a edição comunitária de código aberto do MultiChain 2.0. Você pode baixar e experimentar o alpha 2 visitando o Versões de pré-visualização do MultiChain 2.0 página. Nesta página, você também encontrará a documentação das APIs novas e aprimoradas.

Já começamos a trabalhar no próximo grande recurso do MultiChain 2.0, que estamos chamando de itens de fluxo fora da cadeia. Em um item fora da cadeia, apenas um hash da carga útil do item é incorporado na cadeia, juntamente com as chaves do item e alguns outros metadados. A carga útil em si é armazenada localmente pelo editor e propagada para os assinantes do stream usando compartilhamento de arquivos ponto a ponto técnicas, com o hash na cadeia fornecendo verificação. O resultado é uma grande melhoria na escalabilidade e desempenho das blockchains usadas para registrar grandes quantidades de informações, onde algumas dessas informações são de interesse apenas de alguns participantes. Embora não tenha sido originalmente planejado para o MultiChain 2.0, esse recurso aumentou nossa lista de prioridades em resposta à demanda do usuário.

Como sempre, bem vindo seu feedback sobre o progresso do MultiChain 2.0, e esperamos entregar a próxima versão de pré-visualização no devido tempo.

Por favor, poste comentários no LinkedIn.

Carimbo de hora:

Mais de Multichain