有多少比特币从一个钱包转移到另一个钱包?

Posted

技术标签:

【中文标题】有多少比特币从一个钱包转移到另一个钱包?【英文标题】:How many bitcoins were transferred from one wallet to another? 【发布时间】:2019-06-13 14:53:27 【问题描述】:

问题很简单:我想查询有多少 BTC 从钱包 A 转移到了钱包 B,其跳数与区块链中的块一样多。

例如

A transferred 1 BTC to C and 1 BTC to D.
C transferred 0.1 to B
D transferred 0.5 to E and 0.5 to F
E transferred 0.1 to B

总共 0.2 BTC 从 A 转移到 B

我想我可以通过在区块链上使用 bigquery 来做到这一点。问题是我不知道如何创建这样的递归查询。我的 SQL 技能趋于零。

事业是崇高的。我的地址很少被用于庞氏骗局 1。我还有其他一组地址被用于另一个骗局,我认为这是另一个骗局 (2) 从骗局 1 洗钱。

我知道骗局 2 的幕后黑手是谁。

如果我证明来自第一个骗局的大量 BTC 流向了与第二个骗局相关的钱包,则可能强烈表明它们是相同的。

请注意,我已经说了很多 BTC。我知道有些 BTC 可能会偶然进入方案 2 的钱包,但对于大多数人来说,这根本不是巧合。

披露:我不会从中获得任何经济利益,我只是打算披露这个骗子。

【问题讨论】:

请以文本表格的形式提供示例数据和所需结果。 【参考方案1】:

由于您没有发布数据结构,因此您的里程可能会有所不同。这是一个假设的(我对比特币数据结构知之甚少)比特币链结构。使用递归 CTE 创建锚点和自调用。我在下面使用 Source 和 target,但是,它们可以与比特币语义交换。

Sql Fiddle

DECLARE @T TABLE(ChainID INT, SourceID INT, TargetID INT, Amount INT)
INSERT @T VALUES
(1,100,300,1),
(2,900,800,1),
(1,100,400,1),
(2,800,700,1),
(1,300,200,1),
(1,400,500,1),
(2,700,600,1),
(1,500,600,1),
(1,500,200,1),
(2,600,500,1),
(2,500,400,1)

 DECLARE @ChainID INT = 2

 --Get the first source of a chain !If natural order, if there is a more suitable order field then use it!
 DECLARE @StartID INT = (SELECT SourceID FROM (SELECT SourceID,RN=ROW_NUMBER() OVER (ORDER BY ChainID) FROM @T WHERE ChainID = @ChainID ) AS X WHERE RN=1)

;WITH RecursiveWalk AS
(   
        --Anchor
    SELECT 
        SourceID, 
        TargetID = T.TargetID,
        LevelID = 1
    FROM 
        @T T
    WHERE 
        T.SourceID = @StartID AND ChainID = @ChainID

    UNION ALL

        --Recursive bit
    SELECT 
        T.SourceID, 
        TargetID = T.TargetID,
        LevelID = LevelID + 1 
    FROM 
        @T T 
        INNER JOIN RecursiveWalk RW ON T.SourceID = RW.TargetID
    WHERE
        ChainID=@ChainID
)

SELECT 
    SourceID,
    TargetID,
    LevelID
FROM 
    RecursiveWalk

【讨论】:

以上是关于有多少比特币从一个钱包转移到另一个钱包?的主要内容,如果未能解决你的问题,请参考以下文章

《区块链100问》第15集:比特币怎么转账?

bitpie有收款地址怎么查询

比特币最大软件钱包Blockchain增加以太坊支持

最大的比特币软件钱包Blockchain开始支持以太坊

自动将收到的以太币从一个地址转移到另一个地址

区块链比特币学习 - 3 - 钱包