/r/CryptoTechnology
A subreddit for serious & technical discussion of cc/blockchain technology. Absolutely no memes, links, price, marketing or promotional posts allowed.
Welcome to r/CryptoTechnology. This subreddit is for Serious & Technical Discussion of CC/Blockchain Technology.
This subreddit is for the technology behind cryptocurrencies; the math, the code, the theories. We are pushing for quality, shilling will not be tolerated.
For market related discussion, use r/CryptoMarkets. For tech support, use r/CryptoHelp.
We allow any posts that promote healthy discussion of any coins or cryptocurrency in general in a technical manner. Instead of asking if "x coin is legit?", read the whitepaper and ask about the technical specifications that you might be skeptical about. Put some thought into your questions and/or answers.
This subreddit is for serious and technical discussions revolving around cryptocurrency technology, not a place to promote coins you love. Saying "x coin will moon" or similar, in any threads, will get you banned.
We're the toughest crypto subreddit on reddit when it comes to filtering for relevant and high-quality content. We apologize in advance if you're hit with a removed thread or reply, please feel free to message us if you'd like to appeal.
/r/CryptoTechnology
Okay, so devs it's is time to get a bit technical. So, If you’re using oracles in your decentralized apps, what’s the most challenging part for you? Is it all about dealing with latency or handling off-chain data? I’m curious because I’ve seen some frameworks playing around with things like multi-language support (Elixir/Erlang, Go, etc.). If anyone’s tackled this, I’d love to hear your experience!
Hey team. I just wrote an article in my blog, based on a joke of using Blockchain to store time series data but that experiments triggers what are the chance of building something scalable, in a local / private blockchain. In the public, no way, the cost of gas and probably speed can be the challenges, but something private? I use Ganache, Solidity and Python in my local network, but something more robust?
I don't want to link the article to not looks like I want to do spam, but I'm interested in thoughts about this.
With most of the blockchain world sticking to Solidity, I’ve been curious about languages like Elixir and Erlang. Their strong points in concurrency and fault tolerance are getting attention for new dApp architectures. Anyone experimented with these or other non-mainstream options?
Hello,
I am writing a literature review on the safety of data transfer with blockchain technology for an introductory class in research techniques. Blockchain has a reputation for being hack-proof, but from what I've read thus far that seems to only be true in regards to people making changes? Would it not be possible, say for example for someone trying to steal medical data, to bypass the entryption and read off the data on the blockchain? Or for said hacker to hack into one peer and read off the data from there? I'm very new to the topic so I assume there is something I've not picked up on or understood. Thanks in advance.
When we place bets on odds set by bookmakers, they can see the details of our wagers. This has led to some speculation in the sports betting world that bookmakers might use this information to manipulate outcomes. But what if we could create a system where our bets remain cryptographically sealed and are only revealed after the event? For example, we could place a bet on a football match, hash it, and send the hash to the bookmaker. After the match, we would then prove that the hash corresponds to our original bet. Would this change the landscape of sports betting?
I am a backend dev working on DeFi projects. Since I started to dive into DeFi deeper, I got an obsessive idea I just have to get out of my system. I’d love to if someone criticises it constructively.
Why not shape specific decentralised protocol around DeFi?
Here some basic thoughts. DeFi is all about the rules how value should be distributed. There are finite number of tools types serving this purpose. Thus there is no need in classic smart contracts agility. The protocol could have limited but sufficient number of possibilities to launch your own DeFi tool. Users can operate just with high level abstractions, while all essential algorithms are predetermined by node software. It makes the system load predictable.
This is the place where things become interesting. Since protocol algorithms are predetermined, transactions types should be structurally predetermined as well. However it doesn’t limit us in the number of transactions types. Each type should represent system activity component. For example there should be «place order» txn, «cancel order» txn, «trade» txn, etc. This approach allows to build order book spot markets, derivatives and lending markets right in Layer 1 chain. Which means (1) less intermediaries, (2) less fees, (3) more safety, (4) more usability.
Sticking to this idea, we can spread to protocol economic base rethinking. Since we have no need in classic smart contracts system, we have no need in gas concept. So why shouldn’t we squeeze max out of the idea and make «supportive» transactions, such as «place» and «cancel» orders ones, free. In the end one should pay just for beneficial actions, so transactions types like «trade», «open leverage position», «open derivative position» should should incur charges. To prevent pay-2-win behaviour let’s make fees flat, so no one could pay a little bit more to execute one’s order first. Last, to make the system reliable and fast, let’s guarantee valid transaction to be included into upcoming block algorithmically.
Alright, what do we have so far. Decentralised L1 protocol with flexible, flat fees table across defi segments, which prevents orders front running, excludes additional intermediaries and allows you to build customised defi tools: from L1 order book spot markets to sophisticated derivatives.
But wait. If there is flat fees table and guarantees that each valid transaction has to be included into new upcoming block, why anyone should care about network maintenance? What’s the motivation to hold full node? How will protocol become truly decentralised? Well, let’s spread transactions fees among node holders evenly. And to make an economic sense out of it, let’s limit the number of node holders participating in fees distribution at a given moment of time. The limit should depend on protocol trade activity: higher activity — higher the number of participants.
Alright, what about speed in terms of consensus? How do we decide who’s block will be included into the chain fast? Let’s make roles system. We could grant the Leader role to one of the node holders and transition it randomly among participating nodes over time. The other nodes become Auditors. To motivate Auditors lets make each node holder provide security deposit. If any Leader’s misbehaviour occurs, the first Auditor reports it earns the Leader’s security deposit and the network accepts Auditor block.
So, this is the big picture. What do you think? I am eager to constructive feedback
Hi everyone,
I'm wondering if any of here would recommend this online course: https://blockchain.professional.ucsb.edu/certified-multi-protocol-blockchain-developer/
I'm pursuing to develop a more technical profile in this field, Does anyone here know if this online course is worth the time and money?
We've been working on developing a Crypto Wallet Security Ranking aimed at improving web3 ecosystem safety for users. Given the complexities of assessing wallet security comprehensively (we want to test all the wallets periodically), we've adopted an interesting approach that I thought would spark some valuable discussion here.
Phishing attacks remain one of the most prevalent web3 threats. We realized that a wallet's ability to resist phishing attempts can serve as a strong indicator (proxy variable) for its overall security posture. Methodology details in this post.
I've developed a blockchain from scratch in Go with gRPC for learning purposes. I've also written the guide that explains the design of the blockchain along with practical usage examples. I hope the guide will help to effectively learn the blockchain concepts and progressively build a blockchain from scratch in Go with gRPC
What would stop a company from cloning any successfully functioning crypto to move money around instead of buying the existing crypto? Why does Moneygram use XLM to move money around instead of just creating their own? Thanks for your answers in advance.
I've been looking into hardware wallets recently and came across some interesting details about Ledger Stax’s security features, especially around the device and packaging. It made me wonder—how much does packaging security really matter compared to the actual device protection? For those of you using Ledger Stax, do you think it’s worth it over something like Trezor or the Ledger Nano?
Would love to hear your thoughts and experiences with it!
Most discussions around smart contracts are focused on Solidity and EVM compatibility. But are there other languages or frameworks that might offer unique advantages for smart contract development, especially for more complex applications?
I’m thinking in terms of performance, concurrency handling, or even integration with existing systems. Has anyone here explored these or seen projects that are experimenting with something different?
I would like to add a chat function into my Dapp but developing it is a little bit too much for me; I've noticed that there's no Dapps that has a messaging function within their site (it's always either on discord or TG). Is real time messaging onchain not feasable with Crypto yet in their current state?
If you’re into DeFi or hold a diversified crypto portfolio, what do you do when you need to legally prove your holdings (e.g., for loans, investments, or rentals)? Have you found any tools or strategies to get your holdings accepted as proof of wealth for the traditional world?
In 2023 alone, $4.6 billion was lost to scams that could have been prevented with better crypto wallet security. This article breaks down key security features like Threat Prevention, Intent Verification, and dApp Permission Control, showing how they can stop scammers Read more here.
Hi.
We've using a certain crypto merchant at our SAAS, and they have an API where you can generate unique addresses for USDT TRC (among others), that accept payments at a 1% fee, even if the amount is low, e.g. 0.50 USDT. Every time I send USDT TRC I need to pay at least a dollar in network fees, often 3 or 4, so somehow [our partner] must is be able to bypass this fee.
How does it work?
Thanks
https://positive-intentions.com/blog/blockchain-as-a-datastructure
I'm working on a p2p chat app and I wanted to investigate using a blockchain solution to order messages between peers. While it is primarily known for its role in cryptocurrencies, its potential extends far beyond digital currencies. In my app, blockchain technology is used as a data structure for decentralized message ordering.
The project is an investigation to see if we can create reliable decentralized communication by exploring the benefits and challenges of using a JavaScript implementation of a blockchain as a datastructure. My initial thoughts are that while it may be more work to implement, it seems quite performant and reliable. I can see how it could be useful beyond a chat app.
Looking forward to hearing your thoughts!
(Note: the project is far from finished and is provided for testing and demo purposes.)
From what I can find, all cryptocurrencies utilize some sort of gossip protocol for broadcasting messages. Would it be possible for a cryptocurrency that has a subset of nodes involved in consensus, for all nodes to just directly send messages to each other node, say for example if there are 1,000 or even 10,000 nodes? I know that there is overhead with keeping each connection, but is it so much that a node couldn't handle it? The number of connections in the whole network goes up quadratically with the number of nodes, but for each node it just goes up linearly. Let's assume that nodes rarely enter or leave the network. If this is theoretically possible without causing issues, do any cryptocurrencies do this? if not, why not?
...Converting massive amounts of legacy C and C++ code into Rust. This is a hot take, but for example in cryptocurrencies, we often say that "cryptocurrencies are the only thing that blockchains are useful for." And that's because everything else is better off using a central database, with a single server.
Cryptocurrencies require decentralization, and so blockchain is the best tool for that job. But blockchains are not very good outside of that requirement. No company would switch to a blockchain-style data storage tech stack for example.
Its a similar thing here with AI I think. AI has certain use cases, some more applicable to the technology than others, but one that I think it will be JUST RIGHT for is converting the mass of legacy C and C++ libraries into Rust. Once you can point AI to a git repo and get near flawless Rust code out, that'll be it for C and C++, I think.
The main issue with moving everything over to Rust, is, besides some areas where Rust has difficulty due to the usual industry-standard way of writing code relying on unsafety (e.g. games), WHO is going to write all this code? There's billions of lines of legacy libraries and code in the world, so who's going to rewrite it? The answer is usually nobody. But I think this is it. This is the task that AI is UNIQUELY suited for and that justifies its usage here. AI is pretty mediocre at many things that humans are good at, but I think here it is UNIQUELY SUPERIOR in a way that is unquantifiable and unchallengeable.
Imagine getting 90-95% good rust code by pointing AI to git repo with C/C++ code in it. Then you just have to go over it, fix the parts that got screwed up, and your legacy libray is now 100% safe! That's a pretty powerful pitch if you ask me.
This will be useful in cryptocurrencies because most older cryptocurrencies came out before Rust was really a thing, so converting their C++ codebases to Rust with AI will be a real timesaver.
I'm using NowPayments.io API for the payment processing, with a python web app backend I can securely connect to and control. The app is also able to trade crypto according to specifications with a MACD crossover. Visit the app at https://Lotteh.com or my GitHub at https://GitHub.com/daisycamber
Without any trust assumptions, it is not possible for a peer to know its public address because you cannot create a communication protocol between two peers that can be validated. This is due to the characteristics of the network, such as packet loss, delays, and other issues. Furthermore, this problem is analogous to the Two Generals Problem, which highlights the difficulty of achieving certainty in communication over unreliable networks. The essence of this problem is that you cannot determine whether the other party has received the message you sent, except by assumption.
In a decentralized environment, an entity with malicious behaviour can exploit the other peer if the incentivized protocol is based on optimistic assumptions, which encourage the client and server to send and receive messages. This is why a STUN server, based on a trust assumption, is necessary in the system. Its reliability is maintained through the project's tokenomics, which includes DAO functionalities.
If we have these trusted STUN servers in the system, the clients are capable of deciding whether they are behind symmetric NAT or not by sending requests to 2 different STUN servers. If the received port is different, unfortunately, the peer is behind symmetric NAT and it cannot make a direct connection with other peers behind NATs. They should use a TURN server(Decentralized TURN servers are future plans).
Besides NAT compatibility, a given peer has just known its public address.
On the blockchain, there is a phonebook where user identifiers are linked to public keys. To initiate a call, the caller should create a request with the callee's identifier and an offer related to the call, which includes media capabilities and the public address. This offer is encoded with the callee's public key, so only the callee can decode it. It’s important to note that the offer contains minimal information, approximately 20 bytes, not the full SDP.
The callee must be reachable at the time of the call, meaning they need to have an internet connection to actively poll for events related to their user.
Once the callee receives the offer, they prepare an answer, which is shared on the blockchain, and then initiate the media stream to the address specified in the offer. After receiving the answer, the caller starts the media stream to the address provided in the answer. Finally, the call is established.
STUN servers are added to the trusted STUN server list on the blockchain through a voting process. This ensures that only trusted STUN nodes, which have staked enough tokens, are available to users. The voting is conducted using the token DAO functionality.
To incentivize the honest behaviour of STUN servers, two approaches are possible, depending on the resource requirements for answering STUN requests. The cost is theoretically minimal because several free STUN servers are available on the internet(future research).
I am also designing a decentralized system where TURN servers are incentivized to forward packets to recipients. Servers with TURN and STUN functionalities in a decentralized network would be the best approach to addressing all P2P communication challenges.
A Trusted Execution Environment (TEE) is like a private, secure area inside your device where sensitive tasks are handled safely. It’s cut off from the main system, so if something goes wrong elsewhere, the crucial stuff in the TEE stays safe. Think of it as a secure locker for important apps. Even if hackers get into your device, they can't reach what's locked away in the TEE.
Refer : https://medium.com/@audacelabs/tees-unleashed-turbocharging-mobile-and-blockchain-security-fb27157ddc9c
Seems like a cool idea that can have much scopes.
There's a lot of talk about blockchain for voting, something I'm both for regarding integrity but against regarding the technical barriers for those who have no technology to vote. However, I feel the best place to start with blockchain is the GAO. Fully transparent government spending on a blockchain could drastically reduce government waste, provide much greatly transparency and accountability, be more easily monitored and coordinated, and facilitate resource usage across the government.
This chain could account in value for the entire budget, then be distributed accordingly to departments and branches. Purchases could occur on the blockchain then converted to either fiat or other tokens (if the vendor accepts those tokens) to complete the transactions. Resources could be more easily shifted from spot to spot as well. Each employee gets a wallet as does each department, agency, branch, etc., and the tokens would cascade downward to enable those employees to make their purchases. With the thousands of systems in use in the government, each could participate on the network to facilitate transactions and provide proof. There would be no technological barriers here like there might be with voting. Each budget year, all unspent tokens (haha) could be accounted for and shifted into something like municipal bonds or treasury bills, then the budget would reset and the process started over. Each year's chain could possibly be archived as closed, or forked? This part I'm unsure of, but I'm simply trying to solve the 'reset' factor in an annual budget and feel it's an important aspect for it to work properly. Maybe it's possible to 'transform' blocks from "dollars" to "office supplies" on a chain so they are still allocated to the same wallet, just changed for inventory purposes? (Simply a thought, I don't think that's possible but I could be wrong).
I'm just putting this up for discussion if you're interested. I feel spending has always been out of control as many do, and that the only way out of debt is better transparency.
And of course, "It'll never be allowed to happen" comments are fine but are of no value because we all think that, but let's not think that here. They'll just clutter meaningful conversation, unless you have a specific point to make about why. It's also from a US perspective, not that I'm excluding others, just providing my frame of reference.
How can I build a centralized crypto exchange? I don't have any programming experience, but I want to create an exchange with improved features compared to the ones most people use today. Also, do you think decentralized exchanges (DEX) will become more popular in the future? I'd appreciate any advice. Thank you in advance!
One major advantage of PTLCs over HTLCs for atomic swaps is that there is no direct on-chain linkage of paired PTLCs. However, as with anything related to privacy, heuristics and correlation of metadata such as timing can link txs with high degree of confidence. The privacy of a single PTLC thus depends on the existence of other PTLCs; the greater the anonymity set the better.
Here are some ideas, used together, to get full advantage of PTLCs.
(For the sake of this discussion, we will assume that the increased plasma requirements are not a problem.)
In the light of these discussions, a “use case” repo was recently published on this topic by a community developer CryptoFish from r/Zenon_Network
Repo: https://github.com/KingGorrin/znn_ptlc_use_cases_go
Publications are open source and open to new developments and discussions.
The narritive in the crypto market has been RWA and AI. I think web3 gaming wil follow after that.
But the strange thing is that ticketing on the blockchain also has a great usecase and can bring a lot of people into the crypto web 3 world. Its one of the easiest way for adaption.
Imagine a whole arena full of people visiting a show with a web3 wallet with their nft inside of it. All because they want to visit their favorite artist. The nft ticket can be tradable on an nft marketplace that you can purchase with crypto.
The technology of the blockchain delivers perfect data voor the the event organisers and artist and ticket scalping would be a thing of the past.
I think ticketing is a great utility of blockchain technologie and is great for the ecosystem of crypto
For example: If a token has a tax of 1%, how would a lp contract know how much tax to deduct during swapping? Can anyone explain this? are there functions for it? if yes, which one?
Also, do LP contracts deduct taxes? What is the process of tax deduction
Here's my list so far
Storage sharing
Storj - centralized, but pays out in crypto
Siacoin - Fully decentralized storage
Filecoin - Decentralized storage, but requires a lot of resources to participate.
Arweave - Decentralized permanent storage
BTFS - Bittorrent file system, effectively get paid for pinning IPFS files
Network sharing
Mysterium - Get paid by acting as a VPN provider / exit node
NKN - Seems somewhat abandoned, relay network traffic
Utopia - Relay network traffic
PKT cash - Currently bandwidth hard POW, aims to transition to becoming a mesh vpn
Helium - LoRaWAN to internet gateway
Nodle - Bluetooth low energy to internet message relay
Subsidised compute - contributions to existing volunteer compute projects
Curecoin - Get paid for participating in folding@home
Banano - Get paid for participating in folding@home
Gridcoin - Get paid to participate in BOINC projects
Decentralised compute - Providing your computing power directly
Flux - Decentralised cloud compute, fixed node sizes. Requires a fair bit of collateral compared to the amount of earnings
Akash - Runs on kubernetes, can allocate any amount of resources
Golem - Primarily GPU compute focused
Are there any projects that I've missed, or any categories that I missed?
This is a great initiative example for those curious about Chain Abstraction. I recommend checking it out