지난주 SCTM 채굴이 시작되면서 SCT 가격이 1.5 이상에서 거래가 되고 있습니다. 그 이유는 SCTM의 가격을 3 steemp로 책정을 하고, 2 SCT로도 구입이 가능하게 하였기 때문입니다.
채굴에 대한 개략적인 정보입니다.
채굴과 관련된 통계 자료입니다. (6/27일 16:50분 기준)
채굴된 내용을 보면 어떤 시간에는 6개 정도, 어떤 시간에는 11-12개가 채굴되는 경우가 있습니다. 매시간 채굴이 되기 때문에 6개 정도가 정상입니다. 그런데 알 수 없는 이유로 매시간 채굴이 되지 않습니다. 만약 채굴이 안되고 1시간이 지나가면 그다음 채굴 시에 2시간 물량인 11-12개가 배당이 됩니다. 따라서 당첨되는 확률도 중요하지만 언제 당첨되느냐에 따라서 수익률 차이는 날 수 있는 구조입니다.
가장 궁금해하는 채굴 알고리즘에 대하여 살펴 보겠습니다. scot bot와 채굴 알고리즘은 공개되어 있지 않기 때문에 그 동작 원리를 알 수가 없습니다. 하지만 개발자 올린 글을 보면 개략적인 채굴알고리즘을 파악할 수 있습니다[4].
이 글을 보기 전까지는 채굴 알고리즘에 대하여 여러 가지 추측을 했었습니다. 균등한 당첨 확률을 제공하기 위하여 그동안 당첨된 내역을 다음 추첨 시에 반영할 것으로 생각을 하였으나, 아주 단순한 방식을 사용하고 있습니다.
for holder in token_holder:
if float(holder["stake"]) == 0:
continue
if holder["account"] not in accounts_by_name:
accounts_by_name[holder["account"]] = {"name": holder["account"], "staked_mining_power": float(holder["stake"]) * mining_power, "loki": holder["$loki"]}
else:
accounts_by_name[holder["account"]]["staked_mining_power"] += float(holder["stake"]) * mining_power
if accounts_by_name[holder["account"]]["loki"] > holder["$loki"]:
accounts_by_name[holder["account"]]["loki"] = holder["$loki"]
mining_power_sum += float(holder["stake"]) * mining_power
accounts = []
for acc in accounts_by_name:
accounts.append(accounts_by_name[acc])
sorted_accounts = sorted(accounts, key=lambda m: (m["staked_mining_power"], m["loki"]))
for i in range(N):
x = get_random_range(0, mining_power_sum)
sum_mining_power = 0
winner_found = False
for acc_data in sorted_accounts:
sum_mining_power += acc_data["staked_mining_power"]
if sum_mining_power > x and not winner_found:
winner_accs.append(acc_data["name"])
winner_found = True
알고리즘이 너무 간단합니다. 그냥 홀더 각자의 지분만큼 당첨 확률이 올라가는 방식이라고 보시면 됩니다. 동전의 양면 맞추기와 같이 이전 결과가 다음 결과에 전혀 영향을 미치고 있지 않습니다.
뭔가 대단한 것이 있을 것 같았던 채굴 알고리즘이 너무 단순해서 한편으로는 놀랍군요. 소스가 공개되어 있지 않았기 때문에 다른 무언가가 추가되었을 수도 있지만 큰 틀은 변경되지 않았을 것입니다.
dice 게임을 해 보신 분들은 아실 겁니다. 다이스를 많이 돌리다 보면 1도 나오고 100도 나오고 하죠. 100번 던지면 1이 한번은 나와야 확률적으로 맞는데, 300번을 던져도 나오지 않는 경우가 있습니다. 그러다가 100번 2-3번 나오기도 하고요. 단기적으로는 확률을 벗어나는 기대값이 나오기도 하지만 결국은 확률에 따라 갑니다. 따라서 아직 채굴이 안되신 분들도 확률의 힘을 믿고 기다리다 보면 채굴이 될 것으로 생각이 됩니다.
채굴과 관련된 글들
[1] 채굴 현황을 알 수 있는 곳 :
https://steemd.com/@sct
https://ayogom.github.io/steemexplorer/#/@sct
[2] 채굴 transaction을 볼 수 있는 파이썬 코드 : https://steemit.com/sct/@tradingideas/6-23-11-50-sctm
[3] SCTM 홀더 현황을 알 수 있는 곳 : https://wonsama.github.io/steemengine/index.html?symbol=SCTM#!
[4] 채굴 알고리즘 : https://steemit.com/steem-engine/@holger80/validating-the-mining-results-of-eng-token