為何我會寫這篇網誌?
最近台灣政壇上,「京華城案」的消息持續發酵,引發社會關注。據新聞報導,台灣民眾黨主席、前台北市長柯文哲,因涉嫌違反《貪污治罪條例》而遭羈押禁見,雖未發現 金流 ,但至今已超過十天。隨著調查深入,媒體報導指出,檢廉於柯文哲住家搜出一隨身碟,其中記載了一筆「2022/11/1 小沈 1500 沈慶京」的紀錄,外界質疑這或許是柯文哲收受 1500 萬的證據。
更引發爭議的是,資深媒體人陳敏鳳在節目中指稱,這「1500」並非台幣,而是 1500 顆比特幣。按照比特幣目前市價約 5.9 萬美元來換算,價值相當於新台幣 28 億元!若該筆比特幣資金未移動,檢方的金流查核可能會碰上死角,難以查明真相。
本篇網誌的目的不在於探討政治立場,而是要透過區塊鏈的公開透明特性,來查證此新聞內容是否屬實,確認比特幣交易的可追溯性。
區塊鏈搜尋工具
搜索BTC區塊鏈的方式很多,可以使用區塊鏈瀏覽器,例如Blockchain.com、Blockchair,或是利用一些API來進行查詢。
為了查證這筆傳聞中的「1500 顆比特幣」,我們將使用比特幣區塊鏈上的公開資料,透過Blockchain API搜尋特定區間內的交易,檢查是否存在任何與傳聞金額相符的交易。
在進行任何查證之前,我們必須強調:任何人在依法被判決有罪確定前,均應推定為無罪。
以下是我自己大概寫的 Python 程式碼,有基本搜索功能,註解應該都寫得很清楚了,視需要自行修改。
依照新聞裡的訊息,時間為2022/11/1,數量為1500顆,那我就稍微放寬一點。
目前這裡面的內可以自動搜尋指定日期範圍(2022/10/30 至 2022/11/02)內,金額範圍在 1400 至 1600 顆比特幣的交易:
import requests
import time
def check_transaction_amounts():
# 設定搜尋的開始和結束日期(我們要尋找2022-10-31到2022-11-2之間的金流!)
start_timestamp = int(time.mktime(time.strptime('2022-10-31', '%Y-%m-%d')))
end_timestamp = int(time.mktime(time.strptime('2022-11-2', '%Y-%m-%d')))
# 從開始日期出發,探索每一天的金流
current_timestamp = start_timestamp
while current_timestamp <= end_timestamp:
# 嘗試在這一天的區塊鏈中打撈金流數據
url = f"https://blockchain.info/blocks/{current_timestamp * 1000}?format=json"
response = requests.get(url)
# 檢查是否成功打撈金流資訊,否則報告錯誤
if response.status_code != 200:
print(f"Oops! 無法打撈區塊,時間戳記 {current_timestamp}: HTTP {response.status_code}")
else:
blocks = response.json()
# 將區塊按時間戳(`time`)進行升序排序
blocks_sorted = sorted(blocks, key=lambda x: x['time'])
print(f"發現了 {len(blocks_sorted)} 個區塊,時間戳記 {current_timestamp}!")
# 逐一檢視區塊,看看我們能找到什麼金流
for block in blocks_sorted:
block_hash = block.get('hash')
block_url = f"https://blockchain.info/rawblock/{block_hash}"
block_response = requests.get(block_url)
# 檢查區塊詳細資訊是否成功拿到
if block_response.status_code != 200:
print(f"Oops! 無法取得區塊 {block_hash} 的詳細資訊: HTTP {block_response.status_code}")
continue
block_data = block_response.json()
# 提取區塊時間,並加上8小時以調整為UTC+8
block_time = block_data.get('time') + 8 * 3600
readable_block_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(block_time))
# 看看這個區塊裡有多少筆交易金流
transactions = block_data.get('tx', [])
print(f"區塊 {block_hash} 在 {readable_block_time} 裡包含了 {len(transactions)} 筆交易。")
# 開始逐筆處理交易,尋找符合條件的金流
for tx in transactions:
try:
# 取得交易的所有輸出
outputs = tx.get('out', [])
# 計算這筆交易的總金額,並從 Satoshis 轉換為 BTC
total_amount = 0
for output in outputs:
amount = output.get('value', 0) / 100000000 # 從 Satoshis 轉換成 BTC
total_amount += amount
# 如果這筆交易是我們在尋找的1400到1600 BTC金流,恭喜我們找到了!
if 1400 <= total_amount <= 1600:
tx_hash = tx.get('hash')
print(f"找到金流!交易 {tx_hash} 在 {readable_block_time},總金額: {total_amount} BTC")
except Exception as e:
print(f"Oops! 處理交易時出錯了: {e}")
# 前進到下一天,繼續我們的搜尋金流吧!
current_timestamp += 86400
# 執行金流搜尋任務
check_transaction_amounts()
冷錢包:真的有必要嗎?
在新聞報導中,冷錢包也被提及。冷錢包(Cold Wallet)是一種將比特幣或其他虛擬貨幣離線保管的方式,通常以硬體錢包、紙錢包或離線電腦進行儲存,以減少被駭客攻擊的風險。然而,冷錢包真的有必要嗎?
我想強調的是,冷錢包對我而言是「智商稅」。首先,它的使用並非必須,若不小心弄丟了冷錢包註記詞,裡面的資金將永遠無法找回。其次,如果有人真的涉入貪污或非法收賄,冷錢包反而會成為證據。例如,在本案中,如果北檢搜索柯文哲住處,冷錢包被找到,裡面記錄的交易資料將無所遁形,這不但沒有隱藏資金,反而可能為自己埋下更大的隱患。因此,冷錢包雖然看似安全,但在某些情況下卻可能成為一把「雙刃劍」。
新聞查核的重要性
現代社會中,假新聞與謠言的傳播速度令人咋舌。為了防止錯誤資訊影響社會輿論,我們應該透過多種途徑進行事實查核。因此,針對新聞報導中的「1500 顆比特幣」傳聞,我們有必要運用區塊鏈技術進行查證,以揭露真相。
結語
比特幣區塊鏈是一個公開且透明的賬本,任何人都可以查閱。透過程式碼,我們可以追蹤特定時間範圍內的交易金額,從而驗證傳聞的真實性。雖然這個搜尋過程需要一些技術手段,但事實查核的價值遠勝於一時的謠言。網絡資訊瞬息萬變,我們更應該保持理性與謹慎,用客觀的方法來檢視每一則新聞報導。畢竟,真相只有一個,謠言止於智者。
推薦閱讀 破解錢包-找回你虛擬貨幣錢包的方式