Como Configurar Uma Carteira Multi-assinatura

As carteiras com várias assinaturas são contratos inteligentes que exigem o acordo de várias pessoas para realizar uma ação. Eles podem ser úteis para proteger ativos (usando separação de funções) ou para garantir que certas ações sejam tomadas apenas de acordo com os desejos do proprietário da multisig ou da maioria dos proprietários.

Este artigo se concentra em como fazer as melhores escolhas de design ao configurar um multisig e como evitar erros comuns. Veremos demonstrações de várias configurações multisig diferentes. Depois de configurar sua carteira multi-assinatura, você pode adicioná-la ao seu aplicativo .

Por que precisamos de multisigs?

Há muitos casos em que queremos que as ações sejam aprovadas por várias pessoas. Aqui estão alguns exemplos:

Propriedade dividida

Se um ativo pertence a várias pessoas em comum, especialmente um ativo on-chain, um contrato inteligente pode verificar se ele é usado apenas de acordo com os desejos dos proprietários. A blockchain também fornece uma trilha de auditoria que mostra quais proprietários aprovaram qualquer ação, portanto, é impossível para os proprietários fingirem posteriormente que não aprovaram.

Separação de deveres

Mesmo quando um ativo pertence a uma única entidade, as multisigs podem ser úteis para implementar a separação de funções . Quando várias pessoas são obrigadas a aprovar uma ação, tanto a fraude quanto os erros inocentes são muito menos prováveis. Nesses casos, a compensação é entre segurança (mais assinantes significam que você está mais seguro) e velocidade (mais assinantes significam que leva mais tempo para fazer qualquer coisa).

Trilha de auditoria

Há casos em que várias pessoas têm permissão para realizar uma ação, e só queremos saber quem executou a ação. Ao usar um multisig que requer apenas uma assinatura, podemos cobrir esse caso de uso sem os riscos de segurança associados a uma conta compartilhada.

Como funciona um multisig?

Entidades na blockchain, como um contrato multisig, só podem afetar diretamente outras entidades blockchain. As ações que um multisig pode controlar são, portanto, aquelas que podem ser realizadas chamando um contrato inteligente, como a transferência de tokens ERC-20 ou um NFT.

Multisigs têm vários endereços de assinatura que estão autorizados a realizar uma ação, individualmente ou quando aprovados por um grupo de tamanho específico. Cada endereço de assinatura é um endereço Ethereum diferente, normalmente derivado de uma frase de recuperação diferente e de propriedade de uma pessoa diferente. Mais adiante neste artigo, discutiremos as circunstâncias em que você pode querer dar a uma única pessoa o controle de mais de um endereço de assinante.

Tipos de multisigs

A maioria dos multisigs implementa um requisito M-of-N. Isso significa que há um total de N signatários, dos quais M precisa aprovar e assinar antes que a ação ocorra. Isso é chamado de multisig M/N; a razão de M para N é chamada de quorum quorum. Por exemplo, um multisig 3/5 teria cinco signatários, três dos quais precisariam concordar ou aprovar uma ação.

 

As compensações na configuração dos parâmetros de um multisig se resumem a compensações entre segurança, por um lado, e facilidade e disponibilidade, por outro.

  • Quanto mais sinalizadores você tiver (N alto) e quanto menos sinalizadores forem necessários (M baixo), mais fácil será encontrar as pessoas necessárias para realizar uma ação
  • Se você tiver menos signatários (baixo N), a chance de um erro ou um hack total ser aprovado deve ser reduzida
  • Exigir mais assinantes (M alto) pode se traduzir em mais supervisão e segurança aprimorada, mas se M for muito alto, você terá difusão de responsabilidade ; os principais atores podem presumir que outra pessoa está cuidando se uma aprovação deve ser feita

Demo: Criando uma carteira multisig

Para saber mais sobre o quorum multisig e comparar diferentes casos, vamos criar uma carteira para uma empresa com quatro gerentes. Em nosso exemplo, o multisig precisará ser acessado para alterar uma saudação. Veremos três configurações: sem multisig, 1/3 multisig e 2/4 multisig.

Obviamente, o objetivo deste exemplo é simplesmente demonstrar o multisig, não o contrato que ele controla. Em aplicações do mundo real, os contratos geralmente executam funções mais valiosas do que alterar uma saudação e geralmente limitam o número de indivíduos que podem fazer uma alteração.

Sem multiassinatura

Antes de chegarmos ao multisig, devemos configurar nosso ambiente de laboratório e o contrato de destino (o contrato que o multisig controla). O ambiente de laboratório é executado em cima da rede de teste Goerli . Se você precisar de Goerli test ETH, você pode obtê-lo nesta torneira .

Para nossa demonstração, usaremos um contrato inteligente simples chamado Greeter.sol , que implantei com o Hardhat . Você pode vê-lo aqui .

Para ver a saudação atual, abra Contrato > Ler contrato e expanda saudação .

Para modificar a saudação atual, abra Contrato > Gravar contrato . Em seguida, clique em Conectar ao Web3 para conectar-se à carteira. Depois de selecionar uma carteira das opções listadas, clique em setGreeting e digite a nova saudação. Em seguida, clique em Escrever e aprove o contrato na carteira.

Observe que, devido ao armazenamento em cache, depois de alterar a saudação, pode ser necessário recarregar o contrato algumas vezes antes de poder ver a nova saudação.

1/4 multisig (é necessária uma assinatura)

A demo multisig foi criada com Gnosis Safe , que é provavelmente a plataforma multisig mais comum.

Os endereços que estão autorizados a usar o multisig são todos derivados da senha: “dumb cart rally entry iron band man demise record moon erode green”

Os endereços são os seguintes:

  • 0x3646468082813B33BF7aab1b8333Aa01fEe8a386
  • 0x8c262b009B05e94D3ffF1Ce4cEa8Da0ba450c793
  • 0x126FE1acDB5A5101B80Dc68A0b0dc882BFeEe5A6
  • 0x0C48dfb3FAaFBCECF21f0D1F4e75E1fE6e731Ad6
  • 0x934003bC77b9D427c4a441eBef2086AA089Ed0C5
  • 0x9D5f666b29D0dd2397fDbc093fdaCAa0EF6e7377

Em cenários do mundo real, os endereços vêm de senhas exclusivas quando pertencem a pessoas diferentes. No entanto, fazer isso aqui exigiria que você (como leitor) saísse continuamente de uma senha e entrasse em outra ou usasse vários dispositivos. Para este treinamento, decidi que a conveniência supera a segurança, portanto, omitiremos as senhas exclusivas nesta demonstração.

Agora, vejamos um exemplo em que apenas os proprietários podem alterar a saudação. Neste exemplo, apenas uma assinatura é necessária para fazer uma alteração.

Vamos usar o mesmo Greeter.solcontrato. Em um aplicativo do mundo real, provavelmente implementaríamos Ownablee definiríamos o proprietário como multisig, mas o objetivo aqui é tornar as coisas o mais simples possível, não tão seguras quanto possível.

Quando um único signatário é necessário, você precisa propor e confirmar a transação.

  1. Navegue aqui com um navegador que tenha uma carteira com a senha especificada acima e conecte-se a um dos quatro primeiros endereços listados acima
  2. Clique em Nova transação e interação do contrato
  3. Cole o endereço do contrato com o qual você está tentando interagir:0x8A470A36a1BDE8B18949599a061892f6B2c4fFAb
  4. Observe que a ABI com as definições de como entrar em contato com o contrato é importada automaticamente; o código do contrato está disponível no Etherscan, então o Gnosis Safe pode recuperar o código
  5. Selecione o setGreetingmétodo e digite uma nova saudação
  6. Clique em Revisar e Enviar ; em seguida, aprove a transação na carteira
  7. Espere
  8. Depois que a transação for executada, vá para o contrato e expanda saudação para ver que a saudação foi alterada

2/4 multisig (duas assinaturas necessárias)

A seguir, vejamos um exemplo em que dois dos quatro proprietários devem assinar. Para esta demonstração, precisaremos fingir ser um segundo gerente e aprovar a transação para ter as duas assinaturas necessárias para que a transação ocorra.

Primeiro, siga as etapas do exemplo anterior, mas use este arquivo .

  1. Mude para um endereço diferente na carteira (um dos outros três aprovadores)
  2. Navegue aqui novamente; talvez seja necessário desconectar e reconectar no aplicativo para que o endereço correto apareça
  3. Clique na transação em Fila de transações
  4. Expanda a transação, clique em Confirmar para aprovar a transação e clique em Enviar
  5. Aprovar a transação na carteira

Agora, visualize a transação e verifique se a ação solicitada ocorreu (se a saudação realmente mudou):

  1. Navegue aqui e expanda saudação para ver que a saudação realmente mudou
  2. Para ver a transação, clique em Internal Txns e localize a transação mais recente entre o multisig (0x8f760d2fd9999d407b3c4b67555bf037ed5eb832) e o saudador (0x8a470a36a1bde8b18949599a061892f6b2c4ffab)
  3. Clique em Parent Txn Hash para ver a transação que alterou a saudação
  4. Observe que o segundo signatário está listado como a origem

Problemas potenciais com multisigs

As carteiras Multisig destinam-se a fornecer segurança adicional, mas ainda podem surgir problemas. Vejamos alguns exemplos.

Recursos bloqueados

A grande vantagem do blockchain é que não há uma autoridade central. No exemplo acima, ninguém pode aprovar uma transação do multisig, exceto pelo menos dois desses quatro endereços de gerente.

A grande desvantagem do blockchain é que não há uma autoridade central para substituir os contratos nos momentos em que isso se justifica. Por exemplo, no caso da morte de três signatários de um multisig 2/4, não haveria como o multisig liberar nenhum de seus ativos. Os ativos da carteira permaneceriam bloqueados para sempre.

Uma opção para fornecer um backup para esse tipo de cenário é fazer com que alguém em quem a empresa confie completamente (por exemplo, o proprietário) gere dois endereços adicionais e armazene suas senhas em envelopes invioláveis ​​em um local seguro. Um local fora do local, como o cofre do advogado ou da conta da empresa, geralmente é uma boa opção.

Substituição do proprietário

Em um multisig, todos os signatários são iguais. O problema é que às vezes queremos signatários mais iguais que os outros. Por exemplo, podemos querer que os gerentes de negócios possam fazer algo com uma assinatura adicional, mas que o proprietário possa fazer qualquer coisa.

Uma solução seria permitir que o endereço do proprietário acesse o contrato de destino diretamente, sem passar pelo multisig. Esta solução tem a melhor usabilidade, mas significa que não podemos confiar totalmente no multisig para auditoria.

Uma segunda opção é o proprietário gerar dois endereços a partir da senha e usar os dois endereços como signatários. Esta solução tem usabilidade mais limitada, mas pode ser uma opção melhor se parte do propósito do multisig for reduzir a chance de um erro por descuido e se as substituições do proprietário forem usadas como uma medida de emergência, em vez de parte do processamento diário.

Demo: Criando uma carteira multisig compartilhada

Agora, vejamos um cenário mais complexo, em que duas empresas colaboram e a função da carteira exige a aprovação de pelo menos um gerente de cada empresa.

Como todos os signatários são iguais em um multisig, precisamos escrever alguma lógica no contrato para atingir esse objetivo. Clique aqui para ver o contrato Solidity .

Vamos ver o que acontece quando a empresa A propõe uma nova saudação.

  1. Vá para o contrato e verifique a saudação atual
  2. Mude a carteira para um dos endereços do grupo A:
    • 0x3646468082813B33BF7aab1b8333Aa01fEe8a386
    • 0x8c262b009B05e94D3ffF1Ce4cEa8Da0ba450c793
    • 0x126FE1acDB5A5101B80Dc68A0b0dc882BFeEe5A6
  3. Navegue até o grupo A multisig
  4. Clique em Nova transação > Interação do contrato
  5. Digite o endereço do contrato:0x3e55E2DBDE169Fbf91B17e337343D55a7E0D728e
  6. Clique em proporGreetingA e proponha uma saudação
  7. Clique em Revisar e depois em Enviar
  8. Confirme a transação na carteira
  9. Vá para o contrato novamente e veja que a saudação não foi alterada

A seguir, vamos ver o que acontece quando a empresa B propõe uma saudação diferente. Essa etapa é necessária porque não basta ver que o contrato inteligente se comporta corretamente quando as pessoas seguem os procedimentos adequados. É igualmente importante garantir que o contrato permaneça seguro quando as pessoas não seguem um procedimento adequado.

  1. Mude a carteira para um dos endereços do grupo B:
    • 0x0C48dfb3FAaFBCECF21f0D1F4e75E1fE6e731Ad6
    • 0x934003bC77b9D427c4a441eBef2086AA089Ed0C5
    • 0x9D5f666b29D0dd2397fDbc093fdaCAa0EF6e7377
  2. Navegue até o grupo B multisig
  3. Clique em Nova transação > Interação do contrato
  4. Digite o endereço do contrato:0x3e55E2DBDE169Fbf91B17e337343D55a7E0D728e
  5. Clique em proporGreetingA e proponha uma saudação
  6. Veja se a revisão informa que a transação falhará (porque você não é membro do grupo correto); clique em Voltar
  7. Selecione a opção adequada para seu endereço atual, propGreetingB , e proponha uma saudação (certifique-se de selecionar uma saudação diferente daquela proposta pela empresa A)
  8. Clique em Revisar e depois em Enviar
  9. Confirme a transação na carteira
  10. Vá para o contrato novamente e veja que a saudação ainda não foi alterada

Agora, vamos ver o que acontece quando a empresa B propõe a mesma saudação que foi proposta pela empresa A.

  1. Tente proporGreetingB novamente, desta vez com a mesma saudação que você propôs como membro do grupo A
  2. Volte ao contrato, pela última vez, e veja se a saudação finalmente mudou

Vamos dar uma olhada no código do Solidity para ver como isso funciona:

/**
 *Submitted for verification at Etherscan.io on 2022-05-08
*/

//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;


contract AB_Greeter {
  string greeting;

Aqui estão os endereços dos multisigs:

  address multisigA;
  address multisigB;

Essas variáveis ​​contêm os hashes das saudações propostas.

Usar os hashes tem duas vantagens.

  • O armazenamento Ethereum é um recurso caro, dessa forma usamos menos
  • Quando armazenamos o hash só precisamos escrever uma palavra de 32 bytes por proposta

Se tivéssemos que armazenar cordas, elas poderiam ser muito mais longas e mais caras. Além disso, o Solidity não possui uma expressão embutida para comparar strings, portanto, a maneira mais fácil de comparar duas strings é comparar seus hashes. Usando hashes, calculamos o hash apenas uma vez para cada vez que chamamos proposeGreeting[AB].

  bytes32 proposedGreetingA = 0;
  bytes32 proposedGreetingB = 0;  

Para começar, precisamos da saudação, bem como dos endereços dos dois multisigs:

  constructor(string memory _greeting, 
              address _multisigA, 
              address _multisigB) {
    greeting = _greeting;
    multisigA = _multisigA;
    multisigB = _multisigB;
  }

As funções greete setGreetingsão as mesmas do Greeter.solcontrato que usamos anteriormente.

  function greet() public view returns (string memory) {
    return greeting;
  }

  function setGreeting(string memory _greeting) internal {
    greeting = _greeting;
  }

Esta é a função de propor uma nova saudação.

  function proposeGreetingA(string calldata _greeting) public {

multisigAé permitido propor saudações como empresa A; qualquer outra fonte será rejeitada.

    require(msg.sender == multisigA, "Only for use by multisig A");
    bytes32 _hashedProposal = keccak256(abi.encode(_greeting));

Se a empresa B já propôs o que a empresa A está propondo agora, atualizamos a saudação assim:

    if(_hashedProposal == proposedGreetingB)    
      setGreeting(_greeting);

Caso contrário, registramos isso como saudação proposta pela empresa A:

    else
      proposedGreetingA = _hashedProposal;
  }

É importante perceber que essa não é a maneira ideal de atingir esse objetivo porque multisigAé 1/3, portanto, qualquer um dos gerentes da empresa A poderia mudar o multisig e tirar a capacidade dos outros dois signatários de propor ou aprovar qualquer coisa.

Uma política mais sensata seria ter outro multisig, talvez um 2/3, para esse tipo de operação sensível. No entanto, o objetivo deste exemplo é ensinar, então vamos optar pela simplicidade sobre a segurança.

No código abaixo especificamos que multisigApode mudar para um novo multisig se isso for necessário.

  function changeMultisigA(address _newMultiA) public {
    require(msg.sender == multisigA, "Only for use by multisig A");    
    multisigA = _newMultiA;
  }

As funções da empresa B são a imagem espelhada das da empresa A.

 function proposeGreetingB(string calldata _greeting) public {
    .
    .
    .
  }

  function changeMultisigB(address _newMultiB) public {
    .
    .
    .
  }
}

Aviso sobre o desenvolvimento de contratos inteligentes

O desenvolvimento de contratos inteligentes é relativamente fácil, mas o desenvolvimento seguro de contratos inteligentes não é. A menos que você tenha muita experiência em segurança, é altamente recomendável que alguém com conhecimento revise sua lógica e código antes de confiar em um aplicativo de missão crítica.

Por exemplo, quando escrevi o AB_Greetercontrato, primeiro usei apenas uma única variável para a saudação proposta e meu código ficou assim:

  function proposeGreetingA(string calldata _greeting) public {
    require(msg.sender == multisigA, "Only for use by multisig A");
    bytes32 _hashedProposal = keccak256(abi.encode(_greeting));

    if(_hashedProposal == proposedGreeting) {
      setGreeting(_greeting);
    } else {
      proposedGreeting = _hashedProposal;
    }
  }

Você consegue identificar o problema?

De fato, são necessárias duas aprovações para alterar a saudação. No entanto, a empresa A pode ligar proposeGreetingAduas vezes com a mesma saudação. A primeira chamada coloca o hash da nova saudação como proposta. A segunda chamada vê que o hash da nova saudação é idêntico à proposta e atualiza a saudação.

Se a proposta tivesse vindo da empresa B, tudo bem, mas aqui a proposta veio da empresa A, então isso é uma violação dos termos.

Para resolver essa questão, decidi utilizar duas propostas distintas, uma sob controle da empresa A e outra sob o controle da empresa B.

Não estou dizendo que a lógica do contrato atual é 100% segura. Se eu fosse usar isso em produção, pediria a outras pessoas para olharem primeiro. Os contratos inteligentes existem para permitir a cooperação sem confiança. Ao escrevê-los, você deve assumir que eles serão usados ​​em um ambiente hostil. A despesa de executar um contrato inteligente em vez de um programa mais convencional só se justifica se o ambiente for potencialmente hostil.

Conclusão (quando multisigs é a solução certa?)

Multisigs são uma solução simples para um problema simples – como obter permissões de um grupo quando todos os membros do grupo são iguais e a associação do grupo raramente muda.

Neste artigo, revisamos alguns mecanismos para estender essa funcionalidade, seja usando o multisig de maneira incomum (o proprietário com dois signatários) ou adicionando nossa própria lógica em um contrato inteligente separado (o cenário de duas empresas).

Se sua população de assinantes for dinâmica ou se você tiver muitas funções diferentes, cada uma com suas próprias permissões, um multisig pode não ser a solução ideal. Em vez disso, uma organização autônoma descentralizada pode ser uma opção melhor.

No entanto, se os requisitos de negócios que você precisa implementar forem tais que um multisig seja suficiente, essa é uma solução muito mais simples do que criar um DAO. Observe em nosso primeiro exemplo que não precisamos escrever nenhum código. Você também pode integrar multisigs em seus próprios aplicativos usando o SDK .

Fonte: https://blog.logrocket.com/security-choices-multi-signature-wallets/

#security #solidity 

What is GEEK

Buddha Community

Como Configurar Uma Carteira Multi-assinatura
Adaline  Kulas

Adaline Kulas

1594162500

Multi-cloud Spending: 8 Tips To Lower Cost

A multi-cloud approach is nothing but leveraging two or more cloud platforms for meeting the various business requirements of an enterprise. The multi-cloud IT environment incorporates different clouds from multiple vendors and negates the dependence on a single public cloud service provider. Thus enterprises can choose specific services from multiple public clouds and reap the benefits of each.

Given its affordability and agility, most enterprises opt for a multi-cloud approach in cloud computing now. A 2018 survey on the public cloud services market points out that 81% of the respondents use services from two or more providers. Subsequently, the cloud computing services market has reported incredible growth in recent times. The worldwide public cloud services market is all set to reach $500 billion in the next four years, according to IDC.

By choosing multi-cloud solutions strategically, enterprises can optimize the benefits of cloud computing and aim for some key competitive advantages. They can avoid the lengthy and cumbersome processes involved in buying, installing and testing high-priced systems. The IaaS and PaaS solutions have become a windfall for the enterprise’s budget as it does not incur huge up-front capital expenditure.

However, cost optimization is still a challenge while facilitating a multi-cloud environment and a large number of enterprises end up overpaying with or without realizing it. The below-mentioned tips would help you ensure the money is spent wisely on cloud computing services.

  • Deactivate underused or unattached resources

Most organizations tend to get wrong with simple things which turn out to be the root cause for needless spending and resource wastage. The first step to cost optimization in your cloud strategy is to identify underutilized resources that you have been paying for.

Enterprises often continue to pay for resources that have been purchased earlier but are no longer useful. Identifying such unused and unattached resources and deactivating it on a regular basis brings you one step closer to cost optimization. If needed, you can deploy automated cloud management tools that are largely helpful in providing the analytics needed to optimize the cloud spending and cut costs on an ongoing basis.

  • Figure out idle instances

Another key cost optimization strategy is to identify the idle computing instances and consolidate them into fewer instances. An idle computing instance may require a CPU utilization level of 1-5%, but you may be billed by the service provider for 100% for the same instance.

Every enterprise will have such non-production instances that constitute unnecessary storage space and lead to overpaying. Re-evaluating your resource allocations regularly and removing unnecessary storage may help you save money significantly. Resource allocation is not only a matter of CPU and memory but also it is linked to the storage, network, and various other factors.

  • Deploy monitoring mechanisms

The key to efficient cost reduction in cloud computing technology lies in proactive monitoring. A comprehensive view of the cloud usage helps enterprises to monitor and minimize unnecessary spending. You can make use of various mechanisms for monitoring computing demand.

For instance, you can use a heatmap to understand the highs and lows in computing visually. This heat map indicates the start and stop times which in turn lead to reduced costs. You can also deploy automated tools that help organizations to schedule instances to start and stop. By following a heatmap, you can understand whether it is safe to shut down servers on holidays or weekends.

#cloud computing services #all #hybrid cloud #cloud #multi-cloud strategy #cloud spend #multi-cloud spending #multi cloud adoption #why multi cloud #multi cloud trends #multi cloud companies #multi cloud research #multi cloud market

Ramya M

Ramya M

1608022599

Top 10 Multi vendor Marketplace Platform Providers 2022

Great evolution has happened in the buying and selling process due to the advent of ecommerce. There is exponential growth in the field of online business and selling and buying happens at the doorstep. The multi seller ecommerce platform has become the next level in the ecommerce niche.

The ecommerce marketplace platforms like Amazon, Flipkart, and eBay have already succeeded in the industry and have set a milestone on sales and revenue.

This fact has inspired many aspiring entrepreneurs and has made them transfer their brick and mortar stores to multi vendor platform.

What is Online Multi vendor Marketplace?

Multi vendor marketplace platform is connect a multiple sellere or vendors to display and sell their products through the platform by agreeing with the terms mentioned by the admin of the platform. They can have their way of promoting their products.

Here is a list of Top 10 Best Turnkey Multi vendor Marketplace Platforms:

Now that you have a better understanding of the key features for Multi vendor marketplace, let’s compare ten of the top Multi vendor providers.

1. Zielcommerce – All in One Multi vendor eCommerce Marketplace Platform

Visit Website

This is image title
Zielcommerce is a white label enabled enterprise grade online marketplace software. The multi vendor platform comes with a one time payment option and it is completely customizable and also scalable. 

Platform Highlights

  • The feature-rich UI and UX have never missed attracting the users towards the multi vendor ecommerce.
  • The platform is user-friendly and it is a perfect device compatible.
  • It’s a convenient marketplace solution that provides all round service required for a perfect multi vendor marketplace platform.
  • This also supports easy brand recognition and you can get more visitors to your ecommerce platform.

Zielcommerce provides its users with a secured environment through its SSL certified marketplace software and gains the trust of the users. You can be easily promoted online with this SEO-optimized platform. Stay connected with your customers all the time with the in-build communication channels.

The pleasing features of this multi vendor marketplacce solution

  • Multilingual and multiple currency support
  • Multiple payment options to facilitate buyers
  • Real-time tracking feature to track orders online
  • Wide delivery option for buyers’ convenience
  • A dedicated mobile application that will suit your business demands
  • Review and rating system to enhance the performance of the platform
  • 24/7 technical support from our end.

Best Use Cases

Client’s Rating

  • Ease of use: 4.5/5
  • Customer service – 4.7/5
  • Overall: 4.6/5

Explore Zielcommerce Multi vendor Ecommerce Platform

2. X-cart – a well-known multi vendor marketplace platform solution

This is image title
X-cart is a standalone online marketplace solution for your online business needs. You can get the complete comprehensive features within this multi vendor marketplace software that can meet the customers’ expectations. A genuine approach is maintained and the users trust X-cart for its outstanding functionalities that satisfy the multi vendor market demands.

Platform Highlights

  • Xcart stands alone in the market by providing best multi vendor marketplace solutions that will facilitate users to increase their online credibility.
  • If you prefer to build a multi vendor marketplace platform like amazon or eBay then Xcart is the perfect choice.

It has gained the trust of thousands of users and people who use Xcart as their online multi vendor marketplace software has given the best review about the product.

The salient features of this multi vendor ecommerce platform solution

  • One-time payment to purchase the marketplace software
  • In-built marketing and promotion tools to promote the multi vendor marketplace software
  • Trusted payment gateways integrated with the website
  • Reliable order management system.
  • On-time delivery management

Best Use Cases

  • Hyperlocal Ecommerce Platform
  • Jewellery e-commerce Store
  • Electronics Ecommerce Platform
  • Furniture Ecommerce Platform

Client’s Rating:

  • Ease of use : 3.5/5
  • Customer service – 3.4/5
  • Overall : 3.5/5

Explore Xcart Multi vendor Marketplace Software

3. Cs cart – a perfect multi vendor marketplace solution

This is image title

CS-Cart has never disappointed its users and it comes with the complete ecommerce marketplace solution for all your business demands. You can gain perfect control over the online multi vendor marketplace platform and can personalize the platform to suit your business needs. You will get higher visibility and can easily attract your target audience with the CS-Cart marketplace solution.

Platform Highlights

  • CS-cart is the most reliable best ecommerce marketplace platform that gives a user-friendly platform for the user.
  • The interface is easily understandable and no technical knowledge is needed to maintain the multi vendor marketplace software.

You can gain the attention of global audiences through its multilingual support and can take your brand all over the world and build a strong branding with the help of CS cart.

The key features of this multi vendor ecommerce website solution

  • SEO- friendly platform that will help you to get top ranking in all search engines.
  • Mobile –friendly and will get you more mobile users as your customers
  • Get genuine customer care support
  • Well-integrated with all third-party software.
  • The online multi vendor ecommerce platform will have social media logins

Best use cases

Client’s Rating :

  • Ease of use : 4.1/5
  • Customer service – 4.3/5
  • Overall :4.2/5

[Explore Cscart Online Marketplace Software](https://www.cs-cart.com “Explore Cscart Online Marketplace Software”)

4. Arcadier – Superlative Multi vendor marketplace platform

This is image title

Arcadier is the SaaS (Software-as-a-Service) provider that allows businesses, SMEs, local communities, government agencies and entrepreneurs to manage their online multi vendor marketplace platform more efficiently and affectionately. Arcadier has many attractive features that can grab the attention of vendors.

Platform Highlights

  • When you have multiple vendors only then you can call your platform as a best ecommerce marketplace platform.
  • This is quite easy when you go for Arcadier.
  • The genuine support that you get with this online multi vendor enterprise marketplace platform will retain your vendors and also your buyers and provides better multi vendor marketplace software to your business needs.

Apart from other SaaS online marketplace platforms on the market that offer a temporary solution for all purposes, Arcadier allows users to choose between multiple options in buying and selling products or services to rental spaces and other business models.

**The Prominent features of this online multi vendor marketplace software solution

  • The seller can manage to add variations to each listing, and also placing images and surcharges on each and every variant.
  • User-friendly platform to get the top ranking in all search engines.
  • Manually configure specific dates and hours of your ads on the calendar.
  • A Complete customer support assistance

Best Use Case

  • Clothing and accessories multi vendor ecommerce platform
  • Handicrafts Online marketplace platform
  • Hair stylist scheduling software
  • On demand movies online marketplace platform

**Client’s Rating: **

  • Ease of use : 3.2/5
  • Customer service – 3/5
  • Overall : 3.1/5

Explore Arcadier Multi vendor Marketplace Platform

5. Bigcommerce - Exquisite Multi Vendor Marketplace Software

Multi vendor Marketplace that converts your single admin online store into Multi vendor Marketplace. It provides of adding vendors and maintain the track record of their order and sales. Apart from vendor features, Bigcommerce gives best buyer features that will impress buyers and make them decide on buying products in your online multi vendor ecommerce platform.

Platform Highlights

  • Offers and discount features are available that will delight buyers and will make them refer more customers to your best ecommerce marketplace platform.
  • You can also easily retain your customers by keeping them about new arrivals and offers.
  • As a store admin, you have background access and control and manage the products, orders, vendors and their products.

It comes with an option which, without the approval of the vendor admin the product would not be visible in the forefront. This online multi vendor marketplace platform is excellent features and creating various plans for vendors, a payment management system for vendors.

Impressing features of this online multi vendor marketplace software solution

  • Flexible Functionality Product approval
  • An admin can have full access to the seller’s profile, products, manage
  • Synchronizing products and orders from the “Bigcommerce store” to the "market.
  • Without any issue, the admin can create a “Payment” for the seller, once a product is out of stock.

Best Use Case

  • best online salon scheduling software for salon owners
  • Educational books online marketplace platform
  • Food delivery multi seller ecommerce platform
  • Fashion and clothing ecommerce platform

Explore Bigcommerce Multi vendor Ecommerce Platform

6. IXXO - Ideal Multi Vendor marketplace software

This is image title
Ixxo is an ideal marketplace solution for those who want to open and manage a high-volume marketplace as IXXO online Multi Vendor ecommerce platform offers unlimited product and unlimited vendor capacity. The marketplace owners can configure vendor privileges purely based on vendors. this help the multi vendor marketplace software owner to provide the basic vendor features, where the vendors dont have much ecommerce experience and privileges.

Platform Highlights

This will ensure that the delivery is taking place in the right way. If there is any delay then through a proper messaging system the buyer will get intimation regarding the delay. This feature impresses the customer and makes the platform the best one.

Splendid features of this best ecommerce marketplace platform solution

  • Simple Checkout Process
  • A wide range of payment options
  • Responds promptly and friendlily.
  • Feature-rich provider dashboard.

Best Use Cases

**Client’s Rating: **

  • Ease of use : 4.1/5
  • Customer service – 4.3/5
  • Overall :4.2/5

Explore IXXO cart Online best marketplace softwarebest marketplace software

7. Sharetribe - Structured Multi vendor marketplace solutions

Sharetribe is one of the excellent SaaS platforms for building and launching a online multi vendor marketplace software. Easy setting changes to your color theme and photos, instantly.

Platform Highlights

  • It is merged with a integration process, the marketplace allows users to sell products or services online without any technical support.
  • Sharetribe has all in-built marketing tools that will easily promote your brand globally with less effort.

This online multi vendor marketplace platform gives a perfect shopping experience to customers and also satisfied selling experience to vendors. Users can trust sharetribe for their business requirement and can get a trustworthy marketplace solution that will leverage their business to greater levels.

Core features of this best ecommerce marketplace platform

  • It is a comprehensive tool for customizing your marketplace.
  • Responsive Design for users, optimized for every screen.
  • More conversions rate and decrease in bounce rate.
  • A comprehensive content management system to maintain an active market with visual content.

Best Use Cases

**Client’s Rating:**

  • Ease of use : 3.9/5
  • Customer service – 3.7/5
  • Overall :3.8/5

Explore Sharetribe Multi vendor Marketplace Software

8. Appdupe - Intuitive Multi vendor marketplace software

A online Multi vendor marketplace platform is an online marketplace where many sellers can sign up, create their profiles and add products and sell when they want. One of the best examples of multi vendor platforms right now is Amazon, and so on. Well, the ecommerce marketplace software has multiple benefits for its users and vendors.

Platform Highlights

  • Appdupe gives customers to share their reviews and give ratings for the product they have purchased.
  • Vendors can also read the reviews written by their customers and this will help them to enhance their online multi vendor marketplace platform in a better way.
  • Appdupe also supports multiple revenue models and users can select the one that perfectly suits their business and can get better returns with minimum investment.

Impressing feature of this best ecommerce marketplace platform

  • It provides a hassle-free process
  • Easily download and handle their products in a simple way.
  • Separate dashboard for seller and buyer data formatting may go all the way.
  • Analysis and enhanced the ROI

Best Use Cases

9. Miva - Outbreaking Multi vendor marketplace platform

Is a flexible multi seller ecommerce platform that can be easily modified as their business evolves with more conversions rate, better integrations, with complete solutions for all aspects of online sales, This online multi vendor marketplace software help them generate revenue and increasing the average order value and with less operating costs.

Platform Highlights

Miva suits to any business model and business size. This online multi vendor marketplace platform is very cost-effective and even a startup who plans to start an online store with minimum investment can easily go for Miva.

The online ecommerce marketplace software looks like it has been built from scratch. It inherits all essential features that are needed to run a multi vendor marketplace platform successfully. All you need is to buy the platform and launch the marketplace and can start earning instantly.

Intuitive feature of this best marketplace software

  • Admin can control and manage the review and approval of new products
  • Flexible commissions for every vendor sale based on subscription plans
  • Separate dashboard for a vendor to manage their own product listing
  • The separate seller has a unique profile on the marketplace and products limits based on membership plans

Best Use Cases

**Client’s Rating: **

  • Ease of use:4/5
  • Customer service – 3.7/5
  • Overall: 3.9/5

10. Quick eSelling – A Proven Multi vendor Marketpalce platform

Quick eSelling is a popular multi vendor online marketplace platform with upgrade features and a more comfortable platform for global merchants and seller to start their own online store. Quick eSelling is an online store feature for Customer Engagement and Retention. This platform has been designed to help you significantly increase your sales and save time.

Platform Highlights

  • Quick e-selling marketplace platform allows you to set commission plan for every individual vendor.
  • You can easily analyze their performance through proper analytics and reports.
  • You can boost the poor performing vendor by providing less commission percentage and boost their sale.

his will satisfy vendors and will make them stay with your best multi vendor marketplace software for a long time. You can get complete support from the technical team round the clock. Whenever customization needed the technical team will guide you in designing your own online multi seller ecommerce platform.

The essential feature of this Multi vendor marketplace software

  • SEO-friendly for ecommerce web development and essential to ensure high traffic
  • Vendors can check sales trends through graphs and data information inputs for building strategies
  • A secured platform for merchants and customers’ transitional communication.
  • It makes it easy for you to launch your online business effectively

Best Use Cases

  • Fashion and accessories marketplace platform
  • E-Book marketplace software
  • Food and beverages ecommerce platform
  • Jewellery online multi vendor ecommerce platform.

Client’s Rating:

  • Ease of use : 3.5/5
  • Customerservice – 3.3/5
  • Overall :3.4/5

11. Smartstore Z – a multifaceted marketplace platform

This is the most recommended online marketplace platform that holds thousands of active users. The advanced security feature supports users to store customers’ data in a secured way. The platform can stand against all malware attacks as it contains SSL certification.

Platform highlights

The extraordinary inventory management system will let sellers maintain their stock in an effective way. The order process will never be interrupted due to a shortage of stock. Proper notifications will be sent to respective sellers whenever their stock hits the minimum value.

This multi vendor software supports thousands of templates and plugins that can be used by users to customize their marketplace to meet their business demands. Being a user-friendly marketplace platform, no technical knowledge is needed to manage the platform. The dedicated dashboard will support the admin to know the exact working condition of their business.

Features of this multi vendor ecommerce marketplace platform.

  • The platform is perfectly scalable and supports future business expansion and can hold a huge customer database for a long time.
  • Buyers will be benefited as they can utilize multiple delivery options. They can select their convenient delivery slot and can order products.
  • Users can integrate their existing software that is used for their business operations with this multi vendor ecommerce platform as it supports any third-party API.
  • Sellers are allowed to have unlimited product listings that will help them to reach their customers easily.

 Best use cases

  • On-demand cab booking marketplace platform
  • Online ticket booking platform
  • Refurbished good selling platform
  • Hyperlocal multi vendor eCommerce platform

Client’s Rating: 

  • Ease of use: 3.8/5
  • Customer service – 3.4/5
  • Overall: 3.6/5

Smartstore Z is the most compatible multi vendor eCommerce store that will fit into any business model and business size.

5.     Brainview – a commendable online marketplace platform

Brainview has the most enchanting UI & UX that can gain the attention of your target audience and will make them buy products on your platform. Users can get globally connected as the marketplace supports multiple languages and multiple currencies. Advanced technologies are implemented just to provide a seamless shopping experience to customers.

Platform highlights

Excellent customer support is offered by this multi vendor platform and customers can have direct communication with the concerned seller and they can get more details about the product or service before they buy. This will reduce returns and refunds. Many customer-attracting features are available in this marketplace platform like loyalty programs, referral programs, and many more.

Acquiring more customers is not at all a challenge for this best multi vendor marketplace software. Several revenue streams like commission fee, subscription fee, affiliate modules, advertisements, and many more are integrated with this online marketplace platform.

Features of this multi vendor eCommerce platform

  • Supports a better authentication process that will avoid spam users entering the marketplace.
  • A dedicated mobile application is available and users of both Android and iOS can use and get a better user experience.
  • The platform offers multiple payment options that will facilitate customers to pay and buy online through secured payment gateways.
  • Customers can enjoy offers and discounts for all products they buy through this robust multi-vendor platform and this will motivate them to refer others to your marketplace.
  • Supports social media login and sharing as it benefits both sellers and buyers to login through social media credentials and share products in their social media pages.

Best use cases

  • Grocery eCommerce marketplace platform
  • Cosmetics and fashion accessories e-stores
  • Online movies download eCommerce platform
  • Hyperlocal multi-vendor eCommerce platform
  • Online jewelry marketplace platform

Client’s Rating: 

·       Ease of use: 4/5

·       Customer service – 4.2/5

·       Overall: 4.1/5

Brainview is the significant multi vendor eCommerce store that give 100% customization and scalability to users.

Types of Multi vendor Marketplace Platform

There are several types of multi vendor marketplace software in the market. One needs to understand all the types and should know to identify which type of marketplace platform suits his business well.

  • Vertical marketplace – this type of best marketplace software concentrates only on one particular service and you cannot find a wide range of services in these platforms. Etsy is a good example of a vertical marketplace where the platform sells handmade crafts alone.
  • Horizontal marketplace – this platform is opposite to a vertical marketplace where you can find several types of services under one roof. Amazon is a perfect example of this type of marketplace.
  • Product-based marketplace – you can find a wide range of products in this marketplace. The products can be physical goods or even digital goods. Amazon and Flipkart are the product-based marketplaces.
  • Service-based marketplace – service providers will list their services like plumbing, personal care, pest control, and many more. Upwork and Fiverr are service-based marketplaces.

Start a Ecommerce Business with the Best Marketplace Platforms Provider

The million-dollar question that has arisen in the minds of every budding entrepreneur is how to start a online multi vendor ecommerce platform. Full attention is needed while building a ecommerce marketplace software. It is not as simple as you think. Only through this multi vendor ecommerce platform, you are going to be recognized by the vendors and the buyers. This multi vendor platform is going to earn you money so it cannot have any flaws.

One way of building a online multi vendor marketplace software is to build it from scratch. First, you need to hire a reputed multi vendor ecommerce platform development company that has ample knowledge about this field. Then you need to explain to them about your requirements and expectations.

They will develop and will show you the demo. During the demo session, you can let them know your modifications and they will also clarify your doubts. At last, your multi seller ecommerce platform will be ready to launch and you can start promoting your multi vendor marketplace software.

The major fact to be noted is, when you build a online multi vendor ecommerce platform from scratch you need to wait for a long time and you need to spend more on the development. If you are okay with it then you can proceed. Else you have another option to go with.

Another option is buying ready made online multi vendor marketplace software that will have all the essential features that are required to run the platform successfully. The software will be tested and proved so there will not be any flaws. You can instantly launch the software after purchasing.

You can get an instant solution to building a multi vendor online marketplace software. This method is quite very cost-effective and it is highly advisable for the startups that are new to this field. You can also customize the software to suit your business needs.

Must have Features in a multi vendor marketplace Platform

The features that are built in the online multi vendor ecommerce platform will determine the user experience and will gain customer satisfaction. Now let us check out the comprehensive features that are too in a multi vendor ecommerce platform.

  • Easy customization – the buying behaviors of the customers keep changing so the multi vendor ecommerce website should keep changing over a while. So customization is a default expectation in any multi vendor ecommerce platform.
  • Advanced search and navigation tool – the best user-interface will provide easy navigation and will let the buyers find the product in a simple way.
  • Payment gateways – the online multi vendor ecommerce website should have multiple payment gateways integrated with it. This will provide more convenience to the buyers
  • Secured website – the online multi vendor ecommerce platform should have an SSL configuration and should provide a secured transaction to the buyers and the vendors.
  • Multi-lingual and multi-currencies support – for reaching a global audience the online multi vendor ecommerce website should support multiple languages and currencies.
  • Review and ratings – the buyers expect this feature to be in the online multi vendor ecommerce platform they purchase the product.
  • Simple checkout – a complicated checkout process will make the buyers abandon the site. You need to have hassle-free checkout procedures in your online multi vendor ecommerce platform.

Revenue generation channels on a multi vendor marketplace Platform:

The main objective of building a online multi vendor ecommerce platform is to earn profit and generate more sales. This will be the ultimate motive for any entrepreneur. We need to know what are the revenue sources that a multi vendor marketplace software provides to the admin of the platform.

  • Commission fee – this is a mutual agreement made between the admin and the vendor where the vendor agrees to pay a certain percentage of commission on all products he sells through the online best multi vendor marketplace software. The commission percentage can vary from vendor to vendor.
  • Subscription fee – the admin can set a subscription fee and can make the vendors subscribe with the online multi vendor marketplace software and become a paid member of the platform. The membership needs to be renewed over some time.
  • Listing fee – the vendors will be charged when they want their products to be listed on the marketplace solutions.
  • Advertisement fee – you can allot some space in your online ecommerce marketplace software for advertisement alone and can allow third-party to post their ads in the allotted space and you can charge them accordingly.\

How Products and Services are delivered in a multi vendor marketplace?

The multi vendor ecommerce platform will follow a hassle-free shipping and delivery process. This is where you can gain the maximum trust of your buyers and will also help you retain your customers effectively.

  • Once the order is placed by the buyer, the notification is sent to the concerned vendor from the multi vendor ecommerce platform.
  • The vendor will check the availability of the product and will arrange for shipping and delivery. In some cases, the admin of the online multi vendor ecommerce platform will take care of shipping and delivery.
  • The online multi vendor ecommerce platform will be integrated with shipping logistics and the logistic people will come and collect the product from the seller and will deliver it to the customers.
  • If a service is provided instead of a product then the service provider will get the notification and he will send his technical person to do the service to the customer place.

How it's Beneficial

Online buyers need a one-stop solution to fulfill all their demands. Without searching for several sites to buy several products, users can just visit one online store and find a variety of products and it is quite a time saving process. A single platform that contains several vendors and their products is called a multi vendor ecommerce platform.

With the evolution of technology, multi vendor marketplace platforms have taken a new dimension that can easily predict customers’ buying behavior. The key pillars involved in any multi vendor marketplace are the admin, vendors and buyers. The platform will act as a bridge to connect all of them and facilitate users to be benefited. Let us analyze the benefits of a multi vendor ecommerce platform in detail.

Conclusion

By all means, building best multi vendor marketplace software will surely benefit us and will let to get more returns. We should also accept the fact that there are many challenges that a online marketplace software will face at its early stage. But still the future of this industry is unbeatable and you can firmly set your mind in starting your own multi seller ecommerce platform.

Understanding the importance and the functioning of a online multi vendor marketplace software will help you to build a flawless multi vendor ecommerce software. When you build a multi vendor marketplace platform with utmost perfection then you can easily win the market and can gain your audience’s attention with less effort.

#multi seller ecommerce platform #multi vendor marketplace platform #multi vendor marketplace software #best multi vendor marketplace platform #multi vendor ecommerce platform #online multi vendor software

Lets Cms

Lets Cms

1652251420

Multivendor marketplace FREE Download Extension Module, Affiliate

Multi Vendor marketplace FREE Download Extension Module, Affiliate marketing Software : Multivendor marketplace is an e-commerce platform that allows multiple vendors to sell their products from one storefront. Multi-vendor marketplace provides a larger base of ready-to-buy customers to sellers.

Multi-Vendor sites are similar to shopping malls - A lot of sellers dealing in a similar set of products under one roof. Amazon, Alibaba, Etsy, Walmart, etc., are among the most popular multi-vendor marketplaces.
Some examples of best marketplace platforms are Amazon, Flipkart, Airbnb,  eBay, Paytm Mall, and Meesho.

Multi-Vendors Features  

Vendor Features
Customer can become Vendor.
Customer auto approved/ approval by admin.
Vendor can add and edit Store Information.
Vendor can add and edit Bank and PayPal Details.
Vendor can add visit our Store.
 

Admin Features
Admin can give the configuration settings as show in below list.
Admin can Enabled or Disabled Auto approved Vendor.
Admin can Enabled or Disabled Auto approved Product.
Admin can Enabled or Disabled Auto approved Category.
Admin can Enabled or Disabled Vendor can Add/Edit/Delete review.


If you want to know the price of Multi Vendor Ecommerce and any queries regarding settings, and features, you can contact us at -
Skype: jks0586,
Email: letscmsdev@gmail.com,
Website: www.letscms.com, www.mlmtrees.com,
Call/WhatsApp/WeChat: +91-9717478599.

Free Download Multi Vendor : https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=43196&filter_search=multivendor
Documentation : https://www.letscms.com/documents/opencart-multivendor-new.html
Visit Website : https://www.letscms.com/blog/multi-vendor
Install : https://www.youtube.com/watch?v=v-86z-gcdb4&list=PLn9cGkS1zw3S9ZBrqbBes7L5fy7VfI8aU

#marketplace #multi_vendor_ecommerce #free_download_mutivendor #ecommerce_multivendor #multivendor_shopping #ecommerce_module #multivendor_software #multi_vendor_opencart #Multi_Vendors_Features #multi_vendor_marketplaces

dia adalyn

1612009321

Get started with your online marketplace by building a multi-vendor e-commerce store

No matter what type of products you sell, we at Appdupe build a more in-depth customer engagement app for your business by delivering a multi-vendor e-commerce script development built on advanced technologies and user-centered design principles. Our dedicated team of designers, developers, analysts, testers, marketers connect with you and gather your requirements to deliver a robust and high-quality multi-vendor e-commerce marketplace store

Read More, https://www.appdupe.com/multi-vendor-ecommerce-script

#multi-vendor e-commerce script development #multi-vendor e-commerce script #multi-vendor e-commerce platform #multi-vendor marketplace script #multi-vendor e-commerce platform development #on-demand service marketplace script

Como Configurar Uma Carteira Multi-assinatura

As carteiras com várias assinaturas são contratos inteligentes que exigem o acordo de várias pessoas para realizar uma ação. Eles podem ser úteis para proteger ativos (usando separação de funções) ou para garantir que certas ações sejam tomadas apenas de acordo com os desejos do proprietário da multisig ou da maioria dos proprietários.

Este artigo se concentra em como fazer as melhores escolhas de design ao configurar um multisig e como evitar erros comuns. Veremos demonstrações de várias configurações multisig diferentes. Depois de configurar sua carteira multi-assinatura, você pode adicioná-la ao seu aplicativo .

Por que precisamos de multisigs?

Há muitos casos em que queremos que as ações sejam aprovadas por várias pessoas. Aqui estão alguns exemplos:

Propriedade dividida

Se um ativo pertence a várias pessoas em comum, especialmente um ativo on-chain, um contrato inteligente pode verificar se ele é usado apenas de acordo com os desejos dos proprietários. A blockchain também fornece uma trilha de auditoria que mostra quais proprietários aprovaram qualquer ação, portanto, é impossível para os proprietários fingirem posteriormente que não aprovaram.

Separação de deveres

Mesmo quando um ativo pertence a uma única entidade, as multisigs podem ser úteis para implementar a separação de funções . Quando várias pessoas são obrigadas a aprovar uma ação, tanto a fraude quanto os erros inocentes são muito menos prováveis. Nesses casos, a compensação é entre segurança (mais assinantes significam que você está mais seguro) e velocidade (mais assinantes significam que leva mais tempo para fazer qualquer coisa).

Trilha de auditoria

Há casos em que várias pessoas têm permissão para realizar uma ação, e só queremos saber quem executou a ação. Ao usar um multisig que requer apenas uma assinatura, podemos cobrir esse caso de uso sem os riscos de segurança associados a uma conta compartilhada.

Como funciona um multisig?

Entidades na blockchain, como um contrato multisig, só podem afetar diretamente outras entidades blockchain. As ações que um multisig pode controlar são, portanto, aquelas que podem ser realizadas chamando um contrato inteligente, como a transferência de tokens ERC-20 ou um NFT.

Multisigs têm vários endereços de assinatura que estão autorizados a realizar uma ação, individualmente ou quando aprovados por um grupo de tamanho específico. Cada endereço de assinatura é um endereço Ethereum diferente, normalmente derivado de uma frase de recuperação diferente e de propriedade de uma pessoa diferente. Mais adiante neste artigo, discutiremos as circunstâncias em que você pode querer dar a uma única pessoa o controle de mais de um endereço de assinante.

Tipos de multisigs

A maioria dos multisigs implementa um requisito M-of-N. Isso significa que há um total de N signatários, dos quais M precisa aprovar e assinar antes que a ação ocorra. Isso é chamado de multisig M/N; a razão de M para N é chamada de quorum quorum. Por exemplo, um multisig 3/5 teria cinco signatários, três dos quais precisariam concordar ou aprovar uma ação.

 

As compensações na configuração dos parâmetros de um multisig se resumem a compensações entre segurança, por um lado, e facilidade e disponibilidade, por outro.

  • Quanto mais sinalizadores você tiver (N alto) e quanto menos sinalizadores forem necessários (M baixo), mais fácil será encontrar as pessoas necessárias para realizar uma ação
  • Se você tiver menos signatários (baixo N), a chance de um erro ou um hack total ser aprovado deve ser reduzida
  • Exigir mais assinantes (M alto) pode se traduzir em mais supervisão e segurança aprimorada, mas se M for muito alto, você terá difusão de responsabilidade ; os principais atores podem presumir que outra pessoa está cuidando se uma aprovação deve ser feita

Demo: Criando uma carteira multisig

Para saber mais sobre o quorum multisig e comparar diferentes casos, vamos criar uma carteira para uma empresa com quatro gerentes. Em nosso exemplo, o multisig precisará ser acessado para alterar uma saudação. Veremos três configurações: sem multisig, 1/3 multisig e 2/4 multisig.

Obviamente, o objetivo deste exemplo é simplesmente demonstrar o multisig, não o contrato que ele controla. Em aplicações do mundo real, os contratos geralmente executam funções mais valiosas do que alterar uma saudação e geralmente limitam o número de indivíduos que podem fazer uma alteração.

Sem multiassinatura

Antes de chegarmos ao multisig, devemos configurar nosso ambiente de laboratório e o contrato de destino (o contrato que o multisig controla). O ambiente de laboratório é executado em cima da rede de teste Goerli . Se você precisar de Goerli test ETH, você pode obtê-lo nesta torneira .

Para nossa demonstração, usaremos um contrato inteligente simples chamado Greeter.sol , que implantei com o Hardhat . Você pode vê-lo aqui .

Para ver a saudação atual, abra Contrato > Ler contrato e expanda saudação .

Para modificar a saudação atual, abra Contrato > Gravar contrato . Em seguida, clique em Conectar ao Web3 para conectar-se à carteira. Depois de selecionar uma carteira das opções listadas, clique em setGreeting e digite a nova saudação. Em seguida, clique em Escrever e aprove o contrato na carteira.

Observe que, devido ao armazenamento em cache, depois de alterar a saudação, pode ser necessário recarregar o contrato algumas vezes antes de poder ver a nova saudação.

1/4 multisig (é necessária uma assinatura)

A demo multisig foi criada com Gnosis Safe , que é provavelmente a plataforma multisig mais comum.

Os endereços que estão autorizados a usar o multisig são todos derivados da senha: “dumb cart rally entry iron band man demise record moon erode green”

Os endereços são os seguintes:

  • 0x3646468082813B33BF7aab1b8333Aa01fEe8a386
  • 0x8c262b009B05e94D3ffF1Ce4cEa8Da0ba450c793
  • 0x126FE1acDB5A5101B80Dc68A0b0dc882BFeEe5A6
  • 0x0C48dfb3FAaFBCECF21f0D1F4e75E1fE6e731Ad6
  • 0x934003bC77b9D427c4a441eBef2086AA089Ed0C5
  • 0x9D5f666b29D0dd2397fDbc093fdaCAa0EF6e7377

Em cenários do mundo real, os endereços vêm de senhas exclusivas quando pertencem a pessoas diferentes. No entanto, fazer isso aqui exigiria que você (como leitor) saísse continuamente de uma senha e entrasse em outra ou usasse vários dispositivos. Para este treinamento, decidi que a conveniência supera a segurança, portanto, omitiremos as senhas exclusivas nesta demonstração.

Agora, vejamos um exemplo em que apenas os proprietários podem alterar a saudação. Neste exemplo, apenas uma assinatura é necessária para fazer uma alteração.

Vamos usar o mesmo Greeter.solcontrato. Em um aplicativo do mundo real, provavelmente implementaríamos Ownablee definiríamos o proprietário como multisig, mas o objetivo aqui é tornar as coisas o mais simples possível, não tão seguras quanto possível.

Quando um único signatário é necessário, você precisa propor e confirmar a transação.

  1. Navegue aqui com um navegador que tenha uma carteira com a senha especificada acima e conecte-se a um dos quatro primeiros endereços listados acima
  2. Clique em Nova transação e interação do contrato
  3. Cole o endereço do contrato com o qual você está tentando interagir:0x8A470A36a1BDE8B18949599a061892f6B2c4fFAb
  4. Observe que a ABI com as definições de como entrar em contato com o contrato é importada automaticamente; o código do contrato está disponível no Etherscan, então o Gnosis Safe pode recuperar o código
  5. Selecione o setGreetingmétodo e digite uma nova saudação
  6. Clique em Revisar e Enviar ; em seguida, aprove a transação na carteira
  7. Espere
  8. Depois que a transação for executada, vá para o contrato e expanda saudação para ver que a saudação foi alterada

2/4 multisig (duas assinaturas necessárias)

A seguir, vejamos um exemplo em que dois dos quatro proprietários devem assinar. Para esta demonstração, precisaremos fingir ser um segundo gerente e aprovar a transação para ter as duas assinaturas necessárias para que a transação ocorra.

Primeiro, siga as etapas do exemplo anterior, mas use este arquivo .

  1. Mude para um endereço diferente na carteira (um dos outros três aprovadores)
  2. Navegue aqui novamente; talvez seja necessário desconectar e reconectar no aplicativo para que o endereço correto apareça
  3. Clique na transação em Fila de transações
  4. Expanda a transação, clique em Confirmar para aprovar a transação e clique em Enviar
  5. Aprovar a transação na carteira

Agora, visualize a transação e verifique se a ação solicitada ocorreu (se a saudação realmente mudou):

  1. Navegue aqui e expanda saudação para ver que a saudação realmente mudou
  2. Para ver a transação, clique em Internal Txns e localize a transação mais recente entre o multisig (0x8f760d2fd9999d407b3c4b67555bf037ed5eb832) e o saudador (0x8a470a36a1bde8b18949599a061892f6b2c4ffab)
  3. Clique em Parent Txn Hash para ver a transação que alterou a saudação
  4. Observe que o segundo signatário está listado como a origem

Problemas potenciais com multisigs

As carteiras Multisig destinam-se a fornecer segurança adicional, mas ainda podem surgir problemas. Vejamos alguns exemplos.

Recursos bloqueados

A grande vantagem do blockchain é que não há uma autoridade central. No exemplo acima, ninguém pode aprovar uma transação do multisig, exceto pelo menos dois desses quatro endereços de gerente.

A grande desvantagem do blockchain é que não há uma autoridade central para substituir os contratos nos momentos em que isso se justifica. Por exemplo, no caso da morte de três signatários de um multisig 2/4, não haveria como o multisig liberar nenhum de seus ativos. Os ativos da carteira permaneceriam bloqueados para sempre.

Uma opção para fornecer um backup para esse tipo de cenário é fazer com que alguém em quem a empresa confie completamente (por exemplo, o proprietário) gere dois endereços adicionais e armazene suas senhas em envelopes invioláveis ​​em um local seguro. Um local fora do local, como o cofre do advogado ou da conta da empresa, geralmente é uma boa opção.

Substituição do proprietário

Em um multisig, todos os signatários são iguais. O problema é que às vezes queremos signatários mais iguais que os outros. Por exemplo, podemos querer que os gerentes de negócios possam fazer algo com uma assinatura adicional, mas que o proprietário possa fazer qualquer coisa.

Uma solução seria permitir que o endereço do proprietário acesse o contrato de destino diretamente, sem passar pelo multisig. Esta solução tem a melhor usabilidade, mas significa que não podemos confiar totalmente no multisig para auditoria.

Uma segunda opção é o proprietário gerar dois endereços a partir da senha e usar os dois endereços como signatários. Esta solução tem usabilidade mais limitada, mas pode ser uma opção melhor se parte do propósito do multisig for reduzir a chance de um erro por descuido e se as substituições do proprietário forem usadas como uma medida de emergência, em vez de parte do processamento diário.

Demo: Criando uma carteira multisig compartilhada

Agora, vejamos um cenário mais complexo, em que duas empresas colaboram e a função da carteira exige a aprovação de pelo menos um gerente de cada empresa.

Como todos os signatários são iguais em um multisig, precisamos escrever alguma lógica no contrato para atingir esse objetivo. Clique aqui para ver o contrato Solidity .

Vamos ver o que acontece quando a empresa A propõe uma nova saudação.

  1. Vá para o contrato e verifique a saudação atual
  2. Mude a carteira para um dos endereços do grupo A:
    • 0x3646468082813B33BF7aab1b8333Aa01fEe8a386
    • 0x8c262b009B05e94D3ffF1Ce4cEa8Da0ba450c793
    • 0x126FE1acDB5A5101B80Dc68A0b0dc882BFeEe5A6
  3. Navegue até o grupo A multisig
  4. Clique em Nova transação > Interação do contrato
  5. Digite o endereço do contrato:0x3e55E2DBDE169Fbf91B17e337343D55a7E0D728e
  6. Clique em proporGreetingA e proponha uma saudação
  7. Clique em Revisar e depois em Enviar
  8. Confirme a transação na carteira
  9. Vá para o contrato novamente e veja que a saudação não foi alterada

A seguir, vamos ver o que acontece quando a empresa B propõe uma saudação diferente. Essa etapa é necessária porque não basta ver que o contrato inteligente se comporta corretamente quando as pessoas seguem os procedimentos adequados. É igualmente importante garantir que o contrato permaneça seguro quando as pessoas não seguem um procedimento adequado.

  1. Mude a carteira para um dos endereços do grupo B:
    • 0x0C48dfb3FAaFBCECF21f0D1F4e75E1fE6e731Ad6
    • 0x934003bC77b9D427c4a441eBef2086AA089Ed0C5
    • 0x9D5f666b29D0dd2397fDbc093fdaCAa0EF6e7377
  2. Navegue até o grupo B multisig
  3. Clique em Nova transação > Interação do contrato
  4. Digite o endereço do contrato:0x3e55E2DBDE169Fbf91B17e337343D55a7E0D728e
  5. Clique em proporGreetingA e proponha uma saudação
  6. Veja se a revisão informa que a transação falhará (porque você não é membro do grupo correto); clique em Voltar
  7. Selecione a opção adequada para seu endereço atual, propGreetingB , e proponha uma saudação (certifique-se de selecionar uma saudação diferente daquela proposta pela empresa A)
  8. Clique em Revisar e depois em Enviar
  9. Confirme a transação na carteira
  10. Vá para o contrato novamente e veja que a saudação ainda não foi alterada

Agora, vamos ver o que acontece quando a empresa B propõe a mesma saudação que foi proposta pela empresa A.

  1. Tente proporGreetingB novamente, desta vez com a mesma saudação que você propôs como membro do grupo A
  2. Volte ao contrato, pela última vez, e veja se a saudação finalmente mudou

Vamos dar uma olhada no código do Solidity para ver como isso funciona:

/**
 *Submitted for verification at Etherscan.io on 2022-05-08
*/

//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;


contract AB_Greeter {
  string greeting;

Aqui estão os endereços dos multisigs:

  address multisigA;
  address multisigB;

Essas variáveis ​​contêm os hashes das saudações propostas.

Usar os hashes tem duas vantagens.

  • O armazenamento Ethereum é um recurso caro, dessa forma usamos menos
  • Quando armazenamos o hash só precisamos escrever uma palavra de 32 bytes por proposta

Se tivéssemos que armazenar cordas, elas poderiam ser muito mais longas e mais caras. Além disso, o Solidity não possui uma expressão embutida para comparar strings, portanto, a maneira mais fácil de comparar duas strings é comparar seus hashes. Usando hashes, calculamos o hash apenas uma vez para cada vez que chamamos proposeGreeting[AB].

  bytes32 proposedGreetingA = 0;
  bytes32 proposedGreetingB = 0;  

Para começar, precisamos da saudação, bem como dos endereços dos dois multisigs:

  constructor(string memory _greeting, 
              address _multisigA, 
              address _multisigB) {
    greeting = _greeting;
    multisigA = _multisigA;
    multisigB = _multisigB;
  }

As funções greete setGreetingsão as mesmas do Greeter.solcontrato que usamos anteriormente.

  function greet() public view returns (string memory) {
    return greeting;
  }

  function setGreeting(string memory _greeting) internal {
    greeting = _greeting;
  }

Esta é a função de propor uma nova saudação.

  function proposeGreetingA(string calldata _greeting) public {

multisigAé permitido propor saudações como empresa A; qualquer outra fonte será rejeitada.

    require(msg.sender == multisigA, "Only for use by multisig A");
    bytes32 _hashedProposal = keccak256(abi.encode(_greeting));

Se a empresa B já propôs o que a empresa A está propondo agora, atualizamos a saudação assim:

    if(_hashedProposal == proposedGreetingB)    
      setGreeting(_greeting);

Caso contrário, registramos isso como saudação proposta pela empresa A:

    else
      proposedGreetingA = _hashedProposal;
  }

É importante perceber que essa não é a maneira ideal de atingir esse objetivo porque multisigAé 1/3, portanto, qualquer um dos gerentes da empresa A poderia mudar o multisig e tirar a capacidade dos outros dois signatários de propor ou aprovar qualquer coisa.

Uma política mais sensata seria ter outro multisig, talvez um 2/3, para esse tipo de operação sensível. No entanto, o objetivo deste exemplo é ensinar, então vamos optar pela simplicidade sobre a segurança.

No código abaixo especificamos que multisigApode mudar para um novo multisig se isso for necessário.

  function changeMultisigA(address _newMultiA) public {
    require(msg.sender == multisigA, "Only for use by multisig A");    
    multisigA = _newMultiA;
  }

As funções da empresa B são a imagem espelhada das da empresa A.

 function proposeGreetingB(string calldata _greeting) public {
    .
    .
    .
  }

  function changeMultisigB(address _newMultiB) public {
    .
    .
    .
  }
}

Aviso sobre o desenvolvimento de contratos inteligentes

O desenvolvimento de contratos inteligentes é relativamente fácil, mas o desenvolvimento seguro de contratos inteligentes não é. A menos que você tenha muita experiência em segurança, é altamente recomendável que alguém com conhecimento revise sua lógica e código antes de confiar em um aplicativo de missão crítica.

Por exemplo, quando escrevi o AB_Greetercontrato, primeiro usei apenas uma única variável para a saudação proposta e meu código ficou assim:

  function proposeGreetingA(string calldata _greeting) public {
    require(msg.sender == multisigA, "Only for use by multisig A");
    bytes32 _hashedProposal = keccak256(abi.encode(_greeting));

    if(_hashedProposal == proposedGreeting) {
      setGreeting(_greeting);
    } else {
      proposedGreeting = _hashedProposal;
    }
  }

Você consegue identificar o problema?

De fato, são necessárias duas aprovações para alterar a saudação. No entanto, a empresa A pode ligar proposeGreetingAduas vezes com a mesma saudação. A primeira chamada coloca o hash da nova saudação como proposta. A segunda chamada vê que o hash da nova saudação é idêntico à proposta e atualiza a saudação.

Se a proposta tivesse vindo da empresa B, tudo bem, mas aqui a proposta veio da empresa A, então isso é uma violação dos termos.

Para resolver essa questão, decidi utilizar duas propostas distintas, uma sob controle da empresa A e outra sob o controle da empresa B.

Não estou dizendo que a lógica do contrato atual é 100% segura. Se eu fosse usar isso em produção, pediria a outras pessoas para olharem primeiro. Os contratos inteligentes existem para permitir a cooperação sem confiança. Ao escrevê-los, você deve assumir que eles serão usados ​​em um ambiente hostil. A despesa de executar um contrato inteligente em vez de um programa mais convencional só se justifica se o ambiente for potencialmente hostil.

Conclusão (quando multisigs é a solução certa?)

Multisigs são uma solução simples para um problema simples – como obter permissões de um grupo quando todos os membros do grupo são iguais e a associação do grupo raramente muda.

Neste artigo, revisamos alguns mecanismos para estender essa funcionalidade, seja usando o multisig de maneira incomum (o proprietário com dois signatários) ou adicionando nossa própria lógica em um contrato inteligente separado (o cenário de duas empresas).

Se sua população de assinantes for dinâmica ou se você tiver muitas funções diferentes, cada uma com suas próprias permissões, um multisig pode não ser a solução ideal. Em vez disso, uma organização autônoma descentralizada pode ser uma opção melhor.

No entanto, se os requisitos de negócios que você precisa implementar forem tais que um multisig seja suficiente, essa é uma solução muito mais simples do que criar um DAO. Observe em nosso primeiro exemplo que não precisamos escrever nenhum código. Você também pode integrar multisigs em seus próprios aplicativos usando o SDK .

Fonte: https://blog.logrocket.com/security-choices-multi-signature-wallets/

#security #solidity