Delivery-date: Sat, 03 May 2025 07:26:25 -0700 Received: from mail-oa1-f62.google.com ([209.85.160.62]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1uBDou-0006jL-By for bitcoindev@gnusha.org; Sat, 03 May 2025 07:26:25 -0700 Received: by mail-oa1-f62.google.com with SMTP id 586e51a60fabf-2cca2c52dd9sf2183890fac.3 for ; Sat, 03 May 2025 07:26:24 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1746282378; cv=pass; d=google.com; s=arc-20240605; b=QDG0Uyl43shD3AoxZwjvdBCIcTapFRy+MjmvF+aUMOy7tfkpSVyX9wEXXannsaz/M6 FQB2qsfAzGm7oVP4ALghInlZPvrTssPGzNaZxk3MOJdjUO1HQ1VcuasVAiYzjHnMUZ/E Pk+tzfm1nLNYOhxVJs+Y6ZzUodnxmIIY/ybuF8ldxB6a7T6KedzgLFrFP4B7Cvvc3lgS KmJeek2ELf5w3HzN4GEMSs6moE3O8Plbe1ap2S2IhLxHpdHBe98a5eSKo60ZHdqfrUMN rMrpk+3YRUKLDOwTqzrYgpB1tZkuIbp7GOkWcKHpeTXWw2OaMyjBYQJNMRhgJ4xb3zjY o0Jw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:sender:dkim-signature :dkim-signature; bh=+oqAjeWC2cylbma4yr1MlvT7DFa54zFveU9aKRjZyRo=; fh=dXql20QYmOzddxiM8nlEkbKUbDhTjezgi3sNYRoksHA=; b=ejQOMH4gLRA9klkh0p8pOzCzVuqg+123fF4OkJXDuKP3wShyVyxqMHHk9iVeDiiWt9 v56TF7GOpVk1ZrQUBKEFvhxRDUFOLrACTUPpMHT5WqyknHdpe2OFz7prqU4hxCQp+Qcg aZ5FYhEpEw9Gr1UcbAiA6W3y912K6W8l9EEiWJSYbnwni4mgXiNAIcUYznIJnoKGGDoo /ohTyVA46e3mdSN4dP+emrX1LbWwvxY/A6NaoYxDu532QCNuCfbolAJk2dpKZTHHAYN2 d6IW0OENSYNsjOgFSB9CH8+p/JwaiY/sBnw7P5t7+jzbk75e/oKiG9bzPFTa9Dz54rSC 4A8w==; darn=gnusha.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=fcjKX++1; spf=pass (google.com: domain of gmaxwell@gmail.com designates 2607:f8b0:4864:20::1034 as permitted sender) smtp.mailfrom=gmaxwell@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1746282378; x=1746887178; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:sender:from:to:cc:subject:date:message-id :reply-to; bh=+oqAjeWC2cylbma4yr1MlvT7DFa54zFveU9aKRjZyRo=; b=jet8ViUbDIH4r1K0rORgHgZfUhMpm2Jx2hmuImxtXrrywei4SEmduJJlHoNWTj44sr KHfzyf3BMgSAen7lmH+AU7H43+nfrJEL+0IXS2sYKyCH90iqeGrF9gWGYfZCAmXSC5ZN GAfH15f0TMOwYAjMqS7B5MCPYtz4spuWMeXPMrjf7P06qJkLZZygeSqQsszIIcG8OcTM BOILMHpA4NnKCiR8vffo6lbdzM4ayOxbKu0560H3r4DyAq4kztUq1kUUUTGTah6r+ViR rlQGvWftvBQeh+HHqCa6Iw9xsRK8kIYzbbHS7W1ExobjjISPiShKv1w14Jiy78HWwCvj +VBQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746282378; x=1746887178; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+oqAjeWC2cylbma4yr1MlvT7DFa54zFveU9aKRjZyRo=; b=MmoV6OfqdULQjfHd7OvPYHMJ4MAuTp12Foch07Pmm/WVPaG8eSZcduyd3CC/aLnlqc eY9FMoPw7R6qLMMnaKs6rmwSZhbAOo+rIXsJmaTqtn4VjQx9eHVLgd9Q18jTUv6n18c4 1W3M/PUn6lqbm7NcVwEHFUCGxJpxkIr5HjeNXFXZGfG6Mod1yCSeg8LByt1jqkuyjoy0 98apCjHWApBWanAG+kNSdDjbA/EwCXfRQOQvPLyz/ydZeIV0jqbB4cahN44mwe7BD3i3 M/MpNOQ/WTfuuAyRkVPOAnvO26r5cMMnwSVLXHTHm47jmue1iUixdCxyJk7oobntl5hj vgbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746282378; x=1746887178; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-beenthere:x-gm-message-state:sender:from :to:cc:subject:date:message-id:reply-to; bh=+oqAjeWC2cylbma4yr1MlvT7DFa54zFveU9aKRjZyRo=; b=sPS3dqZydozaSRv83lVITHzqaI1A+SusqisyffGaWuMn2Hd1lN3vxbH8+72VclqtHe boDblzanhfEjQlnpF9lOfywinXshidUrhZTRQIQsuacebZr8+tMjPXBi/ykCa1bRJgPJ xYcI2NMmSwLuRpEMIkvIkT4dTFsMAYbv9pTWHiFYRAbf9upfsFk5/L7SBns+90mMGVtk IxZyNjYUT/O7eVJjQeSl2dIRRcfs8WDhxQRiu5dD2T2VyzOqrHyN5NRGrycxMZ+fR70b mBRBao6Kx9tPi0mMjNYC42qph+SH1KZtJb0R5djw3An6IaW7jMMOTXyvX9vfKmSOLygy tE1A== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCXULJEa5vKb7YGAH5NkCfxmPhfktUoItE6geBDYhnLZ/q+CR/2xwGG/tW8aIKvCq/5xwD+R1UE3dB9y@gnusha.org X-Gm-Message-State: AOJu0Yxg1cXghEtXvOxMmq2BdEkP2LxKUJTJnLFgHRb/RZ6TATuh/g/p yZ/Yw00ZoA49amDMINJJ2ChR5QNMWAI9Kyya/fH0uTG0+xAI8VEd X-Google-Smtp-Source: AGHT+IED0R/G4W4cfRNefBrie/DssmikV6VeW1rcS/F1A0rZb8+2eXU/gQEZXjdKl2ccrgv/oMWNtQ== X-Received: by 2002:a05:6871:7404:b0:29e:559b:d694 with SMTP id 586e51a60fabf-2dad6c216ecmr1351583fac.32.1746282378517; Sat, 03 May 2025 07:26:18 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com; h=AVT/gBFLbBk9B6i7bNBuV9FrSy/6nNtXqhVKCdjevE1Iim/x6A== Received: by 2002:a05:6871:a0cb:b0:2c2:35f3:8a19 with SMTP id 586e51a60fabf-2da89dbe5b8ls1373701fac.0.-pod-prod-03-us; Sat, 03 May 2025 07:26:15 -0700 (PDT) X-Received: by 2002:a05:6870:889f:b0:2b8:3e6b:605 with SMTP id 586e51a60fabf-2dad69c9fc3mr1243326fac.20.1746282375603; Sat, 03 May 2025 07:26:15 -0700 (PDT) Received: by 2002:a05:6808:14d5:b0:3fa:da36:efcd with SMTP id 5614622812f47-403425cae8dmsb6e; Sat, 3 May 2025 06:57:22 -0700 (PDT) X-Received: by 2002:a17:90a:ac16:b0:30a:5b12:db16 with SMTP id 98e67ed59e1d1-30a5b12db68mr3384980a91.1.1746280641559; Sat, 03 May 2025 06:57:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1746280641; cv=none; d=google.com; s=arc-20240605; b=Ode7f4osUuXeBN6kJ58yTCQ1sw9aAzuu9j3fPqt8jvDcLloqWKB0GSYcq3SyMXk/Mk hWJ3ToQE+Tcm78pifoBzG4GICnkAXg02JUiorX57LLSD2sdnZIMHEfD7NoS///nPHEVS JPdwLBIj+oY1BYbBGOzbBcyekydu2p3GPJXqJjsUE2zdSNFCWK+ajkAJcov+hpH/bRds L8S/+N7D60MM7vW1rprQfaeLbZwckhIteSYRbQjoq9giTJAgF3IaC2kuwvpO+f/qaiwX 8TxZ2F/umxeGvg2ZU55UpgblDvOWKp6i0Mu1WYOni8BEuKB47QKgvyFR7WLOok7W/D1S zx6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=45I7xUTriuQme0NZnRADkEUAOhZNX1JqIEX7boa0X7Q=; fh=HeKDAJPhYX0iBkDUlKcR7/7QMjJdWxYA5yO4PStwPn0=; b=Ud29fvehgCR1vn5jRruZOt36Dyrz0+3gfY2iiDdZG4T0OtcewM1yTW3pS9fclrZx7a l6Nx/J0ULTy19wOAZfRakWj95Jtx9E/oLodHvloLgGXS5DZldSfTO51RgdbvpyOFgtZw ux6YziXu2xY3SKhurBSa573jFg/HTTFr+pFYEG8hkzSf4x0rd7GM4+84lmG6kuVSF4I+ 2paxlMnrPrUtUcNTchWqMqLqupNyfve+gYUTiMwgGjLp0l66B+7IfZ5FpGwnyRpzNMV5 t3cui+UeePh7HGxSeDCBO8oKQk53uNKDHnXS+88EmYgbd26eyzuRGo6Tov+vV4A2pzDN iedw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=fcjKX++1; spf=pass (google.com: domain of gmaxwell@gmail.com designates 2607:f8b0:4864:20::1034 as permitted sender) smtp.mailfrom=gmaxwell@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com. [2607:f8b0:4864:20::1034]) by gmr-mx.google.com with ESMTPS id 98e67ed59e1d1-30a347c21d8si352465a91.2.2025.05.03.06.57.21 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 03 May 2025 06:57:21 -0700 (PDT) Received-SPF: pass (google.com: domain of gmaxwell@gmail.com designates 2607:f8b0:4864:20::1034 as permitted sender) client-ip=2607:f8b0:4864:20::1034; Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-301a4d5156aso4210833a91.1 for ; Sat, 03 May 2025 06:57:21 -0700 (PDT) X-Gm-Gg: ASbGncuD+hHXe+hdsmybCK14tM6MZyBS3a4f/ja/4QUlnFDM5F0OC1fCTwjUAQrWHI0 m113Ounlszc5QutTphyJ25y3TjNmoDDjrGjpLzfK1wq7FUKNV4KJiPfyec6rcGO0Y27NejlfomO yhWsOXCXxZ8QKb2BeXYvVd6nu18rFMJMP5 X-Received: by 2002:a17:90b:5486:b0:2fe:b8b9:5aa6 with SMTP id 98e67ed59e1d1-30a5aed5575mr4197686a91.31.1746280641053; Sat, 03 May 2025 06:57:21 -0700 (PDT) MIME-Version: 1.0 References: <69194329-4ce6-4272-acc5-fd913a7986f3n@googlegroups.com> In-Reply-To: From: Greg Maxwell Date: Sat, 3 May 2025 13:57:09 +0000 X-Gm-Features: ATxdqUGHHSqQ4XP9UxKx7k5zQTi2UkFMT8xCDzJzt1Ys83fXV9GV1jkwP4KUpco Message-ID: Subject: Re: [bitcoindev] Re: SwiftSync - smarter synchronization with hints To: Ruben Somsen Cc: Bitcoin Development Mailing List , saintwenhao@gmail.com, Sanket Kanjalkar Content-Type: multipart/alternative; boundary="00000000000049caa706343ba510" X-Original-Sender: gmaxwell@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=fcjKX++1; spf=pass (google.com: domain of gmaxwell@gmail.com designates 2607:f8b0:4864:20::1034 as permitted sender) smtp.mailfrom=gmaxwell@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) --00000000000049caa706343ba510 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hm. Fair point, but I think you cannot escape the assumption that A is unique (well A and its spend) thanks to TXID uniqueness without weakening the security argument, since A*n eventually collides. It's essentially the same argument you make for characteristic 2, it just takes more repetitions. Without knowing the salt you'd need 2^256 repetitions to be certain, but e.g. see the prior suggestions on truncating the hash to 32 bits or whatever, a practical number of A repeats would then self cancel. To be clear I'm not arguing that it should be xor here, but pointing out there is structure here you might not have expected. On Sat, May 3, 2025 at 1:42=E2=80=AFPM Ruben Somsen wro= te: > Hey all, > > > @Saint Wenhao > > >if you take the sum of hashes, which should be finally zero, then by > grinding UTXOs, someone could make it zero > > That's what the secret salt prevents. You can't grind for a certain numbe= r > if you don't know what the number is you are trying to collide with. > > >maybe you can avoid hashing at all [...] And then, it is all about mixin= g > the salt > > Without a concrete solution I'm afraid that's wishful thinking. That last > part of the sentence is why we currently need the hash, as well as for > adding more data in the non-assumevalid version. > > > @Sanket Kanjalkar > > >What if instead of hash we encrypt with AES > > I can't really evaluate whether this might work, but I can see the line o= f > reasoning. Conceptually, I think what we need is something that transform= s > the data into fixed length blocks for which an attacker can't know the > relationship between each block (i.e. via a secret). The transformation > needs to be the same on the input and output side. > > > @Greg Maxwell > > >Your reduction function could just be xor > > I had initially ruled XOR out. Reason for this is that XOR would lead one > to conclude that sets [A, B, C, C], [A, B], [A, B, D, D], etc. are all > equivalent because any two values cancel each other out, regardless of > whether the sets are on the input or output side. Modular add/sub doesn't > have this issue. If the speedup actually turns out to be significant then > there may be some clever way to salvage it like by counting the total > number of inputs and outputs and relying on the knowledge that every txid > must be unique, but that's a lot harder to reason about. > > >even if its with a quite expensive hash function that the IBD performanc= e > will be heavily bottlenecked in network and parallelism related issues an= d > be far from the lowest hanging fruit for a while, considering that this > has eliminated the big sequential part and a number of annoying to optimi= ze > components entirely > > Very true, and as you said, we can easily drop-in replace the hash > function at any future point we like, without adverse consequences. > > > Cheers, > Ruben > > On Sat, May 3, 2025 at 2:07=E2=80=AFPM Greg Maxwell = wrote: > >> On Saturday, May 3, 2025 at 11:55:28=E2=80=AFAM UTC Sanket Kanjalkar wro= te: >> >> > hash(UTXO_A||salt) + hash(UTXO_B||salt) - hash(UTXO_C||salt) - >> hash(UTXO_D||salt) =3D=3D 0 (proving (A=3D=3DC && B=3D=3DD) || (A=3D=3DD= && B=3D=3DC)) >> >> What if instead of hash we encrypt with AES and modular add/subs? I >> cannot prove it; but I also don't see a clear way this is broken. >> >> 1. Sample random symmetric key `k` >> 2. Instead of above; AES_k(UTXO_A) + AES_k(UTXO_B) - AES_k(UTXO_C) - >> AES(UTXO_D) =3D=3D 0 =3D> (proving (A=3D=3DC && B=3D=3DD) || (A=3D=3DD = && B=3D=3DC))? >> >> >> AES in CTR mode is, I'm not sure about other modes? Obviously CTR mode >> would be unsuitable! (I mean sure modular add/sub and xor are different >> operations but they are quite close). I think that in many modes the >> collision resistance would have to at least be restricted by the birthda= y >> bound with the small block size. I think CMC might be needed to avoid th= at >> sort of issue. >> >> >> >> -- >> You received this message because you are subscribed to the Google Group= s >> "Bitcoin Development Mailing List" group. >> To unsubscribe from this group and stop receiving emails from it, send a= n >> email to bitcoindev+unsubscribe@googlegroups.com. >> To view this discussion visit >> https://groups.google.com/d/msgid/bitcoindev/fbf06c5b-57b6-4615-99bb-3a7= ea31ebf22n%40googlegroups.com >> >> . >> > --=20 You received this message because you are subscribed to the Google Groups "= Bitcoin Development Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/= CAAS2fgQ1CvyxoRckZT2_6dNgKxDaKWvuK46FYMeaHc8Np_gDPg%40mail.gmail.com. --00000000000049caa706343ba510 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hm. Fair point, but I think you cannot escape the ass= umption that A is unique (well A and its spend) thanks to TXID uniqueness w= ithout weakening the security argument, since A*n eventually collides.=C2= =A0 It's essentially the same argument you make for characteristic 2, i= t just takes more repetitions.=C2=A0 Without knowing the salt you'd nee= d 2^256 repetitions to be certain, but e.g. see the prior suggestions on tr= uncating the hash to 32 bits or whatever, a practical number of A repeats w= ould then self cancel.

To be clear I'm not arg= uing that it should be xor here, but pointing out there is structure here y= ou might not have expected.





On Sat, May 3, 2025 at 1:42=E2=80= =AFPM Ruben Somsen <rsomsen@gmail.c= om> wrote:
=C2=A0 Hey all,


@S= aint Wenhao

>if you take the sum of hashes, w= hich should be finally zero, then by grinding UTXOs, someone could make it = zero

That's what the secret salt prevents. You= can't grind for a certain number if you don't know what the number= is you are trying to collide with.

>mayb= e you can avoid hashing at all [...] And then, it is all about mixing the s= alt

Without a concrete solution I'm afraid tha= t's wishful thinking. That last part of the sentence is why we currentl= y need the hash, as well as for adding more data in the non-assumevalid ver= sion.


=

>What if instead of hash we encrypt with AES

I can't really evaluate whether this might work, but = I can see the=C2=A0line of reasoning. Conceptually, I think what we need is= something that transforms the data into fixed length blocks for which an a= ttacker can't know the relationship between each block (i.e. via a secr= et). The transformation needs to be the same on the input and output side.<= /div>


@Gre= g Maxwell

>Your reduction function coul= d just be xor

I had initially ruled XOR out. Reaso= n for this is that XOR would lead one to conclude that sets [A, B, C, C], [= A, B], [A, B, D, D], etc. are all equivalent because any two values cancel = each other out, regardless of whether the sets are on the input or output s= ide. Modular add/sub doesn't have this issue. If the speedup actually t= urns out to be significant then there may be some clever way to salvage it = like by counting the total number of inputs and outputs and relying on the = knowledge that every txid must be unique, but that's a lot harder to re= ason about.

>even if its with a quite expensive= hash function that the IBD performance will be heavily bottlenecked in net= work and parallelism related issues and be far from the lowest hanging frui= t for a while,=C2=A0 considering that this has eliminated the big sequentia= l part and a number of annoying to optimize components entirely
<= br>
Very true, and as you said, we can easily drop-in replace the= hash function at any future point we like, without adverse consequences.


Cheers,
Ruben
<= br>
On Sat,= May 3, 2025 at 2:07=E2=80=AFPM Greg Maxwell <gmaxwell@gmail.com> wrote:
On S= aturday, May 3, 2025 at 11:55:28=E2=80=AFAM UTC Sanket Kanjalkar wrote:
=
> hash(UTXO_A||salt) = + hash(UTXO_B||salt) - hash(UTXO_C||salt) - hash(UTXO_D||salt) =3D=3D 0 (pr= oving (A=3D=3DC && B=3D=3DD) || (A=3D=3DD && B=3D=3DC))
=
What if instead of hash we encrypt with AES and = modular add/subs? I cannot prove it; but I also don't see a clear way t= his is broken.=C2=A0

1. Sample random symmetric key `k`
2. Instea= d of above; AES_k(UTXO_A) + AES_k(UTXO_B) - AES_k(UTXO_C) - AES(UTXO_D) =3D= =3D 0 =3D>=C2=A0=C2=A0(proving (A=3D=3DC && B=3D=3DD) || (A=3D= =3DD && B=3D=3DC))?

AES in CT= R mode is, I'm not sure about other modes? Obviously CTR mode would be = unsuitable! (I mean sure modular add/sub and xor are different operations b= ut they are quite close).=C2=A0 I think that in many modes the collision re= sistance would have to at least be restricted by the birthday bound with th= e small block size. I think CMC might be needed to avoid that sort of issue= .

=C2=A0

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.googl= e.com/d/msgid/bitcoindev/fbf06c5b-57b6-4615-99bb-3a7ea31ebf22n%40googlegrou= ps.com.

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/ms= gid/bitcoindev/CAAS2fgQ1CvyxoRckZT2_6dNgKxDaKWvuK46FYMeaHc8Np_gDPg%40mail.g= mail.com.
--00000000000049caa706343ba510--