Consenso sobre a reputação do nó. É necessário?

Eu sei eu sei Os criptoprojetos são sombrios, há muito consenso: com base no trabalho e na propriedade, ouro, óleo, tortas assadas (existe uma, sim). O que precisamos de mais um? Proponho discutir isso depois de ler a tradução da documentação técnica "lite" do projeto * Constellation. Obviamente, essa não é uma descrição completa do algoritmo, mas estou interessado na opinião do hub da comunidade, existe um consenso ou não é necessário para nada?


Portanto, não existem muitas letras adicionais, se você quiser escrever "fu, o máximo que puder sobre criptografia", abstenha-se. Se você está interessado em novos desenvolvimentos no campo de sistemas distribuídos e tem algo a compartilhar nos comentários, então peço cat.


PS: Eu não sou o autor da tecnologia, não posso garantir a transferência completa da essência; portanto, terei o prazer de comentar com alterações, se houver.


Evolução do consenso síncrono para assíncrono


Os nós são selecionados usando um processo determinístico (o mesmo usado no DHT, por exemplo, bittorrent), que ajusta dinamicamente as responsabilidades dos nós para “facilitar” a validação ou, mais compreensivelmente, para obter consenso. Selecionamos grupos de 3 nós e executamos rodadas de consenso em paralelo para que um nó possa ser um facilitador em vários blocos. Isso nos permite processar transações de forma assíncrona, o que, em essência, significa que temos várias cadeias de blocos sendo formadas ao mesmo tempo. O processo é semelhante a uma rede formada por muitos threads, em contraste com os nós que formam uma cadeia ao longo do tempo. O processamento assíncrono ou paralelo é a base da programação escalonável, pois permite usar todos os recursos de um computador, acelerando a computação em geral. Essa rede é chamada de gráfico acíclico direcionado ou DAG em ciência da computação.



Largura linear do canal da blockchain versus efeito multiplicador do DAG, onde temos várias blockchains paralelas.



Uma implementação geométrica do blockchain linear contra o DAG. Pontos pretos são blocos, pontos brancos são nós


Usamos 3 nós em cada rodada de consenso, porque isso nos dá alguns processos matemáticos interessantes para raciocinar sobre o estado, formando um "plano de superfície" entre os dados na forma de triângulos com links. O protocolo então usa triângulos para “unir” a superfície ideal, que não contém dados redundantes ou conflitantes e possui os menores triângulos possíveis. Algoritmicamente, isso é análogo à "seção mínima" de um gráfico e, matematicamente, é uma função derivada ou de otimização (a partir da qual a função encontra o caminho mais curto que pode atravessar ao longo da superfície). Esse caminho mais curto é equivalente ao armazenamento ideal de dados (transações) no grupo de disponibilidade do banco de dados. "Ladrilhos" triangulares conflitantes para que a superfície do evento seja suave e sem conflito.



Implementação geométrica de detecção / processamento de conflitos. O bloco conflitante cria um bloco de superfície adicional. Removemos o bloco de superfície extra para manter uma superfície de evento plana (= sem conflito).


Consenso de Reputação


Em um sistema de reputação p2p descentralizado ideal, cada nó deve poder determinar independentemente sua confiança em outros nós. Nosso sistema usa um modelo especial que inclui relacionamentos transitivos ou relacionamentos que um nó possui com outros nós ao atribuir uma classificação global. "Você é tão bom quanto sua empresa." O resultado final é uma "distorção" ou gradiente com base na confiança ou reputação transitiva em todos os nós no canal $ DAG ou regular. Isso pode ser pensado como um ralador de pincel ou queijo que apaga sobre o "plano de superfície" e seleciona quais "ladrilhos triangulares" a apagar e quais deixar. É assim que a lógica do conflito realmente remove os "ladrilhos triangulares".



Um DAG com um bloco conflitante que passa por um espaço "curvo", que é um gradiente semelhante a um ralador de queijo e está prestes a remover ou "apagar" o bloco conflitante.


Escala de nó parcial / completo


Na teoria das redes, como regra, a distribuição ideal é conhecida como "sem escala", que pode ser descrita como um arranjo hierárquico com grandes nós centrais que controlam muitos nós periféricos menores. Essa distribuição é visível na natureza e, principalmente, na Internet. O Constellation usa essa arquitetura para "escalar" ou aumentar a taxa de transferência ou a largura do nosso gráfico.



O efeito da divisão hierárquica. Podemos adicionar mais nós aumentando a largura de banda


Hylochain - Suporte a aplicativos baseados em canal


Nossa abordagem ao suporte a aplicativos pode ser vista como uma “plataforma de contrato inteligente descentralizada”. Em vez de uma rede central que executa toda a lógica e processa todos os dados do aplicativo, o Constellation coordena os dados do aplicativo com os “canais padrão”, que podem ser considerados uma estação de televisão que transmite todos os dados do sistema padrão. Cada canal regular pode implementar sua própria lógica de verificação, que permite resolver o problema do oracle por meio da autenticação de ponta a ponta dos produtores de dados e da verificação transitiva de sistemas padrão compostos. As redes de canais fornecem suporte simultâneo a aplicativos, acelerando os tempos de adoção, que nas redes de contratos inteligentes são limitados ao consenso síncrono tradicional.



Dois canais em tempo integral que são "compatíveis" através da rede $ DAG. Eles podem interagir ou ser interpretados, pois são "integrados" ao $ DAG, implantando nós híbridos do canal $ DAG +.


O motivo pelo qual é chamado Hylochain é que nossa abordagem ao suporte a aplicativos usou o modelo de programação funcional dos Esquemas de Recursão para criar a interface MapReduce. Em particular, os esquemas de recursão Hilomorfismo (Metomórfico) e Metamorfismo (Metamórfico) podem ser integrados para criar consultas verificáveis ​​e transmitir conexões por canais regulares, verificando os tipos de dados algébricos da mesma maneira que os códigos operacionais para contratos inteligentes são verificados. O resultado final é uma interface funcional do MapReduce que é familiar aos engenheiros de dados e compatível com a tecnologia de big data existente.



Canais regulares hilomórficos e metamórficos para contraste. Em um estado metamórfico, dados de dois canais regulares são enviados para o bloco no meta-canal. No Gilo, pegamos o estado anterior do canal e o usamos para solicitar (fazer uma pergunta específica) outros dois canais e, em seguida, salvar o resultado da solicitação em um bloco.


Tokenomics e sua relação com Hylochain


Quando um canal padrão é criado, ele pode ser integrado ao canal $ DAG, mas usando o ACI ou o Application Chain Interface. Essa interface é simplesmente um objeto JSON com informações de configuração e uma chave pública associada ao próprio canal. O motivo pelo qual associamos a chave pública ao canal regular é criar um mecanismo de corretagem para os dados regulares do canal. Quando o canal de tempo integral é implantado, os desenvolvedores configuram por si mesmos como os pagamentos da rede $ DAG são distribuídos entre nós e operadoras.



Transmita para comprar acesso a informações ou modificar informações. A solicitação é enviada para $ DAG, os fundos são enviados para a conta do canal, o resultado é enviado para o comprador e a soma de verificação da transação é enviada para a rede $ DAG, que desbloqueia os fundos para o canal regular.

Source: https://habr.com/ru/post/pt460783/


All Articles