Jump to content

Everything Cryptocurrency Thread!


ir_cow

Recommended Posts

The IRS does not currently have the resources or time to be worried about taxing us poor, broke miners,.. the IRS will be auditing, taxing exchanges based on there fees,  profits,.. each transaction will be taxed, plus fee added instantly by exchange.  

 

I think that's what they call trickle down economics. 

Edited by Braegnok

Share this post


Link to post
Share on other sites

The IRS does not currently have the resources or time to be worried about taxing us poor, broke miners,.. the IRS will be auditing, taxing exchanges based on there fees,  profits,.. which will result in higher transaction fees for us miners.  :yes:

 

That is exactly what I was wondere how they was gonna track all the miners down lol. That makes sense they will go after the big bucks for now

Share this post


Link to post
Share on other sites

Still affects you because every trades "should be" reported and taxed. With a minimum of 10%. Say you trade .2 BTC @ 15K which is $3,000 for 150 @ $20 of XYZ coin. That is taxed 10% ($300). Than if XYZ drops below $20 to $15 and you trade/sell at a loss. You are once again taxed on that trade which would be $225. Now you are down $525 just from taxes. And than you cash out $2225 and have to report that as income.

 

I waiting for new exchanges to pop up that are outside the USA. Otherwise if you don't report the trades, than the Exchanges may be requested by the RSI and you still have to pay the taxes on something you completely lost.

 

With only BTC, Litecoin and Etherum cashable, you have to use a exchange to get your earnings out. So that instantly at least a 10% fee/tax just to turn it into something that can be exchanged of Fiat.

Where are you getting the 10%? As far as I know you need to pay capital gains tax on each trade. Also, if you sell at a loss (umm don't...) that is capital loss.

 

As for outside exchanges, there are already a bunch that operate outside the us. Cryptopia, tradesatoshi, yobit (be careful here though). What you are talking about is tax fraud though...

Share this post


Link to post
Share on other sites

 

Still affects you because every trades "should be" reported and taxed. With a minimum of 10%. Say you trade .2 BTC @ 15K which is $3,000 for 150 @ $20 of XYZ coin. That is taxed 10% ($300). Than if XYZ drops below $20 to $15 and you trade/sell at a loss. You are once again taxed on that trade which would be $225. Now you are down $525 just from taxes. And than you cash out $2225 and have to report that as income.

 

I waiting for new exchanges to pop up that are outside the USA. Otherwise if you don't report the trades, than the Exchanges may be requested by the RSI and you still have to pay the taxes on something you completely lost.

 

With only BTC, Litecoin and Etherum cashable, you have to use a exchange to get your earnings out. So that instantly at least a 10% fee/tax just to turn it into something that can be exchanged of Fiat.

Where are you getting the 10%? As far as I know you need to pay capital gains tax on each trade. Also, if you sell at a loss (umm don't...) that is capital loss.

 

As for outside exchanges, there are already a bunch that operate outside the us. Cryptopia, tradesatoshi, yobit (be careful here though). What you are talking about is tax fraud though...

 

The article you linked said 10-37%. I just picked 10 because it was easier. Also I am not saying I wouldn't report my trades, I just don't like IRS knowing more than I do.

Share this post


Link to post
Share on other sites

Well there goes the 1070 Ti stock. People figured out how good those cards are and everything is out of stock. All the MSI cards I bought for $460 are now $560 just days later. Ouch.

Share this post


Link to post
Share on other sites

Well there goes the 1070 Ti stock. People figured out how good those cards are and everything is out of stock. All the MSI cards I bought for $460 are now $560 just days later. Ouch.

Ouch, this happened last time prices got pumped too. Just give it some time.

 

In the mean time.., check out coin_artist's puzzle if you haven't seen it. It has occupied a fair amount of my time this last month.

 

https://mobile.twitter.com/coin_artist/status/583979278238359552

 

It's got 5btc hidden inside (presumably some form of private key) and been unsolved for years now.

 

There's a fair amount of discussion on it scattered throughout the internet. Pretty interesting reads, but it's mostly the same stuff. The most promising idea is that the key is hidden in the flames. If you take the flames lengths as bits, there is actually a pattern (if you start in the right place) where every third even bit is 0. Some people think the colors encode data, some people think she (and collaborators) used a bacon cypher, some think it involves dna/rna encoding.., cool stuff.

 

Here is a walkthrough of another puzzle she did that was solved some time ago: https://www.scribd.com/document/359412332/Bitcoin-Puzzle

Share this post


Link to post
Share on other sites

Cool puzzle! Do you think anything tried to just open it in notepad and look at the header? Also I bet only the original holds the actual full key as every time you resize an image some data is lost.

 

Edit: I have a guess but it's gonna take a while to decipher. I'll let you know if I figure it out hahaa.

Share this post


Link to post
Share on other sites

Best Buy on Ebay while they last $499.99 PNY 1070Ti NIB, https://www.ebay.com/itm/PNY-NVIDIA-GeForce-GTX-1070-Ti-8GB-GDDR5-PCI-Express-3-0-Graphics-Card/192419582946?epid=11011706833&hash=item2ccd19d3e2:g:aZ8AAOSwC-taAW3k

 

They had 1080 FE cards for $550.99 NIB last week, checked this morning and sold out of FE cards.

Share this post


Link to post
Share on other sites

Cool puzzle! Do you think anything tried to just open it in notepad and look at the header? Also I bet only the original holds the actual full key as every time you resize an image some data is lost.

 

Edit: I have a guess but it's gonna take a while to decipher. I'll let you know if I figure it out hahaa.

There is an original scan floating around the internet in .tiff format (I think it was on her twitter somewhere). And you are correct, the jpeg versions actually have artifacts that people had misinterpreted as images. I think I've got the original bookmarked on my laptop, so I'll post the link to it a little later.

 

And yeah, definitely make a post if you figure something out! I think we are looking for either 256 0s and 1s, 64 hex characters, or 51 wif characters (Base58 0-9 and a-Z excluding I l and 0 and O).., although it could be a mini key (22-30 characters)

 

 

Edit: idk if anyone has looked at image source.., you could try. She has hidden stuff that way in the past. I've pretty much just been looking at the flame.., and the tiles on the board behindbthe rabbit.., found nothing yet though. There is 100% for sure a pattern in the flames though.

 

Edit2: Here is the google drive with the tiff version of the image: https://drive.google.com/drive/folders/1x6IgeIwK9AaXQoXhMzw9WH7Px-_Xt5U7

 

Also important, is the address where the prize money is (could be a hint as it is a vanity address): https://blockchain.info/address/1FLAMEN6rq2BqMnkUmsJBqCGWdwgVKcegd

 

Edit3: Here is the patter in the flames (colored flames), it goes in 1 direction for inner flames, and the opposite direction for outer flames. I don't know how to embed images on this forum anymore apparently lol, so here is an imgur link: https://imgur.com/a/YOG82

 

It is important to note that when I reference top/bottom (top is the top of the image, bottom is the inner track of flames) If I were to have said bottom/top (That would mean bottom of the picture, outer track of flames). I also rotated the image 90CW so that you can see the rabbit. (Not sure if this is important, but the pattern can only be read one direction on the inner flames, and one direction on the outer flames). Regardless, it means that there is not entropy in the even flames, so there is no data in the even flames lengths. The colors (which would give us 304 bits of data, which would be enough for a Base58 WIF key) could still have data though.

 

I also noticed that there is a flame that it looks like she messed up on and repainted. This happens to be an odd flame, which makes me think that the odd flame lengths are important. There has also been a lot of people thinking she used a Bacon cypher.., Why, because her painting is a turtledove and pheonix. Shakespeare wrote a poem called turtle (turtledove) and the pheonix. This poem was used to try and prove that Francis Bacon really wrote shakespeare. This was done by using Bacon's bilateral cypher. If you look at all of the tracks of colored flames, plus the odd numbered flame lengths, you have bits that are divisible 5, and can then use a bacon cypher.

 

I wrote some code the other day to try and help decode the Bacon cypher and convert to hex in various ways.., didn't find anything useful though. Feel free to use it.., Somewhat lazily written though, so YMMV.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

char* shift(char* string);
int getlines(FILE* stream, char** line, ssize_t* nread, int* ntot, size_t len);
char* normalize(char* string, int nflag);
char* clean(char* string);
void divideString(char* string, int n);
void debacon(char* string, int btype);
void flip(char* string);
void deHex(char* string);
int verbose = 0;


int main(int argc, char* argv[]){
	FILE* scram;
	int opt;
	int fcheck = 0;
	int nflag = 0;
	int btype = 0;
	int bitflip = 0;
	char* line[16];
	int i = 0;
	int j = 0;
	int k = 0;
	size_t len = 0;
	ssize_t nread[16];
	int ntot = 0;
	char buffer[1024];
	char temp[1024];
	int runBacon = 0;
	int runHex = 0;

	while((opt = getopt(argc, argv, "hvf:a:n:i:HB")) != -1){
		switch(opt){
			case 'h':
				printf("\nUSAGE: ./decode -f path_to_input_file type_of_decode options\n");
				printf("OPTIONS: -f [FILENAME] to specify input file\n");
				printf("OPTIONS: -v for verbose mode\n");
				printf("OPTIONS: -a [a or b] to specify which type of bacon alphebet (Bacon Cypher Only)\n");
				printf("OPTIONS: -n [0 or 1 or 2 or 3] to specify how the bitstring should be read\n");
				printf("OPTIONS: -i [t or f] to specify how 0's and 1's are read from the bitstring\n");
				printf("OPTIONS: -B for Bacon Cypher\n");
				printf("OPTIONS: -H for HEX conversion\n");
				printf("OPTIONS: -h displays this menu\n");
				printf("\nEXAMPLE: ./decode -f file -B -a b -n 2 -i f -v\n");
				exit(EXIT_SUCCESS);
			case 'f':
				scram = fopen(optarg, "r");
				fcheck = 1;
				break;
			case 'v':
				printf("\nTurning on Verbose Mode...\n");
				verbose = 1;
				break;
			case 'a':
				if(optarg[0] == 'a' || optarg[0] == 'A'){
					btype = 0;
				} else if(optarg[0] == 'b' || optarg[0] == 'B'){
					btype = 1;
				} else{
					printf("\nERROR: Invalid argument for for -a option, must be a or b\n");
					exit(EXIT_FAILURE);
				}
				break;
			case 'n':
				if(atoi(optarg) < 4){
					nflag = atoi(optarg);
				} else{
					printf("\nERROR: Invalid argument for -n option, must be 0, 1, 2, or 3\n");
				}
				break;
			case 'i':
				if(optarg[0] == 't' || optarg[0] == 'T'){
					bitflip = 1;
				}
				break;
			case 'B':
				if(runHex == 1){
					printf("\nERROR: Cannot run Bacon Cypher and Hex conversion together\n");
					exit(EXIT_FAILURE);
				} else{
					runBacon = 1;
				}
				break;
			case 'H':
				if(runBacon == 1){
					printf("\nERROR: Cannot run Bacon Cypher and Hex conversion together\n");
				} else{
					runHex = 1;
				}
				break;
			default:
				printf("ERROR: Unrecognized option, try -h\n");
				exit(EXIT_FAILURE);
		}
	}

	if(fcheck == 0){
		printf("ERROR: Must specify input file, try -h\n");
		exit(EXIT_FAILURE);
	}

	i = getlines(scram, line, nread, &ntot, len);
	
	if(verbose == 1){
		for(j = 0; j < i; j++){
			printf("Retrieved line of length %zu:\n", nread[j]);
			printf("line %i is: %s\n", j, line[j]);
		}
		printf("Total Characters Read: %i\n\n", ntot);
		j = 0;
	}

	for(j = 0; j < i; j++){
        	if(verbose == 1){
                	printf("Normalizeing line %i\n", j);
                }
                if(bitflip == 1){
                	flip(line[j]);
                }
                line[j] = normalize(line[j], nflag);
                if(verbose == 1){
                	printf("Line %i is now: %s\n", j, line[j]);
                }
	}
        
        j = 1;
        strcpy(buffer, line[0]);
        for(j = 1; j < i; j++){
        	strcat(buffer, line[j]);
        }
        
        if(verbose == 1){
        	printf("\nCombined String: %s\n", buffer);
        }


	if(runBacon == 1){
		for(k = 0; k <= strlen(buffer); k++){
			divideString(buffer, 5);
			if(verbose == 1){
				printf("\nString split into 5's for decoding:\n");
				printf("%s\n", buffer);
	
				printf("\nDebaconing:\n");
			}
			debacon(buffer, btype);
	
			shift(buffer);
		}
	}

	if(runHex == 1){
		for(k = 0; k <= strlen(buffer); k++){
			if(strlen(buffer)%4 != 0){
				switch(strlen(buffer)%4){
					case 1:
						temp[0] = '0';
						temp[1] = '0';
						temp[2] = '0';
						temp[3] = '\0';
						strcat(temp, buffer);
						break;
					case 2:
						temp[0] = '0';
						temp[1] = '0';
						temp[2] = '\0';
						strcat(temp, buffer);
						break;
					case 3:
						temp[0] = '0';
						temp[1] = '\0';
						strcat(temp, buffer);
						break;
					default:
						printf("Something bad happened...\n");
						break;
				}	
			} else{
				strcpy(temp, buffer);
			}
			divideString(temp, 4);
			if(verbose == 1){
				printf("\nString split into 4's\n");
				printf("%s\n", temp);
				printf("\nConverting to Hex:\n");
			}
			deHex(temp);
			clean(temp);
			shift(buffer);
			
		}
	}
	exit(EXIT_SUCCESS);

}

void flip(char *string){
	char *i;
	for(i=string; *i; i++){
		if(*i == '1'){
			*i = '0';
		} else if(*i == '0'){
			*i = '1';
		}
	}
}

void deHex(char *string){
	char buffer[5];
	int i = 0;

	while(string[i] != '\0'){
		buffer[0] = string[i];
		i++;
		buffer[1] = string[i];
		i++;
		buffer[2] = string[i];
		i++;
		buffer[3] = string[i];
		buffer[4] = '\0';
		i+=2;

		if(strcmp(buffer, "0000") == 0){
			printf("0");
		} else if(strcmp(buffer, "0001") == 0){
			printf("1");
		} else if(strcmp(buffer, "0010") == 0){
			printf("2");
		} else if(strcmp(buffer, "0011") == 0){
			printf("3");
		} else if(strcmp(buffer, "0100") == 0){
			printf("4");
		} else if(strcmp(buffer, "0101") == 0){
			printf("5");
		} else if(strcmp(buffer, "0110") == 0){
			printf("6");
		} else if(strcmp(buffer, "0111") == 0){
			printf("7");
		} else if(strcmp(buffer, "1000") == 0){
			printf("8");
		} else if(strcmp(buffer, "1001") == 0){
			printf("9");
		} else if(strcmp(buffer, "1010") == 0){
			printf("A");
		} else if(strcmp(buffer, "1011") == 0){
			printf("B");
		} else if(strcmp(buffer, "1100") == 0){
			printf("C");
		} else if(strcmp(buffer, "1101") == 0){
			printf("D");
		} else if(strcmp(buffer, "1110") == 0){
			printf("E");
		} else if(strcmp(buffer, "1111") == 0){
			printf("F");
		} else{
			printf(" ");
		}
	}
	printf("\n");
}

void debacon(char *string, int btype){
	char buffer[6];
	int i = 0;

	while(string[i] != '\0'){

		buffer[0] = string[i];
		i++;
		buffer[1] = string[i];		
		i++;
		buffer[2] = string[i];
		i++;
		buffer[3] = string[i];
		i++;
		buffer[4] = string[i];
		buffer[5] = '\0';
		i+=2;

		if(btype == 0){
			if(strcmp(buffer, "00000") == 0){
				printf("A");
			} else if(strcmp(buffer, "00001") == 0){
				printf("B");
			} else if(strcmp(buffer, "00010") == 0){
				printf("C");
			} else if(strcmp(buffer, "00011") == 0){
				printf("D");
			} else if(strcmp(buffer, "00100") == 0){
				printf("E");
			} else if(strcmp(buffer, "00101") == 0){
				printf("F");
			} else if(strcmp(buffer, "00110") == 0){
				printf("G");
			} else if(strcmp(buffer, "00111") == 0){
				printf("H");
			} else if(strcmp(buffer, "01000") == 0){
				printf("J");
			} else if(strcmp(buffer, "01001") == 0){
				printf("K");
			} else if(strcmp(buffer, "01010") == 0){
				printf("L");
			} else if(strcmp(buffer, "01011") == 0){
				printf("M");
			} else if(strcmp(buffer, "01100") == 0){
				printf("N");
			} else if(strcmp(buffer, "01101") == 0){
				printf("O");
			} else if(strcmp(buffer, "01110") == 0){
				printf("P");
			} else if(strcmp(buffer, "01111") == 0){
				printf("Q");
			} else if(strcmp(buffer, "10000") == 0){
				printf("R");
			} else if(strcmp(buffer, "10001") == 0){
				printf("S");
			} else if(strcmp(buffer, "10010") == 0){
				printf("T");
			} else if(strcmp(buffer, "10011") == 0){
				printf("V");
			} else if(strcmp(buffer, "10100") == 0){
				printf("W");
			} else if(strcmp(buffer, "10101") == 0){
				printf("X");
			} else if(strcmp(buffer, "10110") == 0){
				printf("Y");
			} else if(strcmp(buffer, "10111") == 0){
				printf("Z");
			} else{
				printf(" ");
			}
		}
		if(btype == 1){
			if(strcmp(buffer, "00000") == 0){
				printf("A");
			} else if(strcmp(buffer, "00001") == 0){
				printf("B");
			} else if(strcmp(buffer, "00010") == 0){
				printf("C");
			} else if(strcmp(buffer, "00011") == 0){
				printf("D");
			} else if(strcmp(buffer, "00100") == 0){
				printf("E");
			} else if(strcmp(buffer, "00101") == 0){
				printf("F");
			} else if(strcmp(buffer, "00110") == 0){
				printf("G");
			} else if(strcmp(buffer, "00111") == 0){
				printf("H");
			} else if(strcmp(buffer, "01000") == 0){
				printf("I");
			} else if(strcmp(buffer, "01001") == 0){
				printf("J");
			} else if(strcmp(buffer, "01010") == 0){
				printf("K");
			} else if(strcmp(buffer, "01011") == 0){
				printf("L");
			} else if(strcmp(buffer, "01100") == 0){
				printf("M");
			} else if(strcmp(buffer, "01101") == 0){
				printf("N");
			} else if(strcmp(buffer, "01110") == 0){
				printf("O");
			} else if(strcmp(buffer, "01111") == 0){
				printf("P");
			} else if(strcmp(buffer, "10000") == 0){
				printf("Q");
			} else if(strcmp(buffer, "10001") == 0){
				printf("R");
			} else if(strcmp(buffer, "10010") == 0){
				printf("S");
			} else if(strcmp(buffer, "10011") == 0){
				printf("T");
			} else if(strcmp(buffer, "10100") == 0){
				printf("U");
			} else if(strcmp(buffer, "10101") == 0){
				printf("V");
			} else if(strcmp(buffer, "10110") == 0){
				printf("W");
			} else if(strcmp(buffer, "10111") == 0){
				printf("X");
			} else if(strcmp(buffer, "11000") == 0){
				printf("Y");
			} else if(strcmp(buffer, "11001") == 0){
				printf("Z");
			} else{
				printf(" ");
			}
		}
	}
	printf("\n");
}

void divideString(char *string, int n){
	int size = strlen(string);
	int i = 1;
	int j = 1;
	int psize;
	char buffer[1024];
	
	strcpy(buffer,string);
	string[0] = buffer[0];

	for(i = 1; j < size; i++){
		if(j%n == 0){
			string[i] = ' ';
			i++;
		}
			string[i] = buffer[j];
			j++;
	}
	string[i] = '\0';
}

char* normalize(char* string, int nflag){
	char *i;
	switch(nflag){
		case 0:
			for(i=string; *i; i++){
				if(*i == 'y'){
					*i = '1';
				} else if(*i == 'o'){
					*i = '0';
				} else if(*i == 'g'){
					*i = '1';
				} else if(*i == 'p'){
					*i = '0';
				} else if(*i == '\n'){
					*i = '\0';
				}
			}
			return string;
		case 1:
			for(i=string; *i; i++){
				if(*i == 'y'){
					*i = '0';
				} else if(*i == 'o'){
					*i == '1';
				} else if(*i == 'g'){
					*i = '1';
				} else if(*i == 'p'){
					*i = '0';
				} else if(*i == '\n'){
					*i == '\0';
				}
			}
			return string;
		case 2:
			for(i=string; *i; i++){
				if(*i == 'y'){
					*i = '1';
				} else if(*i == 'o'){
					*i = '0';
				} else if(*i == 'g'){
					*i == '0';
				} else if(*i == 'p'){
					*i == '1';
				} else if(*i == '\n'){
					*i = '\0';
				}
			}
			return string;
		case 3:
			for(i=string; *i; i++){
				if(*i == 'y'){
					*i = '0';
				}else if(*i == 'o'){
					*i = '1';
				} else if(*i == 'g'){
					*i = '0';
				} else if(*i == 'p'){
					*i = '1';
				} else if(*i == '\n'){
					*i = '\0';
				}
			}
			return string;
		default:
			printf("\nERROR: Could not normalize stirng\n");
			return string;
	}
}

int getlines(FILE* stream, char** line, ssize_t* nread, int* ntot, size_t len){
	int i = 0;
	for(i = 0; i < 16; i++){
		nread[i] = getline(&line[i], &len, stream);
		if(nread[i] == -1){
			break;
		}
		*ntot += nread[i];
	}
	
	return i;
}

char* clean(char* string){
	char *nospace = string;
	char *temp = string;
	char buffer[1024];
	char t;
	int i = 0;
	int size;
        if(verbose == 1){
	        printf("\nRemoving Spaces\n");
	}
	while(*temp != 0){
		*nospace = *temp++;
		if(*nospace != ' '){
			nospace++;
		}
	}
	*nospace = 0;
}

char* shift(char* string){
	char *nospace = string;
	char *temp = string;
	char buffer[1024];
//	buffer;
	char t;
	int i = 0;
	int size;

	if(verbose == 1){
		printf("\nRemoving Spaces\n");
	}
	while(*temp != 0){
		*nospace = *temp++;
		if(*nospace != ' '){
			nospace++;
		}
	}
	*nospace = 0;
	if(verbose == 1){
		printf("\n%s\n", string);
		printf("\nShifting String\n");
	}
	strcpy(buffer, string);
	if(verbose == 1){
		printf("Buffer: \n%s\n\n", buffer);
	}
	t = string[0];
	size = strlen(string);
	for(i = 0; i < (size-1); i++){
		string[i] = buffer[i+1];
	}
	string[i] = t;
	string[i+1] = '\0';
	if(verbose == 1){
		printf("%s\n", string);
	}
}

Edit Again LOL: On a side note, CURE is trading over $1 now.... WTH lol. I've traded hundreds and hundreds of that coin at under 50cents.., oh well :(.  The 1080 and 1070 only make 2.4 cure/day now (Makes sense due to the huge price increase)

Edited by scr4wl

Share this post


Link to post
Share on other sites

  • ir_cow locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...