Há pouco mais de três anos, quando entrei na BitGo, o Bitcoin Cash ainda não havia se separado, nem o SegWit havia sido ativado. As carteiras eram mais simples, as transações de consolidação eram, em grande parte, teóricas e havia menos conhecimento sobre o agrupamento de pagamentos. Havia períodos ocasionais de congestionamento, mas a alta do preço até US$ 20.000 no final do ano causaria as maiores filas de transações que a rede Bitcoin já viu até hoje.

Mempool UTXO

Tamanho do mempool em MB, outubro de 2017 - janeiro de 2018. As cores indicam faixas de taxa de comissão. O nó completo de onde os dados foram obtidos não impõe um limite de tamanho para o mempool. O gráfico mostra um acúmulo de transações superior a 300 MB, o equivalente a mais de dois dias de blocos. Via https://jochen-hoenicke.de/queue

Desde o início de dezembro até o final de janeiro, as taxas de transação nunca caíram abaixo de 40 satoshi por byte. Durante a maior parte desse período, as taxas ficaram bem acima de 100 satoshi por byte, com apenas uma breve pausa de alguns dias por volta da véspera de Ano Novo. Várias vezes, a fila de transações da rede excedeu o tamanho padrão do pool de memória (mempool), fazendo com que a maioria dos nós expulsasse as transações com as taxas mais baixas - às vezes a ponto de todas as transações abaixo de 100 satoshi por byte terem sido expulsas. As taxas do próximo bloco atingiram um pico superior a 1.000 satoshi por byte em 22 de dezembro de 2017.

Mempool UTXO

Tamanho do mempool em MB, dezembro de 2017. Os dados obtidos de nós completos utilizam o limite padrão do mempool de 300 MB. O gráfico mostra a remoção de todas as transações com valor inferior a 100 satoshi/vB do mempool deste nó em 22 de dezembro de 2017. Via https://jochen-hoenicke.de/queue

A adoção do SegWit mal havia começado; muitas carteiras ainda criavam transações usando uma seleção simplista de moedas; praticamente nenhuma oferecia suporte nativo ao aumento de taxas do tipo "child-pays-for-parent" (CPFP); e os conjuntos de saídas de transações não gastas (UTXO) de muitas carteiras haviam se tornado extremamente fragmentados. Como as transações ficavam paralisadas por semanas, os serviços eram inundados com solicitações de suporte, mesmo com o pagamento de taxas exorbitantes por essas transações. Algumas carteiras corporativas ficaram completamente sem UTXOs confirmadas. Para inúmeras carteiras, a maioria de suas UTXOs era praticamente impossível de ser gasta: o custo de gastar as UTXOs excedia seus respectivos valores. Em resumo, o gerenciamento de UTXOs ainda não era algo muito desenvolvido. Nem o software das carteiras nem os operadores de carteiras estavam preparados para um evento de taxas dessa magnitude.

O conjunto de UTXOs disparou de 50 milhões em outubro de 2017 para mais de 64 milhões em meados de janeiro de 2018. Após o acúmulo de transações pendentes ter diminuído, ficou evidente uma maior valorização das melhores práticas de operação de carteiras. Muitos operadores de carteiras aproveitaram o período de relativa calma que se seguiu para consolidar suas carteiras, reduzindo o conjunto de UTXOs de volta para 51 milhões em março de 2018.

Embora ainda haja espaço para melhorias, as carteiras corporativas evoluíram bastante desde 2017. No estudo de caso a seguir, apresento duas configurações comuns de carteiras para operações corporativas e discuto como a BitGo colaborou com nossos clientes para reduzir os gastos com taxas.

Configuração: Carteira quente apenas para envio

Send only hot wallet

Carteira quente apenas para envios: os saques para destinatários externos são enviados a partir da carteira quente. Os depósitos de terceiros são recebidos em uma carteira intermediária, que está restrita a enviar apenas para a carteira quente (ou para um armazenamento frio opcional, não ilustrado).

Esse tipo de configuração envolve pelo menos duas, geralmente três carteiras.

  • Uma carteira quente usada exclusivamente para enviar

  • Uma carteira quente usada para receber fundos

  • Uma carteira fria opcional utilizada para armazenar a maior parte dos fundos da organização

Sempre que a carteira ativa fica com poucos fundos, ela é reabastecida com fundos da carteira intermediária. Os fundos excedentes da carteira intermediária são transferidos para o armazenamento frio. Se tanto a carteira intermediária quanto a ativa ficarem com poucos fundos, os fundos da carteira fria podem ser transferidos para a carteira ativa. Usuário típico: corretoras, serviços de empréstimo

Vantagens

  • Segurança robusta para grandes depósitos


    Os depósitos vão diretamente para a carteira quente, que pode ser configurada para permitir apenas transferências para a carteira quente e a carteira fria, além de exigir aprovação para realizar transferências.

  • Gerenciamento simples de saldos não gastos na Hot Wallet


    Como a carteira quente apenas realiza envios, a gestão dos saldos não utilizados resume-se a manter fundos suficientes e um número suficientemente alto de saldos não utilizados. Por outro lado, os fundos na carteira intermediária podem ser consolidados com baixa preferência temporal.

Desvantagens

  • Pool UTXO homogêneo na carteira Send


    Como todos os fundos na carteira de destino são saídas de troco de envios anteriores ou foram depositados na carteira por meio de recargas, a carteira não apresenta uma grande variação nos valores das UTXO. Isso é desvantajoso para a construção de transações, no sentido de que fica mais difícil evitar a geração de troco. Praticamente todo pagamento resultará na criação de uma saída de troco. Essa desvantagem pode ser amplamente mitigada agrupando-se os pagamentos e, assim, reduzindo o número de saídas de troco por pagamento.

  • Transações adicionais para disponibilizar fundos para envio


    Como todos os fundos são recebidos inicialmente nas carteiras frias, eles devem ser redirecionados para a carteira quente antes de ficarem disponíveis para uso. Mesmo quando os fundos são consolidados para a transferência, são criadas saídas de transação adicionais em comparação com um modelo em que os fundos são recebidos diretamente na carteira quente.

Desafios

  • Número elevado de pagamentos


    Como a carteira remetente geralmente possui um número bastante baixo de saldos não gastos, enviar apenas um único pagamento por transação pode esgotar rapidamente os fundos confirmados na carteira. Em tais casos, já observamos no passado que algumas carteiras geravam cadeias muito longas de transações não confirmadas. Cadeias longas de transações não confirmadas farão com que, em determinado momento, as transações posteriores não sejam enviadas à rede, uma vez que os nós de Bitcoin, por padrão, não retransmitem cadeias de transações não confirmadas com mais de 25 transações.

  • Atrasos nos blocos ou pico na saída


    Como a carteira quente contém apenas os fundos necessários, alguns blocos lentos ou um aumento acentuado nas saídas podem, às vezes, esgotar rapidamente os fundos confirmados na carteira.

Recomendações

  • Manter fundos suficientes


    Mantenha fundos suficientes na carteira quente para suportar picos de tráfego por pelo menos três horas. Estatisticamente, o Bitcoin tem um bloco de 1 hora por dia. Isso costuma criar um pequeno acúmulo que pode atrasar a confirmação de algumas transações. Portanto, é importante recarregar a carteira com antecedência e manter fundos suficientes para superar um período de congestionamento.

  • Processamento em lotes


    O envio de vários pagamentos em uma única transação simplifica e reduz o número de transações da carteira. Como o conjunto de entradas, o cabeçalho da transação e a sobrecarga das saídas de troco são compartilhados entre os pagamentos, e o número de saídas de troco criadas é reduzido, isso pode diminuir o taxas de transação por pagamento de até 80%.

    Uma carteira apenas para envio que utiliza o agrupamento de transações consegue contornar pequenos congestionamentos com facilidade, mesmo com apenas algumas centenas de UTXOs. Para que o agrupamento valha a pena, as transações devem procurar abranger pelo menos cinco a dez pagamentos. Dependendo da quantidade de pagamentos realizados pela carteira e da rapidez com que os pagamentos devem ser enviados à rede, observamos que intervalos de agrupamento de um a quinze minutos funcionam bem. Recomendamos começar com um intervalo de agrupamento de cinco minutos e ajustar a partir daí.

  • Divisão de troco


    Como o conjunto de UTXOs de uma carteira apenas para envios é composto exclusivamente por saídas de recarga e troco, é essencial, para um funcionamento tranquilo, que os UTXOs de grande valor sejam rapidamente divididos em um número maior de transações. A BitGo faz isso automaticamente para carteiras com alto volume de transações. No entanto, ao agrupar pagamentos, o número de UTXOs deve ser mantido em um nível mais baixo para evitar a divisão excessiva.

  • Consolidar a carteira de clientes em potencial


    Como nem todos os fundos na carteira ativa precisam estar disponíveis imediatamente, é possível realizar regularmente transações de consolidação com taxas baixas para agrupar os UTXOs menores em unidades maiores e, assim, reduzir o custo futuro de reabastecimento da carteira ativa.

  • Endereços de mudança nativos do SegWit

    Como uma carteira apenas para envio recebe fundos exclusivamente de sua própria organização, ela pode mudar imediatamente para endereços SegWit nativos, mesmo que isso possa não ser viável no lado receptor da operação. Os endereços multisig segwit nativos (p2wsh) são um pouco mais caros para enviar do que os p2sh, mas também mais baratos para gastar. No caso da multisig 2-de-3 usada pela BitGo, a mudança de endereços wrapped para endereços segwit nativos reduz as taxas da carteira em aproximadamente 15%.

Benefícios da BitGo

  • Seleção de verbas não utilizadas sensíveis às taxas


    A seleção de moedas da BitGo leva em consideração o nível atual das taxas. Quando as taxas são baixas, a seleção de moedas não gastas da BitGo permite conjuntos de entradas maiores para consolidar UTXOs menores; por outro lado, ela prefere conjuntos de entradas menores quando as taxas são mais altas. O efeito dessa seleção sensível às taxas é menos pronunciado em carteiras destinadas exclusivamente ao envio, uma vez que estas tendem a já possuir conjuntos de UTXOs bastante homogêneos.

  • Melhoria na divisão de troco


    A divisão automática de troco da BitGo distribui o troco por uma gama de valores. Isso tornou a divisão de troco mais conservadora na criação de UTXOs adicionais para a carteira e aumenta a variação de valores entre os UTXOs da carteira. Uma maior variação entre os UTXOs da carteira aumenta a chance de encontrar um conjunto de entradas pequeno que evite o troco.

Estudo de caso: Carteira apenas para envio: "SatSource"

A SatSource possui uma carteira apenas para envios. Por ser uma empresa nova com baixo volume inicial, ela envia uma transação separada para cada destinatário. À medida que o volume de pagamentos aumenta, a SatSource percebe que, às vezes, sua carteira fica sem fundos confirmados em caso de blocos longos ou picos na demanda por saques.

A SatSource passa a utilizar pagamentos em lote. Antes da implementação dos pagamentos em lote, cada saída de destinatário gerava uma sobrecarga de, no mínimo, uma entrada de transação, uma saída de troco e o cabeçalho da transação. Isso se traduz em um peso de transação por pagamento de 215 bytes virtuais (vB) ou mais. Agora, ao agrupar três pagamentos em uma única transação, esse custo indireto é dividido para cerca de 93 vB por pagamento, reduzindo o custo por pagamento em aproximadamente 57%. À medida que a base de usuários da empresa cresce, o tamanho do lote aumenta com o tempo - para cerca de nove pagamentos por transação. O peso da transação cai para ~52 vB por pagamento, resultando em uma redução de custo por pagamento de aproximadamente 76% em relação ao valor original de um pagamento por transação.

Como o agrupamento em intervalos regulares tornou o ritmo das transações muito mais previsível, a SatSource consegue diminuir o número de entradas não gastas mantidas em sua carteira. Isso reduz o tamanho médio do conjunto de entradas, o que resulta em mais uma ligeira redução nas taxas de transação.

Ao analisar as contas da SatSource, a BitGo recomenda que a empresa comece a usar endereços de troco nativos do SegWit. Apesar do aumento do peso da saída de 32 bytes para 43 bytes, as entradas das transações pesam apenas 105 bytes em vez de 140 bytes, resultando em uma redução adicional de 13% nas taxas. Mesmo com uma carteira apenas para envio, cerca de 3,5% das transações da SatSource evitam a criação de saídas de troco. Com 1.000 transações por dia, isso significa uma economia de cerca de 5 kB de dados de transação diariamente, o que se traduz em uma economia de aproximadamente 1% nas taxas de transação.

De modo geral, as carteiras apenas para envio se beneficiam significativamente do agrupamento de transações e da adoção de formatos de endereço mais eficientes para saídas de troco. O SatSource conseguiu uma redução total de suas taxas de transação de quase 80%.

Configuração: Carteira quente para envio e recebimento

Setup- Send-and-Receive Hot Wallet

Carteira ativa para envios e recebimentos: A carteira ativa recebe depósitos e processa saques. Quando o saldo da carteira ativa está baixo, ela é reabastecida a partir de uma carteira intermediária; da mesma forma, os fundos excedentes da carteira ativa são transferidos para a carteira intermediária. Esse tipo de configuração envolve pelo menos duas, geralmente três carteiras.

  • Uma carteira quente usada para enviar e receber

  • Uma carteira fria que armazena fundos adicionais para a carteira quente

  • Uma carteira fria opcional que armazena a maior parte dos fundos

Quando a carteira ativa tem fundos em excesso, estes são transferidos para a carteira intermediária; quando a carteira ativa fica com poucos fundos, ela é reabastecida a partir da carteira intermediária. Os fundos excedentes da carteira intermediária são transferidos para o armazenamento frio.

Usuário típico: Plataforma de negociação, serviço de carteira de custódia

Vantagens

  • Reabastecimento automático


    Os depósitos vão diretamente para a carteira quente, compensando em grande parte os saques. Isso reduz o número de operações de reabastecimento, que muitas vezes exigem aprovação manual, e diminui o número de transações adicionais realizadas para a gestão interna dos fundos.

  • Reserva heterogênea não utilizada


    Como a carteira quente recebe depósitos diretamente, a composição do pool de UTXOs tende a apresentar uma variedade mais ampla de valores não gastos. Isso aumenta o espaço combinatório para a seleção de conjuntos de entradas e aumenta o número de transações sem troco.

Desvantagens

  • Gestão de verbas não utilizadas, potencialmente mais complexa


    Como esse tipo de carteira costuma receber um número maior de transações de entrada do que de saída, há aspectos muito mais amplos a serem considerados para se alcançar uma gestão ideal dos saldos não gastos.

  • Conjuntos de dados de entrada, em média, maiores


    Como o valor médio recebido tende a ser muito menor do que os valores necessários para os conjuntos de entradas de saques em lote, as carteiras de envio e recebimento tendem a utilizar um conjunto médio de entradas maior em taxas de transação elevadas, ao contrário das carteiras apenas de envio, que são reabastecidas com fundos consolidados.

Desafios

  • Elevado volume de transações recebidas


    Como as carteiras quentes de envio e recebimento costumam ser utilizadas em cenários de varejo com alto volume de tráfego, elas frequentemente enfrentam um excesso de transações recebidas. Por exemplo, observamos carteiras na BitGo com proporções de transações recebidas para enviadas de até 20 para 1. Como cada transação recebida gera pelo menos uma saída de transação não gasta, esse tipo de tráfego pode rapidamente inflar uma carteira para centenas de milhares de UTXOs.

  • Custo elevado das taxas


    As carteiras de envio e recebimento frequentemente têm seus fundos distribuídos por tantas saídas de transação não gastas que precisam usar várias entradas para pagar essas saídas. Como as transações costumam ser urgentes, as carteiras operam com metas de bloco baixas, buscando a inclusão nos próximos dois blocos. As taxas de transação podem consumir uma parte significativa da receita.

Recomendações

  • Consolidações periódicas

    Especialmente para carteiras com um excesso de transações recebidas, recomendamos consolidar regularmente os saldos não gastos para evitar o aumento excessivo do pool de saldos não gastos. Embora a existência de uma certa variedade de valores não gastos beneficie a seleção de saldos para o envio de transações, a maior economia em taxas é obtida através da consolidação de todos os saldos não gastos menores. A consolidação regular pode ser implementada como uma tarefa cron de hora em hora que cria uma transação de consolidação se houver mais de 200 valores não gastos menores que 1 mBTC (100.000 satoshis). As transações de consolidação podem ser criadas com a taxa mínima padrão atual de transação de retransmissão de 1.000 satoshis por kvB, que nos últimos meses tem sido normalmente liquidada pelo menos uma vez por dia. Em momentos de congestionamento, múltiplos pequenos dessa taxa podem fazer com que as transações de consolidação sejam confirmadas dias antes, já que a faixa de transações de 1.000-2.000 satoshis por kvB pode crescer para dezenas de MvB.

    Um processo de consolidação automático deve ser pausado quando houver um número limitado de transações de consolidação em andamento. Imobilizar muitos fundos em transações de consolidação reduz a flexibilidade da carteira com poucos benefícios. Quando ocorre um acúmulo maior de transações, o operador da carteira pode optar por consolidar com uma taxa de transação mais alta, o que é inviável quando os fundos já estão imobilizados. Vimos algumas carteiras operando com orçamentos menores ficarem sem fundos líquidos devido ao bloqueio de muitos recursos em transações de consolidação em atraso. Uma maneira de evitar a falta de fundos é restringir a consolidação não apenas a um valor máximo não gasto, mas também a uma idade mínima, por exemplo, abaixo de 1 mBTC e pelo menos 2.000 confirmações.

    Os parâmetros ideais dependem muito dos padrões de gastos da carteira e podem variar até valores de 0,1 BTC, diferentes limites de idade e podem incluir diferentes taxas de consolidação para diferentes faixas de valor não gasto, a fim de disponibilizar maior liquidez mais rapidamente.

  • Manter o desvio de valor


    Uma variedade de valores não gastos é útil para obter melhores resultados na seleção de valores não gastos. Dependendo do perfil de tráfego da carteira, um bom tamanho para o conjunto de valores não gastos costuma ficar entre 200 e 5.000 UTXOs. Se seus fundos estiverem muito consolidados, você pode ficar sem fundos não confirmados quando ocorrerem simultaneamente um bloco lento e um pico de tráfego, ou acabará criando saídas de troco que poderiam ter sido evitadas com conjuntos de entradas que correspondessem exatamente.

  • Processamento em lotes


    Conforme descrito acima para carteiras exclusivamente de envio, agrupar vários pagamentos em uma única transação reduz o número de transações de saída, a quantidade de fundos em trânsito para saídas de troco e as taxas de transação gerais em até 80%. Naturalmente, o agrupamento aumenta a proporção entre transações de entrada e de saída; portanto, ele deve ser complementado com consolidações regulares nas carteiras de envio e recebimento para conter o aumento excessivo do pool de UTXO.

Benefícios da BitGo

  • Endereços eficientes


    As carteiras BitGo permitem o uso de endereços SegWit nativos. Gastar fundos recebidos em um endereço SegWit nativo é 25% mais barato - 105 vB em vez de 140 vB. Mesmo que a mudança para endereços SegWit nativos em todas as transações recebidas não seja possível imediatamente, pelo menos a mudança para endereços SegWit nativos nas saídas de troco poderia resultar em uma redução de custos de até 15% nessas saídas.

  • Seleção de verbas não utilizadas sensíveis a taxas


    A seleção de UTXOs não gastos da BitGo foi aprimorada para levar em consideração o nível atual das taxas de transação. Quando as taxas são baixas, as carteiras da BitGo permitem um número maior de entradas e dão preferência a UTXOs com formatos de endereço menos eficientes. Por outro lado, com taxas mais altas, o software buscará criar conjuntos de entradas com menos transações não gastas de maior valor e dará preferência a formatos de endereço com menor peso. Como as taxas na rede Bitcoin estão em constante mudança, isso transfere parte do uso do espaço de bloco para momentos em que ele é mais abundante e mais barato. No geral, isso reduz significativamente as taxas totais e diminui continuamente o tamanho do pool de UTXOs.

  • Resistência à mudança


    A seleção de saídas não gastas da BitGo procura escolher conjuntos de entradas que correspondam exatamente aos valores de destino das transações. As transações construídas dessa maneira reduzem as taxas gerais de transação, pois são menores, evitando a criação de saídas de troco e, além disso, evitando o custo futuro de gastar essas saídas de troco posteriormente.

  • Divisão de troco


    Quando a divisão do troco nas transações da BitGo é dividida em várias partes, as saídas ficam distribuídas por uma faixa de valores. Como cada saída é maior, isso faz com que a divisão do troco seja mais conservadora na criação de saldos não gastos adicionais para a carteira e ajuda a aumentar a variação de valores entre os saldos não gastos da carteira. Uma maior variação entre os saldos não gastos da carteira facilita que os conjuntos de entradas para evitar troco sejam selecionados com mais frequência.

Estudo de caso: Envio e recebimento com carteira quente: "TradeCorp"

A TradeCorp é uma empresa que utiliza uma configuração de carteira quente para envios e recebimentos. Como plataforma de negociação consolidada, ela registra cerca de 500 depósitos e 400 transações de saída por dia. No início deste cenário, a carteira acumulava cerca de 63.000 unidades não gastas e adicionava aproximadamente mais quinhentas unidades não gastas por semana. A TradeCorp processa os saques em lotes uma vez por minuto e decidiu não utilizar transações de consolidação.

Como a função de seleção de saldo não gasto da BitGo está ativada na carteira, esta gera 93% de transações sem troco nas primeiras quatro semanas. Só o fato de evitar a geração de troco já evita que dados equivalentes a cerca de 0,45 blocos de Bitcoin por semana sejam enviados para a cadeia de blocos. No mesmo período, o saldo não gasto da carteira, que antes apresentava crescimento, passa a diminuir em 20%.

Após alguns meses, a carteira fica com menos de 500 UTXOs não gastos. A carteira apresenta agora um valor médio de UTXO muito mais alto, uma vez que mantém uma quantia semelhante de fundos distribuída por uma fração do número de UTXOs não gastos, o que reduz significativamente o tamanho médio do conjunto de entradas nas transações da TradeCorp. Estimamos que a desfragmentação do conjunto de UTXOs, por si só, reduza as taxas totais de transação em mais de 50%.

Mesmo após a consolidação dos fundos, a carteira atinge uma média de 58,5% de transações sem alterações ao longo de três meses e 35 mil transações, gerando uma economia de cerca de 20% nas taxas de transação. A seleção de UTXOs não gastos, sensível às taxas, faz com que o conjunto médio de entradas em taxas baixas seja cerca de 1,4 vezes maior do que os conjuntos de entradas em taxas mais altas. Considerando que cerca de 32% das transações ocorrem com taxas baixas, quase 45% dos dados de entrada da carteira ocorrem com taxas baixas. Essa mudança para gastar mais UTXOs com taxas mais baixas reduz os gastos gerais com taxas da carteira em pelo menos 13%. Nesse ponto, a TradeCorp inicia a transição para endereços de depósito segwit nativos. A carteira agora está usando cerca de 19,4% de entradas SegWit nativas, gerando uma economia adicional de 5% no espaço de bloco.

De modo geral, o maior impacto nessa carteira ativa específica de envio e recebimento decorreu da consolidação de seus fundos. A carteira se beneficiou significativamente da redução de trocos e da seleção de saldos não gastos com foco nas taxas, e, em menor grau, de formatos de endereço mais eficientes, resultando em uma redução total de mais de 65% nas taxas de transação. A TradeCorp também informa à BitGo que seus gastos com taxas de transação têm se mantido muito mais estáveis, mesmo durante períodos de taxas elevadas. Suspeitamos que ampliar esses esforços com um intervalo de agrupamento mais longo (por exemplo, 5 minutos) reduziria ainda mais o custo por pagamento.

Perspectivas

Esses estudos de caso demonstram a utilidade das carteiras da BitGo e, esperamos, incentivem a experimentação de procedimentos relacionados a carteiras para melhorar a eficiência do espaço em bloco em todo o setor.

Upper bound for input and output sizes

O Taproot reduzirá significativamente os custos de transação para multisig, tornando, ao mesmo tempo, as entradas e saídas indistinguíveis dos gastos com assinatura única quando for utilizada a rota de gastos da chave. A BitGo continua aprimorando o design de nossa carteira. Por exemplo, estamos entusiasmados com a proposta do Taproot, que abre possibilidades totalmente novas para os recursos das carteiras e reduzirá o tamanho das entradas multisig para o mesmo tamanho das entradas single-sig em muitos casos. Mesmo que provenham de entradas wrapped segwit e segwit nativas, as entradas pay-to-taproot gastas por meio do caminho da chave são 45-58% menores para multisig 2-de-3.

Agradeço a Debra Bar, David Harding e Adam Jonas pela revisão.

The digital asset infrastructure company.

About BitGo

BitGo is the digital asset infrastructure company, delivering custody, wallets, staking, trading, financing, and settlement services from regulated cold storage. Since our founding in 2013, we have been focused on accelerating the transition of the financial system to a digital asset economy. With a global presence and multiple regulated entities, BitGo serves thousands of institutions, including many of the industry's top brands, exchanges, and platforms, and millions of retail investors worldwide.