Skip to content

Instantly share code, notes, and snippets.

View MoneroLink2.0.md

Setting

You are an intern, and it is your first day on the job at Tracealyze, the leading Blockchain Analytics company in the known universe. Your boss has given you and the other interns a challenge, which if solved, will greatly increase your chances of getting hired.

Challenge

Two leading exchanges, Botfinex and Trinance, are trying to detect whether people are evading taxes by using Monero transfers to mask the trail of funds between their exchanges. They have provided Tracealyze with viewkeys to their exchanges, and it is your job to analyze the blockchain to determine which, if any, transactions plausibly came from the same person. Please note that all transactions in this puzzle travel from Trinance to Botfinex, funds never go from Botfinex to Trinance. Botfinex and Trinance both listed Monero in August 2020, so you can start your sync from there.

Solution

View MoneroLink2.0
### Setting
You are an intern, and it is your first day on the job at Tracealyze, the leading Blockchain Analytics company in the known universe. Your boss has given you and the other interns a challenge, which if solved, will greatly increase your chances of getting hired.
### Challenge
Two leading exchanges, Botfinex and Trinance, are trying to detect whether people are evading taxes by using Monero transfers to mask the trail of funds between their exchanges. They have provided Tracealyze with viewkeys to their exchanges, and it is your job to analyze the blockchain to determine which, if any, transactions plausibly came from the same person. Please note that all transactions in this puzzle travel from Trinance to Botfinex, funds never go from Botfinex to Trinance.
### Solution
View gist:2972063984025d69193c4711485a4735
def get_votes_cards(address):
votes = 0
balances = get_balances(address)
if len(balances) == 0:
return
# Tally up votes for indivisibles
if len(balances) < len(indivisibles):
for asset in indivisibles:
View moneromarkets-rules
# Mission
1. To have a channel that fosters learning
2. Make predictions, test, and verify them. Improve your market analysis skills.
3. Share interesting news, How-Tos, RFCs, etc.
# Rules
1. Obey all freenode rules
2. Be nice to each other. We are here to talk about markets not start fights or make enemies.
3. No religious wars. This includes editors, block sizes, and any other faith you can think of.
View controller.py
import random
def init_game():
global stack, wallet, max_taken, oracle_turns
stack = list(range(1, 10001))
random.shuffle(stack)
wallet = max_taken = oracle_turns = 0
def read():
return stack[0]
View controller.py
import random
def init_game():
global stack, wallet, max_taken, oracle_turns
stack = list(range(1, 10001))
random.shuffle(stack)
wallet = max_taken = oracle_turns = 0
def read():
return stack[0]
View controller.py
import random
def init_game():
global stack, wallet, max_taken
stack = list(range(1, 10001))
random.shuffle(stack)
wallet = max_taken = 0
def read():
return stack[0]
View gist:5351045
[root@server1 blog]# passenger start
=============== Phusion Passenger Standalone web server started ===============
PID file: /root/Project/blog/tmp/pids/passenger.3000.pid
Log file: /root/Project/blog/log/passenger.3000.log
Environment: development
Accessible via: http://0.0.0.0:3000/
You can stop Phusion Passenger Standalone by pressing Ctrl-C.
===============================================================================
Cannot execute '/root/.rbenv/versions/2.0.0-rc2/lib/ruby/gems/2.0.0/gems/passenger-4.0.0.rc6/helper-scripts/prespawn http://0.0.0.0:3000': Permission denied (13)
View gist:5349520
=============== Phusion Passenger Standalone web server started ===============
PID file: /root/.rbenv/passenger.3000.pid
Log file: /root/.rbenv/passenger.3000.log
Environment: development
Accessible via: http://0.0.0.0:3000/
You can stop Phusion Passenger Standalone by pressing Ctrl-C.
===============================================================================
Cannot execute '/root/.rbenv/versions/2.0.0-rc2/lib/ruby/gems/2.0.0/gems/passenger-4.0.0.rc6/helper-scripts/prespawn http://0.0.0.0:3000': Permission denied (13)
View gist:5342739
HEAD https://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
HEAD https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz
200 OK
GET https://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
GET https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz
200 OK
HEAD https://rubygems.org/specs.4.8.gz
302 Moved Temporarily