Show Posts
|
Pages: [1]
|
So here’s my question: do you think I should release it? Could it actually do more good than harm? I’d really appreciate your honest opinion.
My first honest opinion would be the many engineers at Oracle could design something more efficient than a single person. But I'm typing this on a bitcoin forum, so I know its happened before. The military will use anything that gives them an edge but we can't stop moving forward out of fear, right? It's not like your new database format will change the world like the fusion bomb did. I would think most field applications in the military would not need a joinable database anyway. All the cross referencing and sneaky calculations would be run on army mainframes before the mission started - not under limited/restricted conditions. Would you release it as open source like mySQL or as a managed service? Are you looking to be recognized as an inventor or do you want to make as much $ as possible? If you can give us more details of your future plans, we can help you with your choice in a more informed manner. I’m aware that if I were to pass away...
You will never experience your death - not the entire thing, anyway.  I agree that Oracle obviously has endless advantages when considering different functionalities, but it's like perspective— for example, in the Roman Empire, there was an almost invincible wall, but it would only take an ancient army with a different perspective, like flight, to bring down the castle by having a completely different viewpoint. It might sound crazy, but it comes down to that. BoundDB is like looking at a different perspective than the one currently known for data storage. Anyway, I plan to publish the project soon. Although the documentation is sparse, if I see that the community is interested, I can start adding some layers that I will leave out for now.
|
|
|
Hi everyone, how are you doing?
Back in 2023, I created a database called BoundDB. Based on my own testing, it outperforms MySQL in speed and is more scalable than MongoDB — specifically when considering resource efficiency as the only factor.
Until now, I haven’t shared much about how it works. But after almost two years of development — with most of this past year dedicated to improving it — I’m seriously considering making it public. That said, your reaction to this post will play a big role in my decision.
I’m aware that if I were to pass away, I might be hiding something that could actually be useful to the world. Still, I’m feeling somewhat conflicted. The truth is, I’ve realized that nearly everything we create ends up being used for military purposes in one way or another — and sadly, that seems to be the norm.
BoundDB was built entirely by one person (me), and it’s incredibly lightweight and compatible across almost any environment. To give you an idea, I even managed to run it on a PSP handheld console.
So here’s my question: do you think I should release it? Could it actually do more good than harm? I’d really appreciate your honest opinion.
|
|
|
Não é a primeira vez que esse tipo de ban ocorre, seja por parte da Google ou por parte da Apple.
Agora, eles proibiram de você desenvolver novas apps, ou simplesmente tentar submeter essas novamente? Provavelmente proibiram submeter novamente essas apps, digo eu...
Se você fizer alguns ajustes, mudar o nome e apresentar outros/mais detalhes, acredito que passe. Mas, não sou especialista nessa área, apenas um palpite.
Desculpa pela demora em te responder, o ban na verdade foi sobre minha pessoa e estou proibido de desenvolver para playstore ou de usar adsense para monetizar qualquer coisa pro resto da vida, ainda tem o aviso "Se criar outra conta essa também será banida e os gastos não reembolsados". Enfim, infelizmente a realidade é que o google se tornou uma ferramenta de supressão e além de tudo é um monopólio, apesar de ser algo simbólico minha única arma eu uso contra eles que é o boicote, porém sei que isso é simbólico pois não terá impacto nenhum. Creio que se eu fosse de outro país como: EUA, China ou qualquer outro do continente Europeu as consequências não seriam as mesmas.
|
|
|
secp256k1 is secure for more than 15 years, I've not seen any proof of the opposite so far. Your code doesn't prevent the generation of a random number for a private key that is out-of-bounds making the private key invalid.
You can believe what you want, lets hope other used library functions catch such edge cases.
I'm too lazy to calculate the probability that your used random generator will produce a value above the generator point value. We might not see it in our lifetime. I don't like conditionals very much when there could be certainty.
Anyway, lets hope nobody looses coins inspired by your code.
About generate private keys out of range, I just fixed this possible issue, thanks for the warn. However, when this happens, it basically generates an error, but prevention is never too much. I changed this line from: random_number = random.randrange(2**204,2**265)
to random_number = random.randrange(2**204,115792089237316195423570985008687907852837564279074904382605163141518161494335)
|
|
|
I would worry more about that your code as far as I see it can at least in theory generate private keys outside the valid range. To my knowledge private keys for Bitcoin must be in the range [1...n-1] with n being the generator point in hex FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141 Chances are miniscule that your random generator produces a value above the maximum allowed value, but anyway it's possible if I read (and understand) your code properly. Likely such an out-of-valid-bounds condition will be caught when you try to generate the public key from the private key. But who knows how well the imported library functions handle this. Worst case: you have addresses that burn coins. And the way you use the range bounds for random number generation looks somewhat odd to me, too. I don't code in Python, I can somewhat read and mostly understand Python code OKish. I wouldn't trust the way you generate random numbers as private keys here. As long as secp256k1 is secure, I believe this code will also be. The smallest wallet it could generate would have at least 2²⁰⁴ and if you compare it to the most famous and true Bitcoin puzzle, its largest wallet is 2¹⁶⁰ The way I know to protect your cryptos from future quantum computers is to always keep the assets in a wallet where you have never sent a transaction. This way you protect your public key. In other words, if you send funds to someone the unspent should be sent to a new virgin privkey that you have access to.
|
|
|
without saving any of the key data on the computer Do you mean "without storing any data on the disk", instead? When the computer generates a private key, it temporarily stores it in memory, and can be accessed by any software with elevated privileges at that time. It does not enhance security, apart from malware with read access to the disk space. You're still transmitting a private key into a printer with (most often) closed-source firmware, all of which usually have network access. That's not something I would worry about. If you don't know the equipment you're using, you're at risk, and that wouldn't necessarily be because of the code used. If someone wants to read your PC's memory maliciously, they could access anything on it including banking data 
|
|
|
Hello, I'm going to present this code I made, I hope it can be useful for you. This code is not something innovative, but it can enhance your security. Basically, it generates a private key with the possibility of a randint from 2^204 to 2^256 for some cryptocurrency and prints it on your receipt printer, without saving any of the key data on the computer import random import binascii import ecdsa import hashlib import sys import json import requests from requests.auth import HTTPBasicAuth
from base58 import b58encode def secret_to_address(secret, pfv,legacy=False): pubk_pair = from_secret_pubk_point(secret) compressed_pubk, pubk = _pubk_to_compressed_pubk(*pubk_pair) address = _pubk_to_address(pubk,pfv) if legacy else _pubk_to_address(compressed_pubk,pfv)
return address
def from_secret_pubk_point(secret): CURVE = ecdsa.SECP256k1
sk = ecdsa.SigningKey.from_secret_exponent(secret, curve=CURVE) pubk_vk = sk.verifying_key # the point pubk = binascii.b2a_hex(pubk_vk.to_string()).decode('ascii')
pubk_x = pubk[:64] pubk_y = pubk[64:]
return pubk_x, pubk_y
def _pubk_to_compressed_pubk(pubk_x, pubk_y): EVEN_PREFIX = '02' UNEVEN_PREFIX = '03' LEGACY_PREFIX = '04' y_parity = ord(bytearray.fromhex(pubk_y[-2:])) % 2 prefix = EVEN_PREFIX if y_parity==0 else UNEVEN_PREFIX compressed_pubk = prefix + pubk_x
pubk = LEGACY_PREFIX + pubk_x + pubk_y
return compressed_pubk, pubk
def _pubk_to_address(pubk,prf): pubk_array = bytearray.fromhex(pubk)
sha = hashlib.sha256() sha.update(pubk_array) rip = hashlib.new('ripemd160') rip.update(sha.digest()) if prf=="0": PREFIX = "00" elif prf=="1": PREFIX="30" elif prf=="2": PREFIX = "1e" key_hash = PREFIX + rip.hexdigest() sha = hashlib.sha256() sha.update(bytearray.fromhex(key_hash)) checksum = sha.digest() sha = hashlib.sha256() sha.update(checksum) checksum = sha.hexdigest()[0:8] address_hex = key_hash + checksum bs = bytes(bytearray.fromhex(address_hex)) address = b58encode(bs).decode('utf-8')
return address
def secret_to_wif(secret,prf): if prf=="0": PREFIX="80" elif prf=="1": PREFIX="B0" elif prf=="2": PREFIX="9e" hex_string = hex(secret)[2:].zfill(64) pre_hash = PREFIX + hex_string
hash_1 = hashlib.sha256(binascii.unhexlify(pre_hash)).hexdigest() hash_2 = hashlib.sha256(binascii.unhexlify(hash_1)).hexdigest() checksum = hash_2[:8]
pre_hash_checksum = pre_hash + checksum from_hex_string = int(pre_hash_checksum, 16) def _get(idx): ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' m = 58**idx idx = from_hex_string // m % 58 return ALPHABET[idx] IDXS = range(51) wif_str = "".join(map(_get, IDXS))
# Reverse rev_wif_str = wif_str[::-1].lstrip('1')
return rev_wif_str if __name__ == "__main__": txF="" arrtxt=[] def tryx(): s=input("Choose one of the options\nBitcoin: 0\nLitecoin: 1\nDogecoin: 2\n") if s!="0" and s!="1" and s!="2": print("Invalid option, type a number between 1 and 3") return "" return s def chkZ(): z=input("----\nAmount of private keys\n") try: if int(z)>25: print("Maximum 25 private keys at a time") return "" return z except: print("input must be integer") return "" def qxA(): d=input("type y or n if you want save public addresses in a json file\n") if d.lower()=="y": return "y" sv=False r="" while True: s=tryx() if s!="": z=chkZ() if z!="": w=qxA() if w!="y": break r=input("Type name to json eg: dogeAdrs\n") sv=True break for _ in range(int(z)): random_number = random.randrange(2**204,115792089237316195423570985008687907852837564279074904382605163141518161494335) address_legacy = secret_to_address(random_number,s,True) address = secret_to_address(random_number,s) wif = secret_to_wif(random_number,s) l=0 js={"wif":wif,"address_legacy":address_legacy,"random_numb":random_number} js0={"Address uncompressed":address_legacy,"Address compressed":address} arrtxt.append(js0) txF+=f'Wif: {wif}\nAdr Unc: {address_legacy}\nAdr: {address}\nRandom: {random_number}\n\n' if sv: with open(f"{r}.json","w") as e: json.dump(arrtxt,e) import subprocess command = f'echo "{txF}" > /dev/usb/lp0' subprocess.run(command, shell=True)
If you found this funny, say it here =D Demo video https://www.youtube.com/watch?v=E7q0ITuXCykMy doge wallet 🤪 DMPeovrJCxyDoBH2n7bHsThsSejoHKFKPF
|
|
|
Acredito que isso tenha acontecido pois existem muitas wallets falsas na play store se passando por outras wallets oficiais (tipo a da Electrum).
Pelo que eu vi no print, sua wallet se chamava "Bitcoin Wallet Generator", que é um nome extremamente generico que poderia se passar como uma wallet ""oficial"" do Bitcoin (ainda que isso não exista de verdade). Se você tivesse criado um nome próprio, tipo " BitcoinKeeping - a bitcoin wallet", provavelmente não teria tido o app removido.
Então se fosse somente os aplicativos que tivessem sido suspensos eu não teria criado esse tópico, o problema é que me baniram de desenvolver qualquer outro aplicativo/jogo dentro da plataforma da playstore, e no comunicado diz: Se você criar outra conta para continuar desenvolvendo na playstore essa será banida e os fundos não ressarcidos, fora minha conta do admob/adsense, eu só acho contraditório pq enquanto eles deixam anunciantes criar deepfake e usar a imagem do Luciano Hang vendendo ar-condicionado por 200 reais por exemplo, eles banem um aplicativo inofensivo e o criador desse. Acho que a única coisa que o google tem por consequência de atitudes controvérsias e sem sentido como tal é um olhar de insegurança, até pq o nome do desenvolvedor na playstore era "diversity company" e a logo era uma serpente, eles inventaram um motivo esdrúxulo como pretexto para me banir, de qualquer forma achei humilhante. Edit: Você pode muito bem ser o cara que vai dizer: "Mas eles não precisam revisar os anunciantes na sua própria plataforma" - Eu entendo seu ponto, mas isso acaba por minar a confiança neles, porque como eu vou saber se outra anunciante é confiável se várias são fraudulentas e eles banem aleatóriamente aplicativos inofensivos? Enfim isso seria o questionamento de uma pessoa leiga na internet que provavelmente corresponde a 80% dela ou até mais.
|
|
|
Bom é bem provável que eu sofro hate nesse post, pois certamente vocês veem o google com admiração e irão dar razão para eles, entretanto esse ban que eu tomei em junho (ban permanente onde eu não posso criar outra conta para desenvolver) eu acredito que foi totalmente injusto. Eu sou programador e maior parte do meu tempo eu dediquei para lançar aplicativos na playstore, entretanto esses dois aplicativos me deram grandes problemas, e se fosse hoje certamente eu não teria os lançado kk. Explicando resumidamente os aplicativos serviam para o usuário criar carteiras de bitcoin/dogecoin e salva-lás localmente no seu celular, inclusive é open-source e de fato os dados eram somente salvos localmente no celular do usuário - algo extremamente simplista e funcional - mas esse ban me deixou perplexo, pois a motivação para tal foi: "Impersonation policy", ou seja significa que eu tentei me passar pelo bitcoin/dogecoin sem devidas autorizações, como se eu tivesse tentado passar-se por um aplicativo pertencente diretamente a rede bitcoin ou dogecoin, mas tudo isso não faz sentido, pois como eu tentaria me passar por algo que é descentralizado e não tem dono como a rede bitcoin e a doge? Tipo mesmo se o próprio Nakamoto criasse uma carteira, ele ainda sim, mesmo se quisesse não teria como dizer que aquilo pertencia diretamente ao bitcoin ou mesmo se passasse por tal, pois ele é criador e não dono, fora que tem outros apps similares como "Bitcoin Wallet" no playstore desde 2014 que nunca foi banido ou sequer suspenso. Vocês podem dizer: "Ah mas o google é gigantesco e esse ban foi de forma aleatória", entretanto foi algo bizarro, pois foram banindo tudo pertencente a minha pessoa até chegar na minha conta de desenvolvedor, primeiro foi o admob e adsense, depois o google extension (que eu abri conta mas não havia extensão ativa), e logo após minha conta de desenvolvedor p/ playstore, cada semana foi um ban diferente. Vou deixar a print traduzida e a original para vocês tirarem suas próprias conclusões, mas não quero me vitimizar, apesar de achar que se eu fosse um norte americano/chinês ou um cara rico e conhecido o google não trataria a situação da mesma forma e com tamanho desdém, sim eu confesso que o nome dos aplicativos pode ter gerado confusão, mas é pra tanto? Obs: só estou postando isso pois é algo que me deixa frustrado até hoje, enfim galera eu me dediquei anos programando principalmente para a dogecoin, então esse ban foi simplesmente uma poda cruel, pois estou desanimado de programar, e por exemplo eu fiz um bot no tg para enviar/receber dogecoin e criar carteiras dogecoin, e isso foi feito a partir de um trabalho que tem anos, não é uma gambiarra que liga api de uma empresa terceira como a maioria pensa, eu consigo criar as mesmas funcionalidades até para um raspberry pi ou mesmo para google play, apple store etc.  
|
|
|
Legal o projeto, mas taxa de carteira é complicado. É tão fácil usar uma carteira que não cobra nada, o meu pensamento inicial é que eu só aceitaria pagar isso se o seu bot realmente fornecesse uma vantagem clara. Além de você ter acesso às chaves privadas. Por exemplo, dê uma olhada na carteira da BONK que também funciona totalmente no Telegram e facilita a compra e venda de tokens na Solana. Eles lucraram milhões de dólares esse ano simplesmente por que na meme season era praticamente obrigatorio usar ela para fazer transações rápidas. Produto que vale a pena pagar a taxa pois é indispensável para aumentar o lucro. Se não for realmente deixar rodando, considere botar no github e deixar o código aberto.  Acredito que a taxa em si esteja justa além da simplicidade e transparência em verifica-lá. Sobre as chaves você pode usar "delprivkey" e sua chave simplesmente não existe mais no sistema, eu garanto isso mas compreendo a desconfiança. Esse post foi mais uma apresentação do que uma divulgação, talvez algum dia eu publique uma colaboração para a doge lá no github 
|
|
|
Olá para todos, gostaria de apresentar um sistema simples mas que eu nunca tinha visto antes (talvez exista kkk) que eu criei para a dogecoin, enfim se alguém quiser testar fique a vontade, eu vou deixar por aproximadamente 1 semana desde essa publicação ele rodando, se caso não gerar lucro ai eu deixo fora do ar pra não ter custo, é isso vou deixar o link do vídeo no youtube do funcionamento. https://www.youtube.com/watch?v=Xs6vSy_HLSsÉ fato que a maior parte do tempo ele ficou e provavelmente ficará fora do ar, eu raramente irei ligar o sistema se não houver interesse, por isso você deve guardar sua chave privada e também recomendo que use as carteiras que o bot gerar somente para receber doges temporariamente então depois enviar pra sua carteira offline ou exchange sei lá, caso vc for usar o sistema né kkk. No geral é seguro e você também pode deletar sua chave do sistema quando quiser usando: /delprivkey "chave", por enquanto a serpens não tem recursos para permitir importação de carteiras, mas isso é devido a falta de dinheiro mesmo, lógicamente se der lucro iremos permitir importação de chaves e também expandir para o bitcoin. Você deve perguntar: Onde fica o lucro de vocês nisso? - Lhe respondo que fica básicamente nas transações que é feita dentro do bot, pois para cada transação é cobrado .35 doge de taxa que é enviada para uma carteira nossa :3 e também tem a taxa dos mineradores que fica em torno de 0.01/0.04 doge, não pretendo mudar o valor da taxa tão cedo apesar de ser uma váriavel e poder ter um dia que esteja .01 doge como estar 3 doge, você pode conferir a taxa antes usando: "/checkfee". Acho que é isso, ah deixa eu me apresentar brevemente também, meu nome é Rafael, comecei programar quando tinha em torno de uns 17 e tô com 21y. Se você tiver interesse que eu aprofunde mais o sistema e permita mais coisas e também deixar o sistema sempre disponível você pode doar qualquer valor em doge para essa: DPK1HetPWrCrFBHMMUrLgGtRKUC6EJCD8i  Só pra lembrar que você não é obrigado a nada, muito menos a testar o sistema ou sequer olhar o vídeo ou ler até o final disso aqui então não precisa dar hate, invés disso pode somente me ignorar acho que é isso então, tchau <3 
|
|
|
Boa noite glr tranquilo com vcs? Eu entrei pouco tempo no fórum então talvez minha postagem possa ser um pouco confusa kkk
Enfim eu estava vendo sobre a blaze casas de apostas ela opera somente em três países: Brasil, Colômbia e Chile, e ai se vc tentar acessar com VPN da Suíça por exemplo eles bloqueiam o IP, e dos EUA aparece um aviso dizendo algo como: "A blaze não opera nesse país", enfim esse nem é o ponto do tópico, mas vcs talvez já ouviram falar sobre os jogos de cassinos digitais que são claramente fraudulentos como "jogo do tigrinho" e outros que ficam na blaze.
Acontece que eu estava navegando pelo kwai (é um app bem medíocre nos conteudos nao recomendo) e então vou na "central de jogos" e adivinha só o que tem lá? Todos aqueles joguinhos fraudulentos que estão uma febre de marketing no Brasil e muitos estão perdendo dinheiro por serem leigos e semi-alfabetos - Fortune Tiger, lucky rabbit o outro do dragao. - Estao la todos esses, mas eles não servem para apostar dinheiro, tem um código modificado para servir ao sistema do kwai, ou seja seria a raiz desses jogos chinesa? Fica minha dúvida.
|
|
|
import random import binascii import ecdsa import hashlib from base58 import b58encode
def secret_to_address(secret, legacy=False): pubk_pair = from_secret_pubk_point(secret) compressed_pubk, pubk = _pubk_to_compressed_pubk(*pubk_pair) address = _pubk_to_address(pubk) if legacy else _pubk_to_address(compressed_pubk)
return address
def from_secret_pubk_point(secret): CURVE = ecdsa.SECP256k1
sk = ecdsa.SigningKey.from_secret_exponent(secret, curve=CURVE) pubk_vk = sk.verifying_key # the point pubk = binascii.b2a_hex(pubk_vk.to_string()).decode('ascii')
pubk_x = pubk[:64] pubk_y = pubk[64:]
return pubk_x, pubk_y
def _pubk_to_compressed_pubk(pubk_x, pubk_y): EVEN_PREFIX = '02' UNEVEN_PREFIX = '03' LEGACY_PREFIX = '04' y_parity = ord(bytearray.fromhex(pubk_y[-2:])) % 2 prefix = EVEN_PREFIX if y_parity==0 else UNEVEN_PREFIX compressed_pubk = prefix + pubk_x
pubk = LEGACY_PREFIX + pubk_x + pubk_y
return compressed_pubk, pubk
def _pubk_to_address(pubk): pubk_array = bytearray.fromhex(pubk)
sha = hashlib.sha256() sha.update(pubk_array) rip = hashlib.new('ripemd160') rip.update(sha.digest()) PREFIX = '00' key_hash = PREFIX + rip.hexdigest() sha = hashlib.sha256() sha.update(bytearray.fromhex(key_hash)) checksum = sha.digest() sha = hashlib.sha256() sha.update(checksum) checksum = sha.hexdigest()[0:8] address_hex = key_hash + checksum bs = bytes(bytearray.fromhex(address_hex)) address = b58encode(bs).decode('utf-8')
return address
def secret_to_wif(secret): PREFIX = "80" hex_string = hex(secret)[2:].zfill(64) pre_hash = PREFIX + hex_string
hash_1 = hashlib.sha256(binascii.unhexlify(pre_hash)).hexdigest() hash_2 = hashlib.sha256(binascii.unhexlify(hash_1)).hexdigest() checksum = hash_2[:8]
pre_hash_checksum = pre_hash + checksum from_hex_string = int(pre_hash_checksum, 16) def _get(idx): ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' m = 58**idx idx = from_hex_string // m % 58 return ALPHABET[idx] IDXS = range(51) # sufficiently long wif_str = "".join(map(_get, IDXS))
# Reverse rev_wif_str = wif_str[::-1].lstrip('1')
return rev_wif_str q=0 if __name__ == "__main__": inxd=random.randint(10000000000,115792089237316195423570985008687907852837564279074904382605163141518161494336) address_legacy = secret_to_address(inxd, True) address = secret_to_address(inxd) wif = secret_to_wif(inxd) print(f'''Wif: {wif}\nAddress Legacy: {address_legacy}\nAddress: {address}\nIndex: {inxd}''')
I have another code that can generate any characteristic name you want in any position in the portfolio, if you want, let me know and I'll post it here Examples: 1Nx8dUJf^^MoNey^^N4tffTNxYnbVFNmjeAWrH IF you want take a dogecoin address you change the value of the "PREFIX" variable of function "_pubk_to_address" to 1E AND variable "PREFIX" of function "secret_to_wif" to "9e" If the script already exists on the forum, forgive me ~_~ This is my bitcoin wallet 1BW2nioZSMS5VFkiebM3eGhxRH2v1idsih, if you want to donate some satoshis =3
|
|
|
|