testnet addresses on bitcoin - Bitcoin Stack Exchange

The power of "import electrum" as a python bitcoin scripting engine

I've been a big fan of Electrum as a wallet for a while now. Traditionally, when I wanted to do bitcoin scripting I would use either trezorlib, pycoin, or bitcoinlib. But recently I was digging a bit deeper into the Electrum source and found it to be one of the simpler python libraries to use to craft bitcoin transactions.
One of the nicer things about Electrum as a scripting engine is that you can drop the standalone app or AppImage on a system and run your scripts directly through the console. This makes doing things on Tails or other locked down systems much easier. To run one one of your scripts (without the event loop) simply type (assuming you correct the file path):
with open(r"myscript.py", 'r') as s: exec(s.read())
Obviously only do this with scripts you've personally authored. Never run random code on your machine especially when wallet private keys are in play.
There are already some great scripting examples in the electrum\scripts folder, but most of these use the event loop which brings in a lot of overhead. I found simple TXN processing can easily be done without spawning an full electrum thread. I'd be happy to PR the samples if there is any interest in this style from the maintainers.
Here's two examples I put together that craft a BIP65 spending transaction. It turned out to be much simpler than I imagined. I did it both in bitcoinlib and electrum. The structure is very similar and should hopefully be easier to follow. Feel free to start a PythonRoastMe on it.
Two things of note. I had to disable R-value grinding (nuked while loop) so that I had parity with bitcoinlib, which hasn't rolled it out yet. This is why the TXIDs differ. I also had to override the the PartialTransaction.get_preimage_script method since it makes certain multisig assumptions that don't apply to generic scripting.
Reference: * Electrum script to spend an OP_HODL P2WSH address (txid 3a461e6...78de2b6) * Electrum script to spend an OP_HODL P2SH address (txid a8110bb...3dadc93) * BitcoinLib script to spend an OP_HODL P2WSH address (txid 3a461e6...78de2b6) * BitcoinLib script to spend an OP_HODL P2SH address (txid a8110bb...3dadc93) * TXID 3a461e6...78de2b6 (P2WSH) on the blockchain * TXID a8110bb...3dadc93 (P2SH) on the blockchain * BIP-0065: OP_CHECKLOCKTIMEVERIFY (aka OP_HODL) * BIP-0141: P2WSH symantics * BIP-0016: P2SH symantics
submitted by brianddk to Electrum [link] [comments]

Recap of AMA with Zac on July 3 and Q2 report

Dear Pundians,
Thank you for participating in the AMA session with Pundi X co-founder and CEO Zac Cheah.
For those of you who may have missed it, the live recording of the AMA session held on July 3 at 10:00 am GMT+8, tackling Q2 progress and addressing questions and concerns by the community members, can be viewed here. A side note that today’s AMA video quality and setting was not ideal. We acknowledge this situation and will make improvement for our next AMA session.
You may also find a summary of the Q2 progress presentation as well as all the detail Q&A below.
## Pundi X Q2 2019 Highlights
* Pundi X has integrated more public chains into our products. In Q2, we completed integration of Binance Chain. NEM chain is in the work. As of today we’ve launched BNB, the Binance Chain native Coin and XEM, NEM native coin on Pundi X payment platform. We will integrate at least one more public chain in Q3.
* The transactions on XPOS for Q2 is 15.5 million in USD, which is close to 300% quarterly growth. The number of transactions is 29,367, which leads to a 11% growth QoQ.
* XPOS has successfully received FCC and KC certifications. A new certification for Latin American market is on the way. * To expand XPOS footprint, Pundi X’s integration with a new leading mainstream point-of-sales device is in the work. Stay tuned for the announcement.
* Pundi X Open Platform was launched in May, 2019, which now supports ERC20 and BEP2 token listing. Moving forward, we will continue to support tokens from other public chains.
* A 3,000 XPASS order from DigiX, a gold-based token, and a 10,000 XPASS order from BitCobie this quarter.
* XPOS is spread in use in over 30 countries. We’ve published a map of XPOS location of self-report XPOS merchant directory. You can find a list of selected XPOS merchants at [https://www.pundix.com/products\](https://www.pundix.com/products). * The QoQ growth of XWallet is tremendous at 43%. In the previous quarter, we have less than 20k users, whereas in Q2 we have hit 297k XWallet users.
More updates on XWallet:
* Supported BNB and NEM tokens; 2FA, face ID, and optimized SMS serviceAvailable on iOS, Android as well as in Samsung Galaxy Store
New features coming up in Q3:- DApp integration - Decentralized wallet- In-app crypto payments - Chat service, which will be compatible with a commonly used chat app- f(x) testnet features to be rolled out first in XWallet
## Other notices coming up in Q3 2019
* The Q2 token removal will take place on July 14, 2019, which will involve in total 34 billion of NPXS and NPXSXEM (22 million worth in USD) removal. In the past 365 days, we’ve removed a total of 36.1 million US dollar worth of NPXS and NPXSXEM.
Before Q2 removal, the total supply of NPXS ERC20 is 266,962,422,906.53 and NPXSXEM is 95,816,218,929. [See Q1 removal here.](/pundix/recap-of-ama-with-zac-on-july-3-and-q2-report-a23de165dd28)
* [NPXSXEM will be ported to Binance Chain from July 20](/pundix/npxsxem-will-be-on-binance-chain-c6485f17726b). * XPhone pre-order will start in late July with a new product name. Stay tuned. Check out the teaser video that we are releasing it across our communication channels. ## Q&A
## On XPOS
* **Where are we on official global location of XPOS?**
Zac: We have made a map on our official website that merchants can self report and feature their locations. It’s at [https://www.pundix.com/product\](https://www.pundix.com/product). We’ll be increasing and updating the map once we have permission form the merchants to update their locations.
* **The marketing from pundi has shifted from 100,000–700,000 xpos units by 2021 to 100,000. I understand the bear market has affected this but please share the strategy moving forward to hit your goal. How do you feel about hitting this goal?**
Zac: The 100K XPOS target has always been the initial goal and it’s stated in our whitepaper. And we are still working on achieving the goal by the end of 2021. Part of our growth strategy is to also explore the possibility to port our platform to traditional POS manufacturers to increase the adoption, which is ongoing at the moment.
* **1 year ago you sent 5000 XPOS somewhere. When, at least half of them, will be working? 3 year target was 100,000 by 2021. Now we have only 150 units, how do you expect to reach this goal?**
Zac: Yes, we have shipped thousands of XPOS to over 30 countries in the world. The 150 you’ve mentioned are the featured merchants which are published on the map. The active XPOS devices are deployed over 33 countries and we are actively talking to B2B partners to have higher wholesale and big deployments.
* **How many XPOS are live and used?**
Zac: We have gone through a very serious bear market, and some of the initial inbound requests for XPOS are not delivered. However, we are working slowly but surely with our Business Development team to not just roll-out into individual buyers, such as what we did on Pizza Day, but also to B2B partners. With the certifications approved, that will also help us to officially roll out to some of the key markets.
Individual merchants can use XWallet collection feature to accept crypto payment with QR code. For the merchants who have physical offline storefronts, they can use XPOS to enable the instant crypto transaction seamlessly. Moreover, as mentioned previously, we are exploring the integration on leading traditional POS terminal so that their distributors have option to enable crypto transaction feature. As for the challenge to adopt XPOS, it is the regulatory compliance in different countries. For this, our legal team think ahead and encourage our merchants to complete KYC.
I must be very honest to say the activation takes longer time than we expect but it will be worth at the end.
* **What’s the average number of transactions per xpos in use?**
Zac: The transaction number has increased very well. The number of each XPOS differs, due to the frequency of using crypto currency to purchase item or crypto assets. There’s no standard answer to this, but overall we see the transaction number and volume are going up.
* **How do you plan to reach the target of 100,000 by 2021?**
Zac: One of the challenges that we have is regulatory compliances in different countries. There are certain markets that do not allow crypto currencies and some require a clear approval for us to deploy XPOS. We are working on both challenges by talking to governments and applying for certifications. So how we plan to reach 100,000 XPOS user by 2021 is to work with distributors, B2B partners on a government / business level, and with existing POS companies to integrate our software solution into the system.
* **We understand as there was bear market and hence Xpos usage demand was low. Are you guys seeing growth of Xpos usage with current market conditions. Can you guys put some statistics comparison like last 30 days Xpos usage vs any month from bear market usage?**
Zac: It is very clear that as we moved out from the bear market, the demand for XPOS has been increasing. As we’ve shared just now both the transaction number and volume of Q2 have beaten Q1. We’ll be able to share more transaction numbers once we receive approval from our XPOS merchants.
One exciting thing is that, with the listing of different tokens, we also see users using these tokens as a way to transact on XPOS, which means we will be having more ways to transact and this is a growth point for XPOS.
* **When will there be more details for XPHONE and XPOS HANDY?**
Zac: For XPOS handy, we have finished production and it will be released in Q3
* **When will the iOS version of XWallet and XPOS be fully translated to other languages?**
Zac: Right now, the XWallet has Traditional Chinese, Korean, Spanish, German and English. With the latest version update, it now includes Portuguese. XPOS also comes with many languages and we hope to finish with more language, either working with professionals or volunteers. If you’re interested in volunteering, please contact us.
* **When will the Merchant back office have Product Registration and SKU id ability and also integrate with other POS software?** * **When will the top-up feature go away for XPOS to allow liquidity for XPOS**
Zac: We constantly update features in XPOS and merchant backend to make it easier for distributors and merchants to use. We understand that one of the ways for mass adoption is to enhance our distributor management system. With that, the distributors can manage manay XPOS at one time with different merchants.
Please stay tuned as we announce more and more functions of this feature.
## On Dubai
* **When will we see the deployment of the XPOS in Dubai?** * **Can we spend NPXS on the Dubai XPOS?**
Zac: As with all big projects there are a lot of moving parts, that includes working very closely with the local government, in Dubai’s case, the Credit Bureau of the Finance Ministry. Things are progressing for the Dubai project but due to confidentiality agreements with the parties involved, we cannot reveal much. All we can say is that we and our Dubai partners are working hard to have XPOS roll-out in the Dubai market and the UAE.
We are also discussing aggressively with Dubai partners whether to include crypto assets in the XPOS in Dubai. That clearly will involve local compliance and legal for that to happen.
* **Your system upgrades expect merchants to have downtime on their XPOS terminals, can you explain if you plan to run a business why this would be considered feasible (specially at the rate you have been doing your upgrades)?**
Zac: Yes, the benefit / strength of the XPOS is that most of the updates can be done on the fly. For example, when we have a token update on our XPOS where developers submit their tokens on Open Platform, the updates of this token are on the fly, which means that once we approve the token on our Open Platform, it will automatically appear on XPOS without any software updates.
The great thing that we believe about XPOS is not just the support of crypto assets, but also the ability to update most things on the fly, which means that whenever we have a good feature or a new token, the updates will be done instantaneously.
* **Can you guys arrange at least a community voting which is the next blockchain we would like to see next in XPOS? Voting will help to prioritize to chose the projects.**
Zac: One of the reasons why BNB is being listed on the XPOS is simply because of its popularity and also our user demand, in a way that we are already answering to our community’s request.
Right now, our main focus is getting all the tokens submitted on Open Platform to be listed on the XPOS. The submission process includes legal and compliance valid, so our legal and compliance teams are working hard to make sure that we have more tokens to roll out onto Open Platform, which means that they will be on XPOS, XWallet, and XPASS.
As to a specific voting mechanism, we’d like to consider that and hopefully we’ll be able to run a specific voting for the chain which users would like to see.
* **While comparing Xpos handy to Square POS devices at least with mobile it’s very cheap like under $30 and easy to use. When can we expect such light weight and cheaper version for XPOS? Is team working on such devices ?**
Zac: There are different POS companies around the globe and pour focus is to work with these POS companies with our software, so that a crypto sales feature will be part of the existing POS system. The more support of crypto asset usage using our software on existing POS, the better it is for global adoption.
We actually strongly believe that the pricing of our POS system is competitive in the market. And one of the great features of the XPOS is that the merchants will not need not to pay a certain percentage to existing acquirer but to be able to earn certain percentage from each transaction. That is the key differentiator for merchant to want to adopt this.
* **From the website with some of the key Countries for XPOS adoption looks great. However, the concern is for Venezuela, there is no reference link like the others have. Can you guys add the link with details to clear the ambiguity?**
Zac: Let’s give a little bit more patience so that we can actually release more information about our Venezuelan partnership. The good news is that we expect concrete news from Venezuela in the coming 2 weeks. So stay up-to-date about our Venezuelan roll out on XPOS, the best way is to subscribe to our telegram group for Venezuela.
## On Partnerships
* **Are there some major partnership in the works? I’m also interested in how you do immediate transactions? Do you anticipate scaling issues?**
Zac: The way XPOS is being designed is that when you use your crypto assets to purchase, it will have instantaneous confirmation because the action is an off-chain process. An on-chain action happens when a user who owns crypto assets in our system transferring the assets out of the Pundi X ecosystem to their own wallets; or to transfer crypto assets in Pundi X from an off-chain to a private wallet, which we will have very soon on XWallet itself.
That is why we are able to handle scaling. When a person wants to use crypto currency to buy a coffee, the transaction will happen instantaneously.
For specific partnership, especially with B2B partnership, we oblige to the NDA that we have signed. But if you follow us closely, you’ll know that we go to different parts of the world, talking to major companies to try to land more deals so that NPXS usage will increase dramatically.
* **Any big partnerships for making xphone or using the software for xBlockchain?**
Zac: These partnerships are also subjected to NDA, so please be patient for us to release more news.
* **When will XPOS have approval to process Visa and MasterCard payments?**
Zac: We have met representatives from these players including some of the key management people. They are obviously looking into crypto currency attentively, and we hope that there’s something we can do with MasterCard and/or Visa.
This is something that the community has suggested and we agree fully. Please allow us with some time to work on this. We have also showcased XPOS to the CEO of MasterCard. For what or when will anything happen, please wait for our official announcement.
* **What’s the status on Quantum fund and their contribution or involvement with Pundi’s project?**
Zac: We announced last year that we are creating a fund to invest in projects beneficial to our ecosystem. We’ve identified some interesting projects, and we have invested in at least 1 project. The reason why we’re investing in that project is because of the services that it will bring onto the Pindi X ecosystem. So the purpose of the investment of the companies is that these companies in turn will benefit on our ecosystem. This is our key consideration.
The team has evaluated the projects that will benefit the Pundi X / Function X ecosystem. Vic and his team will be able to reveal more details on the companies we have invested in and how they will contribute to our ecosystem in Q3.
* **Recent update on NPXSXEM is highly ambiguous as mentioned that it will be now BEP token and later once FX goes live it will get back to Fx platform. Why you guys had so rush to use Binance chain only for few months? Isn’t you guys switching to much in a short time span?**
Zac: Liquidity and utility have been an issue for NPXSXEM. Due to the design philosophy and the limit of token that can be created on NEM’s smart contract, we are only able to create a small number of tokens on NPXSXEM. By moving into the Binance chain for NPXSXEM, the BEP2 token version will be able to support all the NPXSXEM tokens, which means that we’ll migrate and also be able to make sure all the NPXSXEM tokens are under the same contract address.
We believe with the strong liquidity, we will be able to give our NPXSXEM token holders a good reason of what the token holders have been waiting for. We hope to bring NPXSXEM to match the level of NPXS.
* **When #XRP?**
Zac: Our OpenPlatform is a currency agnostic platform, which means that we will work on integrating public chain as well as tokens that are most requested by the users. We’ll also be looking into the listing of different tokens that are being mentioned by the community.
As said, we will have at least one more public chain integration in Q3, perhaps even more.
* **Are you as a company going to try and connect with libra? If they have said they want to be a payment remittance service, have Square, PayPal, Visa on board I as an investor would prefer you try to join them rather than beat such large competitors**
Zac: Of course, we’ll be delighted to work with Facebook and also the Libra coin. Pundi X and XPOS is a currency agnostic / currency neutral platform, if there’s opportunity to list Libra coin or work with Facebook in different ways to promote crypto currency adoption, we’ll certainly look into that and work on reaching out to them.
## On Trading
* **Can you confirm during AMA, Pundi team is not involved with any trading with their own token like selling over time to manage the fund to run the company.**
Zac: All the wallet addresses of the team holdings are disclosed and transparent. This is one of the first things that we did after ICO. Hence, our token holdings are transparent and everyone can monitor our fund transactions. Also, we have strict internal financial regulation and compliance, shows that we are here to build a long-term project.
The best way to make NPXS or the NPXSXEM to rise is real daily life use case.
* **When will you stop manipulating NPXS chart?**
Zac: Our focus has always been and will be building great products. The more product usage, the demands for NPXS and NPXSXEM will increase. Let’s address again that, Pundi X the company is NOT involved in any manipulation of the NPXS price.
There are trading teams, market makers, financial institutions that profit from the drop and rise of token prices in the crypto market. The good thing about NPXS is that we have managed to create a high liquidity by listing on 40+ exchanges and having global trades and demand from all over the world. We hope this and coupled with the fact that we are a solid product and roll out the use cases, the demand of NPXS will only continue to rise and will be able to deter any of the traders or speculators there is for NPXS.
These traders gain profit from manipulating tokens whether BTC or other tokens. In fact, the traditional financial markets have similar challenges as well. What I want to stress is that, we at Pundi X, do NOT speculate or manipulate the price. We work very hard to create demands for NPXS and as a company, it is only beneficial for us to see the prices of NPXS and NPXSXEM rise.
* **Can we please address the elephant in the room which is the Binance bot with huge sell walls and buy walls causing huge distress and concern among users?**
Zac: First, I cannot confirm nor deny that whether Binance has a bot. I think this is something that you need to ask Binance. We need to work with Binance because Binance has one of the biggest liquidities, if not the greatest liquidity, for NPXS. The best way to counter manipulators is to create more use case, more demand and more acceptance of our tokens.
* **Why on almost all exchanges do you not offer a USDT trading pair?**
Zac: We have USDT trading pairs on Bittrex, Bittrue, and more. In addition, we have fiat pairs in Korean Won, IDR, INR, and Turkish liras. We will continue to work on adding trading pairs for NPXS to make it more liquidate.
* **Why don’t you offer a stable coin sell and purchase on the xpos to help with adoption? Places in Africa with volatile currencies would go crazy for this.**
Zac: It’s a great observation. This is a request that’s been asked from many users. We’re working on stable coin listing on XPOS and hopefully it’ll come soon. Stable coin requires a greater compliance and legal validate, which we have been working on since months ago and we hope to have the stable coin up in XPOS soon.
* **When will you add an active tracker for coin burn, whether its measured in usd, NPXS or whatever you choose. The community has been asking for this on twitter, reddit and telegram for this entire year.**
Zac: It will be hard for us to have a daily tracker of the coin burn, but what we might be able to work on is a tracker which have shown all of the tokens that have been removed from the usage. Thank you for giving us this great suggestion and we will work on it in some form.
Zac: Our token supply has always been specified in our white paper, and as promised in our white paper, we will continue to remove tokens through usage and use cases, which we’re working on all the time.
* **Price movement. When will NPXS go to which price?**
Zac: We cannot comment on the change of the price. Our focus is on building products. We hope by doing that the NPXS value will go up. Again, there’s no way that we can comment on the price.
**I believe that burning tokens every 14 weeks keeps the price suppressed and will only lead to huge pumps and dumps. Imo, If the burns were more frequent, the price would move organically.**
Zac: We continue removing tokens quarterly per advised by our legal and compliance team.
**Is it mandatory npxs swap? What happens for token we have in binance?**
Zac: No it’s not a mandatory NPXS swap for FX.
**How many NPXS or NPXSXEM was converted?**
Zac: In Q2, we will remove 29B NPXSXEM and 9B NPXS.
## On XWallet
* **Why not put in XWallet like the place where we can buy and sell like restaurants and shops?**
Zac: You are correct. In fact, if you look at XWallet, there is a merchant feature, whereby you can register as a merchant. By becoming a merchant, you will be able to print out your QR code and stick it on your restaurant. People are able to make payment through this QR code. This will act like a mini-XPOS.
* **In addition to that having multiple different blockchain in XWallet will increase the XWallet adoption. Hence, we would like to see aggressive game plan and execution from the team and would like to hear that**
Zac: That’s a great suggestion. Every day we want to increase use cases for XWallet. In fact, our XWallet update is one of the most frequent in the market. Within 5 months, we have over 10 updates on iOS and Google Play. This does not include soft update which happens every several days. In my view, the effort is very tremendous.
* **Is there any plan to add Swap option within XWallet so that people can trade the coins within XWallet?**
Zac: Yes, there’s such plan and in fact there is an upcoming feature that people will be able to use coins in XWallet to exchange into other things. The exact form and format have not been reviewed. We hope to share more when we have concrete example. But what you suggested is what we are planning for months ago.
* **When will XPOS and XWallet have fiat on ramps?**
Zac: This is a good question. It’s not only involved with regulatory compliance but also involved the technical part. This is also something we are planning for months. Once approved, hopefully we are able to support fiat currency on ramps and off ramps on XWallet.
**On Others*\*
* **How is the internal organization doing? Currently how many employees work for Pundi? Currently how many job positions are open?**
Zac: Pundi X has grown tremendously. We are now having over seven offices around the globe. I’m sitting in the Singapore office. We have office in Jakarta, Taiwan, Tokyo, Shenzhen, São Paulo and London. These are the places we have physical offices and house approximately 100 full time employees of Pundi X.
The positions open from Pundi X are legal associate in Singapore and other offices. We are looking for more R&D people, especially in Taiwan. We are looking at marketing and PR people in different parts of the world. And we are looking for POS distributors. As a POS distributor, you will work with our business development team and also our technical team to roll out many XPOS which you have a network to control in your local market.
* **Would you consider removing the KYC to allow u.s. holder to stake and be rewarded?**
Zac: We would love to have more users, including US. However, our compliance and legal advisors have not allowed us to accept US holders to stake and be rewarded.
I’m sorry to say that but this is after serious consideration to make such a decision. In fact, it is a very hard decision because we have healthy user base in the US.
will continue to monitor the situation in the different markets and be compliant. There are also ways to be rewarded when using XWallet service without KYC. We are looking into to explore more on this and launch new features. Hopefully we are able to bring the beta version for you to test this week or next.
**On XPhone*\*
* **Where are we on pre-sale announcement of Xphone? It was highlights of Q2 goal. If we are getting delay, that’s ok. But at least community will have some clarification why it’s getting late and when approximately it coming?**
Zac: Pre-sale order will start this month. It’s likely the end of July. Pre-sale will take place in different channel including the official website and XWallet. Apart of our own channel, the pre-sale will go live on a 3rd party channel. People will be able to pre-order crypto either in crypto or in fiat.
* **Can you discuss in AMA, is participants can pay with Crypto or Credit/debit card or in both ways?**
Zac: As a crypto company, we prefer payment in crypto, but fiat, Visa, MasterCard, and other traditional payment methods will be accepted on different pre-order channels. Stay tuned for pre-order which will happen in late July.
* **Will the Xphone be open to purchase in all regions of the world?**
Zac: Yes, pre-orders will be able to be done on-line, and products will be shipped from our offices to users in different parts of the world.
* **Will the blockchain mode on the Xphone be operable during the testnet or will this function not work until mainnet?**
Zac: XWallet and XPhone are the first channel and avenue for Function X testnet, so once the testnet is operateble, we will start to engage certain services on XWallet and XPhone into Function X testnet, and ultimately into mainnet. Slowly but surely.
* **Does Xphone have hard protective cover,extra Sim slot, also is it enhanced with ip68 water rating?**
Zac: XPhone will not be waterproof, so please do not submerge XPhone into water. XPhone will definitely be eavesdrop-proof because we’re using a blockchain mode, only you and you control your own conversation.
* **Which country accept the Xphone?** * **Will I also be able to use the SIM-card?** * **The blockchain modus will work in every country (what in the absense of nodes)?** * **Will the XPhone I buy now support updates in the future?**
Zac: People from any country will be able to buy XPhone on-line. You will be able to use a SIM for we have built a SIM slot. Wherever you are, the XPhone can be turned on to become a node.
Will XPhone support future updates? Yes, of course. Just like the XPOS, we support silent update. It will be like how we support XPOS, many updates. The updates will always be supported on XPhone.
**On Function X*\*
* **When is the detail white paper coming for FunctionX? Why the team is very resistive to have well documented white paper? We need scientific approach and well documentation on FunctionX to have developers to be more involved.**
Zac: Yes, developer involvement is a key criterion of the growth of Function X. We have done 2 things, one is that we have set up Function X Foundation which is led by David Ben Kay and will involve third party adviser and board members. Second, we have set up a developer relations team led by one of our own members as well. This team will work on creating developer documents, developer demos and sample, so that excellent developers can tap into working with Function X resources.
The first version of developer documentation is ready in English and Chinese. We are still polishing up the documents and hopefully to release them soon.
We are also working with third party developers, and are engaging at least 2 third party developer companies, so that we can help create their services on Function X and also XWallet.
We are hoping to showcase a smooth and usable service to the audience, we think this is the key criterion of the Function X growth.
Thank you for this suggestion. We need to update more often on github developer documentation as well.
As for the white paper, we did not have one per se because Function X did not do an ICO. But we will continue to update our white paper and include not only technical details, but also details on the chain and how we can get more developers and users so that the future hardware will be added as a node and you will be rewarded financially, at least through our ecosystem genesis fund. Please stay tuned and there are a lot of things going on in the company. Each and one of us is working hard.
* **Why does the FX ecosystem need a decentralized OS?**
Zac: The mantra of Function X is decentralization and having private control of your data. A full private control of your data comes with a decentralized system not just in transmission of your data, but with the operating system built fully for decentralization , which includes a transmission protocol replacing http. The apps uploaded into Function X will be decentralized as well as the data that is stored on the app, which means that how BitCoin or crypto assets are verified on different nodes will also be part of the way we store data and content.
The decentralized OS is key to fulfilling a decentralized environment for a more private and free usage.
* **What about FX are you most excited about?**
Zac: We are actually creating a shift of how people view of blockchain and how decentralization is not just about transacting commercial commodity, but also data, including your identity, are all decentralized. That is what we are most excited about.
The only way for us to achieve this is to have developer support, for we need the developers to build on the foundation we have to offer those exciting services.
* **We understand that developing a new blockchain is time consuming. As a community we are in a dark space to understand where exactly the development of FX right now.**
Zac: We are working hard on creating the testnet and eventually the mainnet. For the latest updates of Function X, what I can encourage you to do is to go on and subscribe to the Function X telegram group where discussions are made. We have formed the Function X Foundation and created the developer relations team, so that the Function X progress will go smoother and with more partnership from outside, whether it’s developers, third party companies, teleco, etc.
* **When FX goes live on the mainnet, will FX coin be used to stake and earn NPXS? how will staking work on that new mainnet?**
Zac: The NPXS/NPXSXEM staking will last till March 9, 2020 as announced. What we are committed is to create more use cases. For FX tokens, the use cases will be focusing on the Function X Chain and the use cases on Function X that include DApp on Function X and different hardware/software services.
* **When fx testnet will be available?**
Zac: First I would like to thank you for your constant support. In Q3, we plan to open Function X testnet so that we will be migrating and creating certain use cases that can be used on Function X testnet, starting with our own XWallet. Which means, the XWallet will migrate some features into Function X testnet, and slowly followed by our other Pundi X products, including XPhones, XPASS, Open Platform and Function X own developer related products from third parties.
submitted by crypt0hodl1 to PundiX [link] [comments]

Best General RenVM Questions | August 2019

Best General RenVM Questions of August 2019

These questions are sourced directly from Telegram, other monthly FAQ can be found here: https://docs.renproject.io/darknodes/community/monthly-community-faq
Q: So RenVM is essentially a BFT protocol (with 1/3 malicious nodes) that does ECDSA threshold key generation and signing? Is that right?
A: Yes, that's exactly what we have! We are exploring getting this to 1/2 and are confident it is possible, but the current implementation on Testnet is 1/3. Just today we also pushed an update that doubled the speed (and halved the bandwidth) of the sMPC signing algorithm.

Q: Have any tests been done on the speed of Interoperability?
A: The Testnet demo is live and open to the public, have a play with it and let us know about your experience (including speed). We have done some preliminary profiling; numbers look good so far. Fast enough for a single shard to keep up with Bitcoin.
The next version of RZL sMPC is under development and will introduce pre-computations that significantly increase the peak performance of RenVM from 10 TPS to over 100 TPS (these numbers are based on our initial conservative estimates).

Q: Currently, we see a quick performance of the swaps. When migrating to the mainnet (considering there will be real mainnet of say 250 Darknodes and real BTC, ETH, etc.) will it affect the speed?
A: Speed is a complex issue when it comes to RenVM. I'll try and break it down:
The biggest concern for speed is that RenVM needs to wait for a transaction to be confirmed on one chain before shifting the tokens to another chain. When working with Bitcoin this can take hours. -So latency is unavoidable (think of latency as how long a tunnel is) -So what about throughput (how wide the tunnel is)?
First, how to solve the latency problem. Well, we cannot actually solve it because we cannot change Bitcoin. But we can work around it by using "Universal Interoperability." In this model, a third party takes on the confirmation risk. While RenVM waits for the confirmation of a transaction on Bitcoin, the third party steps in and fulfills the Ethereum side of the transaction with BTC that has already been shifted previously. When the Bitcoin transaction is finally confirmed, the third party is refunded using the newly shifted BTC. This means the third party is taking on risk (the Bitcoin transaction may be shuffled away), so they charge a fee to cover this + their services. This means that the shift can be almost instant, and the only thing we need to worry about is throughput.
We believe we can get 10 TPS throughput, which is more than Bitcoin, so throughput isn't a problem (we only need to be as fast as Bitcoin). For other chains that are faster, we can introduce multiple shards. If one shard can do 10 TPS, then 10 shards can do 100 TPS.
I've described this process with Bitcoin, but it works for any pair of chains. Also, the third party cannot be guaranteed to step in (maybe they don't want to take the risk today) but if they do not, then the transaction will still go through but just at the slower speed. If the third party does step in, they're guaranteed to be refunded. So the introduction of "Universal Interoperability" does not introduce any central trust into the system.

Q: So Universal Interoperability is a partially centralized thing?
A: No because any third party can step in and provide the service. Further, the processes involved are all handled by smart contracts.

Q: Has there been a discussion of security in terms of sharding? Getting 1/3 stake and compromising a shard is obviously much easier than compromising the network, what's everyone's thoughts on that?
A: Yes there has; once you move to a sharding model, the risk of an attacker gaining control of a shard becomes a probabilistic problem rather than an absolute one (for example if you're sampling with replacement, in theory, a single attacker can corrupt the whole network).
Let's say an attacker owns enough of the network to have a 2^-1 chance of corrupting a shard (expected time to attack = ~2 days). If you are using a 20/20 multi-sig, where each shard controls one signature, then the chance of corrupting enough shards becomes 2^-20 (expected time to attack = ~2800 years).
In line with this example, the shard could be around N=24 (which would have a corruption chance of ~0.56) so each shard can be very fast (and shards would be running in parallel). Obviously we want to avoid multisigs (they're expensive and not all blockchains can support them) but this is mostly an example of the larger concept: requiring multiple shards to work together.

Q: Just got curious if the bug-fixing and developing has been overwhelming since the release of testnet? How do you feel it's been so far?
A: I wouldn't say overwhelming. It's definitely keeping us busy. Finding bugs and fixing them is actually very satisfying work; it reduces stress by increasing confidence, and this helps improve motivation and productivity.
It's also good to be able to revisit parts of the system and go about perfecting them. Often in software development, there is the adage "never optimize early". Well, the time has finally come to optimize (not just performance, but design, safety, etc.). Everyone wants the thing they build to be perfect, and being able to make that the focus is an awesome feeling.

Q: Is there a reason for having private repos?
A: It's important for the success of the network to maintain a competitive advantage, and important to avoid "day zero" bugs from people that find them but don't report (in the hopes to take advantage). We'll be getting the code (and our maths) reviewed and audited, and probably show it to first adopting groups so they can verify it themselves, and as Mainnet grows we will open-source everything, along with a Transperency Plan that outlines when and how repos will be open-sourced.

Q: My Darknodes still show the old command center. How do I view them on the new one?
A: The new Command Center is for RenVM specifically (and it's only viewable on RenVM Testnet); once we switch Darknodes over to the RenVM network, they will utilize the new Command Center.
To play around with it, put your MetaMask on Kovan Test Network. A video that a community member created can be found here: https://twitter.com/RenIsLyfe/status/1166091169853579265?s=20

Q: Digital Ocean (DO) sent me a message saying my VPS would be down for maintenance, is this an issue?
A: Nope, this is just part and parcel of using a VPS. From time to time, they need to do maintenance. They will inform you if you need to take action.
This is a real-world example of why it's crazy to expect a decentralized network to have all participants online all the time, and why you cannot "incentivize" being online by punishing being offline. It's unavoidable even when there are entire expert teams with years of experience on the job. The more nodes you have, the more likely any one of them is to experience an issue like this at any one time.
Your REN is not at risk if your Darknode does go offline. It is also unlikely that a Darknode that is offline due to these kinds of circumstances will remain offline long enough to be forced out of the network.

Q: Will the community darknodes be partaking in the RenVM Testnet, or are you using your own nodes to test it out, or is it a gradual deploy?
A: The team has about 24 Testnet Darknodes that power it. We may open these Testnet nodes up to a few groups in the Working Group, but no public participation of Testnet Darknodes will be pursued at this time.

Q: A couple of questions for the team: 1) Bonded REN value informs how much value can be securely shifted through RenVM at any given time. If bonded value drops below the threshold, are there any risks beyond incentive to collude which arise? is there any liquidation risk ala TBTCsigners? 2) Does RenVM enforce any time floors/ceilings on shifting/locking tokens? I assume anything like that would be enforced by a third party like Compound?
A: 1. There are collusion risks but we plan to mitigate this by having Darknodes able to "tell on each other" so if you are colluding with someone that you don't trust 100% you risk losing your bond so attacks only really make sense if you own all the colluding Darknodes (which, by definition, isn't really collusion it's buying up a bunch of REN). There is no liquidation risk. This is one key reason why we bond using REN, not another token; the "value of REN" is tied only to the use of RenVM. The safety of RenVM is predicated on the use of RenVM. RenVM is used = RenVM is safe
  1. No time ceilings. We've been having discussions about how to keep Darknode well incentivized to maintain long-term deposits, but (a) most of RenVM's UX is built around handling the native token, not a wrapped version of it (how is a BTC maxi going to get a hold of ETH to use their ERC20 BTC?), and (b) payments will be paid out over time to RenVM not instantly so this creates a more stable income for the Darknodes instead of large but infrequent lumps of pay, (c) we got another trick up our sleeve that I'll be adding to the GitHub any day now, (d) if you have ideas about how to incentive Darknodes to maintain BTC that is being deposited long-term, please feel free to let us know!

Q: Has there been a pattern established where third-parties could pay the gas for the eth transactions needed during shifting? For instance, would it be straightforward for an app dev to pay the gas for the user but add a small additional fee onto the RenVM transaction? They would pay the gas in ETH for the user in exchange for that value collected in BTC or zBTC?
A: This is going to be very straightforward for devs. We are designing examples as we speak to set the standard for doing this and therefore make integration as easy as possible.

Q: Can a RenVM gateway addresses be reused? As in if a user creates a gateway address for 0.1 BTC, can they send exactly 0.1 BTC that address, mint zBTC, and then repeat that process again without creating a new gateway?
A: Currently no, a gateway can only be used once; but we are in the process of creating that feature and it should be ready within the next month or so.

Q: What’s the best way to set up a Darknode if I only have Microsoft?
A: We do not formally support a Windows CLI as of right now, but we are adding Windows CLI support prior to Mainnet, so please do stay tuned.
submitted by RENProtocol to RenProject [link] [comments]

Best General RenVM Questions | September 2019

Best General RenVM Questions | September 2019 *These questions are sourced directly from Telegram

Q: Given the RenVM Mainnet Roll-out Plan, what are the differences between how Darknodes participate in the P2P Network, Consensus, and Execution within RenVM?
A: An outline of each component and its role in RenVM system is outlined below:P2P NetworkThe peer-to-peer network is used for two core purposes: peer discovery, and message saturation. Peer discovery allows Darknodes to learn about other active Darknodes in their shard, and in the network at large. Message saturation ensures that all messages sent around the network are seen by everyone.
ConsensusThe consensus engine is used to reach a strict ordering of transactions that go through RenVM. This ensures that the Darknodes powering RenVM are able to agree on what actions to take, and when.
ExecutionThe execution engine is used to run secure multiparty computations. This is how actions in RenVM are ultimately taken. These actions involve generating private keys, signing interoperability transactions, and, in the future, running general-purpose application logic. And all of this in secret.

Q: How do I shut down my current Darknode(s)?
A: Follow this instruction set explicitly and you won't have any issues: https://renproject.zendesk.com/hc/en-us/articles/360020365234-How-to-Fully-Deregister-a-Darknode

Q: Is running a Darknode on Chaosnet useful for the team?
A: Yes, by running a Chaosnet Darknode you are inherently helping us test. One of the core purposes of Chaosnet is to the real world incentives of RenVM. Running (and continuing to run) a Chaosnet Darknode says something about the incentives at play: they’re enough to get people running Darknodes. And this helps us! In fact, by not running a Chaosnet Darknode you’re also inherently helping us test. It’s telling us there’s something not quite right with the incentives.

Q: And what's the incentive for someone to collude and attack the network during Chaosnet?
A: The ability to steal real BTC/ZEC/BCH, the want to help us test the network, the want to betray their fellow colluders and take their REN bonds, and of course, some (wo)men just want to watch the world burn.

Q: All of this de-registering and re-registering for mainnet is a bit annoying, is it necessary?
A: We do certainly understand the point as it's been discussed at length but registration for the RenVM Mainnet is a necessary component (applying automatic updates for current Darknodes to run RenVM is not technically feasible). This announcement is very much an administrative piece to ensure our community has plenty of time and notice to proceed at the speed they prefer. Chasonet is designed for testing and those willing to actively experiment, but certainly not mandatory and there is no pressure on the general community to be active during this period.
In summary for those who prefer to be less active, should de-register their current Darknode(s) and wait patiently for activation at the release of Mainnet SubZero, no other action is needed.

Q: Is RenVM secure against quantum computing?
A: The core of RZL sMPC is theoretical secure. This means that no amount of compute power can break it (making it post-Q safe). There are some parts of it that are not (zkSNARKs and some hashes that aren’t known whether or not they’re post-Q safe) but these are easy to replace (with zkSTARKs and some post-Q safe hashes).
RZL sMPC provides ECDSA signatures because that’s what it is used by Ethereum, Bitcoin, etc. Whatever solution they come up with, will be the solution that RZL has to be upgraded to use (the whole point of RenVM is not to tell other chains how to do things, and still provide interop; this means waiting on them to define their solution and then working with that).
In short, if a QC can steal funds from RenVM, it’s because it can steal funds from any Ethereum/Bitcoin/etc. private key.

Q: If I don't deregister my Darknode by RenVM Mainnet, will I lose my 100K REN?
A: The REN bond is safe forever. You can deregister your Darknode from the legacy Mainnet whenever. We recommend doing it now, because it can take three days, and once Chaosnet rolls around that’s where our support focus will be.

Q: When shifting in funds, say a user doesn't have eth funds and this call fails const newSigResult = await ethSig.submitToEthereum (web3.currentProvider). what is the best way for that user to pick up where they left off if they leave the web page to get some ETH, and then come back? Should the app generates a new shift in the object, override the params and gateway address objects, re-submit to RenVM, and then make the above call again? Assume the transaction info such as original params and gateway address are stored in local storage so those will be available when the user comes back.
A: This is the approach we take. We store the RenVM tx in local storage and then when the user comes back we can construct the Ethereum tx and hand it to them for signing again. You can construct the RenVM tx locally and store it before asking the user to send their BTC to the gateway to protect against unexpected shutdowns. This way, you can recover from them leaving the app at any point in the process without loss of funds. (This also allows you to resend the RenVM tx in the event that the first send fails for any reason.)

Q 1: Could you elaborate on the proportionality of (a) Total value of bonded REN (b) Total value of assets under RenVM control? Does RenVM require (b) <= (a) at all times? RenVM would need an Oracle to determine the USD value of both (a) and (b).
A 1: The oraclisation is done by the Darknodes. Each of them assesses what they determine that value of (a) and (b) to be and if 2/3rds of them independently decide (b) can be increased then the network will be able to go ahead with the computation. We do require (b) < (a) but have not determined the exact ratio. Because Darknodes are randomly sampled (and constantly reshuffled) from the entire group, this value can consider the entire amount of REN bonded (not just the REN bonded by one shard).
Q 2: There's potentially an incentive-misalignment issue here: Darknodes would want to bypass the (b) < (a) limit in order to continue to process more tx's and collect fees.
A 2: True, but there’s also a natural incentive for Darknodes to want to keep the network secure. A hack would likely render their REN to drop dramatically in price and they’re REN will be locked for 2-3 months after deregistration. This is also true of users. They should be wary of keeping assets locked up when it nears the secure threshold. This can be encouraged by scaling down the burning fees/raising minting fees to encourage the movement of funds “in the right direction”

Q: Quick question: right now, a developer can choose to wait for 0 confirmations before minting zBTC on Ethereum when shifting in real BTC. Will the RenVM network require a minimum number of bitcoin confirmations, or is that always up to the application developer? If it's up to the developer, what if the developer chooses 0 confirmations, mints zBTC, and then double spends on the bitcoin network, invalidating that original bitcoin transaction? shouldn't that invalidate the zBTC that was already minted from the original 0 conf transaction?
A: The developer cannot choose. RenVM will wait for the appropriate number of confirmations. On Testnet, this number is currently set to zero because it makes testing easier. On Mainnet, there will be systems for people to take on the “confirmation risk” and provide float. Devs can also set it up so that people can deposit ahead-of-time. We are also exploring Lightning and similar concepts.

Q: I've noticed an increase of tx's made through RenVm, how tests are going on; have you met any unexpected obstacles?
A: We’ve encountered a few issues with nodes when they are rebooted/crash (we are constantly rebooting/crashing them to make sure the network continues to operate as expected under those circumstances). But, we have fixes in the work for all these issues and it hasn’t prevented us from being able to add new features (BCash and SegWit support has recently hit Devnet and will be arriving on Testnet soon).

Q1: If home chain = destination chain, then RenVM is effectively a mixing service?
A1: It can be used that way, definitely. But, it has to have a few more privacy features enabled, shifting alone won’t do.
Q2: RenVM mints Aztec notes for example?
A2: Yep, that’s the plan; we need to wait until the Ignition ceremony before this can be done. It’s one of the next features in our pipeline though! BTC would “appear” on Ethereum with no known owner. And, if you wait an amount of time between getting the authorizing from RenVM and using the signature, then it would be impossible to trace it back to the request that went to RenVM.

Q: When I go to the Command Center, the page doesn't load?
A: One has to be on the Kovan Testnet (on Metamask). To do this, select the top middle button on your Metamask tab and click Kovan Test Network (Purple circle). If you’d like to see it in action, submit a trade on our Testnet Dex Demo (https://renproject.github.io/renvm-demo/) and see it proceed through RenVM via the Hyperdrive tab: https://dcc-testnet.republicprotocol.com/hyperdrive

Q: Mixicles & RenVM: It seems like Mixicles could be used to preserve privacy features for on and off-chain settlements in a blockchain agnostic way. Wouldn’t this be seen as a threat as smart contracts could now replace a darkpool while maintaining the element of anonymity?
A: Mixicles (and all other ZK on-chain stuff we’ve seen) gives you privacy on the chain. So you can prove things have been done right (one of the things we like about public blockchains), without exposing any information about the thing (an issue with public blockchains). But, the prover still has access to the information. This rules it out for many kinds of private apps. RenVM gives you absolute privacy. You can do things with data, and prove things about data, without anyone anywhere ever knowing anything about the data. This is much more general.

Q: Can’t people just fork RenVM?
A: What ultimately prevents forks is the network effect. All projects that want to take decentralization seriously need to open-source their implementations. Almost by definition, a decentralized network is nothing but its community of people willing to work together; this is the very essence of “trust no-one except for the majority”. If you refuse to open-source you don’t have a community, you have hostages.
Building up momentum and creating a large network and community is incredibly valuable and not something that can be forked. Bitcoin is still Bitcoin, despite the large number of forks that have been created, and most of the time forks don’t overtake or outpace the original because there is too much inertia in the original community.
There are other, less philosophical, benefits too. Open-source code means you can get more feedback, people can help fix bugs, identify potential security issues, anyone can validate the implementation, people can build their own implementations (resulting in highly desirable “N versioning” which prevents a single bug compromising all nodes).

https://renproject.zendesk.com/hc/en-us/articles/360001180915-General-RenVM-Questions-September-2019
submitted by RENProtocol to RenProject [link] [comments]

Best General RenVM Questions of July 2019

Best General RenVM Questions of July 2019

These questions are sourced directly from Telegram, other monthly FAQ can be found here:https://docs.renproject.io/darknodes/community/monthly-community-faq

Q: Is your Testnet Demo the new version of RenEx?
A: It’s just a simple Dex we created to showcase RenVM’s functionality. It is not RenEx, nor will we likely be pursuing the creation of a standalone DEX. This demo is based on a Uniswap liquidity model so automated market-making (testnet tokens). To be clear, we created this to showcase RenVM’s functionality (this demo will remain on tesenet only). It is not RenEx, nor will we likely be pursuing the creation of a standalone DEX.

Q: If someone wants to send BTC from one wallet to another privately, how exactly do they choose this option? Will it be a button they can click on their exchange or how exactly will a user interact with ren to privately send their transaction?
A: The actual BTC itself cannot be private. Once you’ve sent it to RenVM though, you can opt to have it “appear privately” on the other side. The initial shift is visible because the underlying Bitcoin network is not private, but once it gets shifted you could then use it privately. Also, if you’re using something like ZEC you will be able to do private interop in full because ZCash itself does support privacy in its own network.

Q: Can you explain the Privacy aspects of RenVM?
A: Privacy of the actual transaction through RenVM will come after the initial release of RenVM.
Firstly, we will continue to work with AZTEC and follow up with a release that can mint straight into private AZTEC notes (and vice versa). Secondly, we will work on allowing privacy tokens (e.g. ZCash) to move from one chain to another without anyone knowing how much was moved.
These two privacy features won’t be available from day one. They will be the result of lots of collaboration with a few other projects to ensure the security and correctness of our development. This takes time, so these features will be released one by one after RenVM hits Mainnet.

Q: Could you elaborate on how the address on the destination chain is deterministically derived from the address on the source chain? What is the reason behind this determinism?
A: The gateway is a Bitcoin script (or ZCash script, or equivalent on other chains). It contains a hash of all the data associated with the shift, and the script can only have its funds claimed by RenVM.
It is deterministically derived so that the user, third parties, and RenVM can all derive the same gateway without communication and so that when RenVM sees funds transferred to the gateway it knows exactly what its meant to do with those funds.

Q: For RenVM to work there certain # of block confirmation considerations on mainnet though? just wondering what the expected time to complete a deposit of bitcoin to compound would take (assuming reasonable gas prices)?
A: The # confirmations depends on the chain and must be set at the time the chain is admitted into the protocol. For Bitcoin, this is 6 confirmations. This obviously takes a long time and, while it’s not so bad for some use cases (lending, collateralization, etc), it’s very bad for dapps/DEXs.
So, we have the concept of Universal Interoperability. This allows a third party to provide two things (in exchange for a fee nominated by you):
(a) Provide gas so you don’t need to manage lots of different tokens, just the ones you’re actually using for the dApp.
(b) Provide speed by taking on the confirmation risk. The third-party sees you have (let’s say) 1 confirmation and is confident you’re not some supped up miner about to attack Bitcoin. They come in and provide the shifted BTC immediately to complete whatever action you were taking, and when the real underlying shift finishes they get the funds.
This can be done to greatly ease the user experience: gas and speed. Of course, we have designed it to remain trustless (If the third party doesn’t act then you can just spend the gas yourself can just wait and/or everything will still happen but at a slower speed).

Q: How many darknodes should we ideally have to achieve a secure network?
A: This is really dependent on the total amount currently being shifted between chains at any one moment. The best you can theoretically do with sMPC is 50-67% of the total value of REN used to bond Darknodes (RenVM will eventually work up to 50% and won’t go for 67% because we care about liveliness just as much as safety).
As an example, if there’s $1M of REN currently locked up in bonded Darknodes you could have up to $500K of tokens shifted through RenVM at any one specific moment. You could do more than that in daily volume, but at any one moment, this is the limit.
Beyond this limit, you can still remain secure but you cannot assume that players are going to be acting to maximize their profit. Under this limit, a colluding group of adversaries has no incentive to subvert safety/liveliness properties because the cost to attack roughly outweighs the gain. Beyond this limit, you need to assume that players are behaving out of a commitment to the network (not necessarily a bad assumption, but definitely weaker than the maximizing profits assumption).

Q: So do you think that the total value of bonded tokens could be an obstacle for 3rd parties to adopt interoperability layer?
A: Not for DEXs, since these don’t keep value locked up for long and have at least some time to rebalance when needed. For other longer-term lock-ups, it could be limiting but the fees brought in by DEXs and other dApps will help to increase the REN locked up and thus the limit. We also have a rollout plan in place that we’re working on with other projects to ensure that the limit is sufficiently high and secure during the early days.

Q: Anything currently planned with going from side chain to side chain (lightning to plasma or xdai for example)? Thinking it could speed the process up without worrying about block confirmations and expand the use cases.
A: We are focusing on the canonical first layer blockchains right now. There are some loose plans with some side chains, but we cannot speak too much to that at the moment. From a technical perspective, RenVM can do it, it’s just a matter of focus and core value (which comes from the largest liquidity chains, which are not yet any side chains).

Q: What will/is the scripting language for RenVM again? Is it Rust?
A: The general scripting platform won’t be available initially. This is a much bigger endeavor that the initial release of RenVM which will focus solely on interop. All scripting will remain in frontend apps and in smart contracts on existing blockchains.

Q: Hi Loong, is it possible to use privacy as an option in RenVM. Something like verge wraith protocol option to choose privacy. Let's say some institutions/exchange want to use RenVM for interoperability solution without privacy for regulations. This is possible now or any future plans?
A: Just another side note, privacy and regulation can play together very nicely. Private on the public chain doesn’t imply that an institution can’t reveal the underlying data to a regulator if required (just like a bank account these days doesn’t need to be seen by the whole world for a regulator to access an institution's records).
But better than that, we are entering an exciting era of cryptography that could allow people to prove beyond a computational doubt to regulators that they are doing all the right things, without ever having to reveal their underlying records. Thanks to the magic of zero-knowledge proofs and technology like RenVM.
Crypto, and to an even greater extent “secret crypto”, is an opportunity for regulators to do their jobs better. And it’s not like it enables criminals to do anything they aren’t already doing with cash. The “fud” around privacy being destroyed by regulators is because regulators don’t yet understand the maths, and what it can empower everyone to do. Anyone who claims “privacy means regulators can’t ensure you are doing things legally” either doesn’t fully understand how privacy in crypto can work, or is being malicious in intent.

Q: Can you give an example of how you envision regulators to use “secret crypto”?
A: Require all institutions to use private USD on the blockchain and generate zero-knowledge proofs about their activity to guarantee that no money laundering is happening, no book fudging is happening, only whitelisted addresses are being interacted with (or blacklisted addresses aren’t being interacted with), covering both national and international transactions, exchanges, guaranteeing the number of transactions made in different amounts, etc. Not something you can do with modern money systems. But it becomes possible with zero-knowledge based blockchains.
For example, recently in Australia, a royal banking commission found out banks weren’t doing things “the way they were supposed to” and failing to comply with AML based on amounts being transferred between different types of accounts (if I recall correctly). This could be made impossible to even do in a blockchain (if adopted fearlessly by regulators), let alone do and not admit to doing, and by using zero-knowledge systems the banks wouldn’t have to reveal all their inner workings publicly to achieve all of this.

Q: The current state of the most advanced sMPC is that it is so painfully slow that in no way it could be used practically for something like what Ren is claiming..is this true?
A: For general computations, yes, this is true. Modern sMPC is algorithms are very slow. But, to start with we are not focused on offering general-purpose scripting, just the ability to interoperable between chains. This comes down to generating keys / signing with keys without revealing the keys. Even then, most modern algorithms are slow, and do not offer liveliness guarantees that suit decentralized networks.
This is where our key innovation lies. We haven’t invented some totally new form of sMPC (at its core, RZL is an extension of the classic BGW / SPDZ class of algorithm). We have improved these protocols to have simple, lively, and less data-hungry preprocessing phases that scale to hundreds of machines. Sample that from thousands, and you have very strong security.
If you're interested in more of the details, our main improvements have been around the way that multiplication can be done (specifically, avoiding needing Beaver triples and, when you cannot avoid needing them, generating them more efficiently than can currently be done).
As it stands, our algorithm works nicely for key generation and signing. It also works well for small “trusted compute bases” that you might want to keep secret. With a normal blockchain, you wouldn’t put your entire app on a smart contract because it’s not efficient. Likewise, when general-purpose programming is available, you wouldn’t put your entire application there. Just the parts you need to keep private between many parties.

Q: Is there any plan to publish work about this that could be peer-reviewed to ensure that your modifications maintain the safety and privacy guarantees of the class of algorithms you're deriving from?
A: Yes, absolutely. We are going to get the paper reviewed, and the implementation audited
submitted by RENProtocol to RenProject [link] [comments]

"Code is Law": Comedy Gold Survey on Ethereum

Survey ID: 00001 Coin: Ethereum Client: Tyler Durden

Executive summary:

Ethereum is almost certainly the number 2 coin in comedy gold. It will likely surpass Bitcoin in comedy gold long before it passes it in market cap. Thanks in large part to a spam-based marketing campaign on Reddit, it also has a dedicated base of critics.
After its IPO, it was known as “Inthereum” for a while, infinitely powerful of course, as vaporware can do anything. It had a major version release, then another. Finally, a major smart contract, in terms of valuation, came along: The DAO. Not to be confused with other DAOs, before and after. The DAO was the biggest. It was going to be the best; it already was the best! Euphoria was off the charts.
Until just a few months in, a bug was found. And the killer app became the flash point. What could they do? Well, hard fork and give the money back, of course! And so they did.
“Code is Law”; but this is actually good for Ethereum because “[a]lthough some do question the analogy ‘code is law’. I do not. We just found out that we have a supreme court, the community!” [1]
After the D'OH, Ethereum struggles to top its ATH comedy gold, but there is still a bright future for popcorn and comedy gold from Ethereum.

5 Largest Veins of Comedy Gold

Here are the largest comedy gold veins in Ethereum in potential reserves in our estimation in approximately descending order:
  • Cultlike euphoria - Now, this can certainly be said to be common to almost all cryptocurrencies. But Ethereum seems special here, even more than Bitcoin's community. There is a real belief here that this coin is going to change the world. This helps play into a "this is very good for Ethereum" mindset, wherein even the D'OH fork was a great success!
There is no greater terror than a fiend on ether.
  • Vitalik Buterin - The best name in cryptocurrency! Young genius central to Ethereum and almost universally seen as the most important leader in the project. In our view, his endorsement and leadership during the D'OH fork led to that route being taken. That is, we believe if he had opposed it from the start, he may have been able to prevent it or at least have led to what is now called ETC being the dominant of the two.
And so in our view, Mr. Buterin runs a billion dollar cryptocurrency right now. He and his team seem to have done reasonably well so far; it seems likely they'll continue to thrive. To the best of my knowledge, confirmed on /ethereum, there hasn't been a drug market implemented in Ethereum or trading with ETH so far. But while it seems like a terrible idea, because of the lack of privacy and proven mutability of contracts, it seems like eventually there's going to be a major drug market accepting ETH just because it has such a high value. And, they point out, monero and zcoin’s core privacy feature will apparently be available on ETH after this next fork, so look forward to anonymous ETH fueling drug markets!
And then the interesting question will be raised of how Chief Justice Buterin will rule on the case, whether it is worthy of an intervention or not. If not a drug market, then another buggy and hacked contract. Or a hacked exchange, and the question of whether to make it or its users whole, or "let the hacker win".
  • DAOs - From the beginning, it was proposed that Ethereum itself and its reserve fund would be turned into a DAO. How exactly this was going to happen would be figured out later of course. There was an initial estimate of 2016 for the transition.
Of course, in 2016, The DAO and the D'OH happened. I'm not aware of a current further push to put all of ETH's future funding into a DAO. But I'm sure the topic will resurface. And it will be hilarious on so many levels. The DAO actually collapsed too soon for peak comedy gold extraction. It had been predicted that there would be no consensus on any proposals and that nothing would be funded, and that there would be gold from that. But it was just a few months in when the bug was found. And while the D'OH fork was certainly a rich vein of comedy gold, it wasn't as rich as what the DAO could have been if it had floundered around for a year or so before the hack.
Surprisingly, there's actually a running, apparently working DAO on ETH that was started even before The DAO: digixDAO. If it keeps on running, it will continue to be hilarious as other DAOs fail to learn from it. If it fails, there's all the more hilarity for Ethereum, making it the platform where anything complicated enough to look like an original use case will break. The very existence of digix is proof-of-comedy-gold.
  • Immutability - The whole central notion of immutability is going to be a recurring question for Ethereum after the D'OH. While there was a lot of sentiment of "just this once and never again" at the time, there will someday be another major issue, and the precedent will mean that at least a major debate among the community will be had. Ethereum is "mostly immutable". Bitcoin is far better protected here, because while it's true they've hard forked to fix a bug before, that was years ago and the community is far more fractured now. Ethereum has a demonstrated capacity to do both routine and controversial hard forks. This strength is also a challenge, as it will invite constant legal and ethical questions about when it's appropriate to modify the chain itself with a fork: that is, rolling back some or all transactions after major bugs, thefts, frauds, and so forth.
  • Concentration of funds - This one I'm just guessing at. Although rich lists do exist, obviously one entity like an exchange could pool funds in an address without one person owning that much, or one person could splits their coins among many accounts. But it gives a rough guide. In Bitcoin, the top 113 addresses, having more than 10,000 BTC, in total are 17.46% of the current supply [ 2 ]. And in Ethereum, it's true that the top two accounts are marked as exchange accounts [ 3 ]. Still, having lots of funds concentrated in a single exchange wallet seems to still have some potential for comedy gold. In Ethereum, the top 50 addresses have more than double the proportion of the top 113 in Bitcoin, a bit over 40% of the current supply. My guess would be there are still a lot of people who invested heavily in the initial ICO who have held onto a significant portion of their initial ETH. While some of these top addresses are exchanges, I think there are probably many individuals represented in here as well, and every one of them is a multimillionaire from this account alone.
Of course, so far, because ETH is still smaller than BTC in overall market cap, these top addresses aren't as huge as the top addresses in Bitcoin in current market value. But if ETH were to overtake BTC's current position with a relatively unchanged distribution, there would be some real comedy gold coming off this factor. Cribs could have a spin-off Ethereum series.
This concentration was a part of making The D'OH what it was in my view as well: in Bitcoin, there would never have been so much of the coin tied up in one particular venture, at least not now. But in Ethereum, this concentration and groupthink can combine to hilarious effect.

A Brief History of Comedy Gold in Ethereum:

“Laws, like sausages, cease to inspire respect in proportion as we know how they are made” - John Godfrey Saxe
In the beginning, there was an offering. The greatest coin the world had ever seen; step right up and buy it! There was even code; this is no vaporware! Sure, there was more work to be done, but the ICO would fund that work, the founders would get a little, and create a reserve for the future and the rest would be mineable.
There was also some of the most vociferous objections on BCT, declaring that the stake allocated to the founders was too large, pointing to other coins which had done smaller or done without. Arguing against the reserve; arguing against having a presale at all. Some people, of course, completely failing to read the documentation accurately to see what was even being proposed. And an almost complete radio silence from this large team working around the clock on Ethereum.
It took some months from when the initial ANN was made until the sale actually started, but by the time they had their sale, they had perhaps the best documentation at launch to-date. Of course, there were some areas which seemed to lack some detail, like the budgeting, but never mind that, it was finally launching!
Launching the sale, at least. In July and August of 2014, Ether was first sold. It was described as “fuel” for the virtual machine they were going to build [ 4 ].
And then, a year later, Ethereum was released live. By July 2016, it had already had its first major crisis after The DAO was hacked and the D’OH fork introduced in response.
But the fact that Ethereum was ever released, and that it was released so quickly, is truly incredible. There was more than one person who thought that the stated goals of Ethereum were not possible. And, of course, many initial goals and deadlines didn’t happen. But unlike the railbirds on BCT were convinced, the team did not fail nor did it run off with the money. They were given a blank check, and they actually delivered a working product which has been successful so far financially.
Of course, having its flagship smart contract go belly-up quite so quickly after having finally gotten a “killer app” seems rather unfortunate. The oracle problem (the question of how to reliably relate smart contracts to the outside world) seems unresolved, but partial solutions are inevitable and can only serve to make increasingly complex and thus popcorn-loaded contracts possible.
Right now, all seems relatively quiet. But rest assured, there remains plenty of euphoria and gas to drive many more cycles of comedy gold production. Ether huffers need something to throw their ETH at. The more complicated; the better! Given some of the creations that have been made in NXT, for instance, a few more years of creativity on ETH should yield some very complicated and pop-corn rich smart contracts.

Researcher’s Narrative:

I was relaxing in my office, waiting for business. It was a dingy little one-room affair, but it would serve for now. Particularly with no clients. I had poured myself a double shot, and was about to enjoy it, when suddenly the door opened.
A man walked in, familiar somehow although I couldn't place him. I reached out my hand instinctively, and instead of shaking it, he handed me a dollar.
"Hello?"
He pointed at the sign in the window, advertising a promotional one dollar gold survey for the first client. Always astute, I quickly surmised he wished to hire me.
"Of course, sir! What coin would you like?"
"Ethereum."
"Certainly! And may I have your name for the log?"
"Tyler Durdan."
And with that, my newest client left. I downed my double and poured a generous triple to follow it. This was going to be a long day.
Ethereum was the ultimate prize in my line of work. The coin which proved the adage that truth is stranger than fiction; which had proved itself a lucrative source of comedy gold.
And who am I? Guy Noir, private comedy gold surveyor. I've seen things you people wouldn't believe. Premined scamcoins crashing on noname exchanges. I watched popcorn glitter in the dark on forgotten the BCT threads. Popcorn junkies strung out on a high, and I've delivered them more comedy gold, popcorn, salt and butter. There is never enough.
A dark night in a world that never sleeps and knows how to keep its secrets...But on the 12th Floor of the Acme Building, one man is still trying to find the answers to life's persistent questions: Guy Noir, private comedy gold surveyor.
Thank you, Narrator. Now, as I was saying, Ethereum is overloaded with gold. But the core is pretty straightforward:
Ethereum promised "smart contracts". Immutable. Turing-complete. This was what Bitcoin lacked. The bee's knees. Crypto 2.0. What could go wrong?
We'll skip over the "Inthereum" period. Perhaps the vaporware criticism was never fair: from their version, they had Proof-of-Concept code; they went through some iterations and eventually got to release.
Let's note clearly that there was plenty of time to determine some sort of official policy for what to do about a buggy or improperly written contract losing money. In Bitcoin, every hack has been a SFYL event, although it’s true that a bug in the coin itself was hard forked away before. Mt. Gox tried to blame malleability, but there was never a fork to try to recover funds. In Ethereum, immutability was often talked about. So far as I saw in skimming, “what if” scenarios to undo bugs wasn’t brought up front-and-center. Nor was immutability being debated that I saw.
So Ethereum releases. A major contract is launched, The DAO, which gets an astonishing portion of ETH invested. The world's largest crowd sale as they ultimately called it. All the major players in ETH buy into it, including Vitalik Buterin, the creator of Ethereum and the best name in cryptocurrency.
Just as they're starting to get into the comedy gold that The DAO doesn't really have a purpose, a bug is discovered. And just as its leader is assuring everyone that no funds are at risk, the funds start being drained out of the contract by an unknown party.
And suddenly immutable means "immutable unless we screw up on the biggest contract which everyone important has invested in heavily". Ethereum ultimately hard-forks to return investor funds and basically unwind The DAO. After claiming that the bug was in the contract, the coin itself is hard forked to fix the issue. And the first Ethereum clone results, one which simply does not follow the new hard fork.
So the natural question is: when can a contract be changed? In the first page of the Ethereum launch, this question was implied by asking about what would happen if there were an assassination market hosted by a smart contract on Ethereum. Of course, in reality, Ethereum is not really functional enough at present to enforce such a contract, but the question remains in case Ethereum were to actually attain a functioning smart contract platform.
Attempted reference to Tears in rain monologue, credit to Rutger Hauer
Guy Noir and narrator text lovingly stolen from Prairie Home Companion's Guy Noir, by Garrison B. Keillor.

Researcher’s Rant

Filed for psych eval
Twenty pages into the BCT ANN, I believe I have contracted cancer, again. I’m reminded of why I don’t generally go on BCT. As bad as altcoin forums tend to be for their circlejerking, it’s almost better than the, well, there’s really no way to put it other than FUD that inevitably appears in response to anything. Of course, it’s not paid shilling so much as it is willful and vocal ignorance. For all the critiques in that thread, most of them are utter nonsense and simply are misreading the initial information. On the other hand, it’s January 27th in the thread by now, with February 1st and the pre-sale start, and they don’t have their “prospectus” up yet. I also haven’t seen the change in mining rate yet.
Side note: eMunie; wtf? I guess I missed something? Either it’s gone through a namechange or it’s dead, because a quick coinmarketcap search didn’t find anything. A comedy gold mining project for another day.
Great; spoiler alert: fundraiser delayed apparently, so even more cancer to read through in that thread on the way to getting to a prospectus!
The first 44 pages of the thread was summarized thus: “I want to believe. Why are you not speaking to us? Throw me a bone. Just tell me what I want to hear, and I'll gladly throw my money in.” [ 5 ] Would that I had only had to read that quote rather than all 44 pages, and facing many more.
Pages and comments dragged on as I waded through the low-grade popcorn. When would this prospectus be released, so my torment would end? Oh god: a side-thread shows that by the time they get to April, there’s still no prospectus or presale date or estimate of when there may be a date [ 6 ]. It’s time to give up on reading through the cancerous mainthread on BCT and start jumping ahead pages to find the pre-sale and prospectus.
Okay, finally, in July, they release documents and start the sale [ 7 ]. Good enough.
I have mountains of links on my desk. Comedy gold is overflowing, but this is a survey expedition, not a mining operation. But by the time it’s surveyed, there’s always so much gold lined up to mine it gets hard to leave it behind and leave with the samples.
It’s time to hammer out some copy and close this file.
Folks, we hope you’ve enjoyed this descent into madness and comedy gold brought to you by the Comedy Gold Survey Company and our patron Tyler Durden. Do you need more comedy gold in your life? Of course you do! So please donate today; every $1 helps! I’ve added a new special: $5 lets you choose the next coin to be surveyed!
Thanks again to Tyler Durden, and I will now be re-watching Fight Club and questioning my sanity. Cheers y’all!
Resources:
Edit: 3/26/2020: Removed a link to a comment per request from the user.
Footnotes and other links:
submitted by coinaday to Buttcoin [link] [comments]

Melis, the most advanced multisignature and multiuser wallet, adds Litecoin support

We are glad to introduce you to Melis, the revolutionary multi-account, multi-user, multi-device, multi-OS, user friendly and feature-rich wallet, for Bitcoin, Bitcoin Cash, and now even Litecoin.
Image 1
Its richness of features make Melis the wallet able to satisfy any need, both of safety and utility, requested by the user. There are simple wallets for smartphones without security features or very secure desktop wallets for managing your savings that are quite unpractical to use. Melis offers the best of all worlds: simplicity and security for desktop and mobile, in the same application.
With Melis you can create as many single or multi user accounts as you want and can be configured on more than one device (desktop computers, smartphones, tablets, etc.). You can create an account with maximum level of security (protected by server signature, with spending limits); there are already other wallets that can create multi-signature accounts very easily, but the key schemes are fixed and not configurable. With Melis you can create a multi-signature account between N people, where up to N signatures are required to sign a transaction, choosing if any of those should be mandatory.
Key features:
We could argue that a single user account with server side signature, TFA and spending limits, secured to be used only by a specific account is one of the most advanced scheme available today to secure its stash (much more secure than a paper wallet).
Multiple accounts with different characteristics enable different use cases:
Image 2
Here you can find a sample of the wizard used to build and avanced multiuser, multisignature account:
Image 3
Melis is not perfect nor complete yet and it is very much work in progress but completely usable in its current form. We are trying our best to make it a very powerful tool for advanced users.
A testnet version is available if someone wants to play with all the features without fear of making mistakes: https://wallet-test.melis.io
You can check in details Melis potential by watching our tutorial videos on our Youtube channel: https://www.youtube.com/channel/UC-RZeDwfFE4OXlHskXvZxZg?
Join our Telegram channel fo all the news regarding Melis: t.me/MelisWallet
Follow us on
Twitter: https://twitter.com/MelisWallet
Medium: https://medium.com/@melis.io
Yours: https://www.yours.org/@melis
We look for feedback and constructive criticism! (of course in another thread if here it's inappropriate, or privately)
Melis has a common goal with members of the community: build a free, trustless wallet for everyday (personal and professional) use and to securely keep the savings.
submitted by melis-wallet to litecoin [link] [comments]

How can I create a multisig address (just the address, not tx) without running bitcoind? [bounty]

I want to create a multisig address, but I don't want to have to run bitcoind to do so. Surely there's an algorithm that will just accept an array of public keys, and the number of required sigs, and spit out a redeemScript and an address, but I've been searching for a while and can't figure it out.
I will give gold (or the equivalent in BTC, $4) to the first person who posts a working code sample (preferably using bitcoinjs-lib or bitcore.js) which accepts:
  1. The number of required signatures, and
  2. An array of public keys
and outputs:
  1. A multisig address, and
  2. The redeemScript
Thanks!
edit: It can't just call to bitcoind's JSON-RPC interface, it must be standalone, without using bitcoind.
edit 2: Got it, h/t BobAlison, for pointing me in the right direction.
This is with version 1.1.2 of bitcoinjs-lib:
var bitcoin = require('bitcoinjs-lib') var scripts = bitcoin.scripts var Address = bitcoin.Address var networks = bitcoin.networks var util = require('util') var pubkeys_hex = [ "02547194cd5dd237ea0c067e4f251b04b9243cd8bcf5997360d581fe6fc32381df", "03f3f26dc67491505083ced8e03fee1d27336b6a4d6fbd5a24efe04e95597c137e", "02b9e28ba8e285752cabaee82d99e0378cea9417801ca3fb499a6506caee480ca6" ] var pubkeys = pubkeys_hex.map(bitcoin.ECPubKey.fromHex) var redeemScript = scripts.multisigOutput(2, pubkeys) var scriptPubKey = scripts.scriptHashOutput(redeemScript.getHash()) var multisigAddress = Address.fromOutputScript(scriptPubKey, networks.testnet).toString() console.log("redeemscript = ", redeemScript.toHex()) console.log("multisigAddress = " + multisigAddress) 
Output:
redeemscript = 522102547194cd5dd237ea0c067e4f251b04b9243cd8bcf5997360d581fe6fc32381df2103f3f26dc67491505083ced8e03fee1d27336b6a4d6fbd5a24efe04e95597c137e2102b9e28ba8e285752cabaee82d99e0378cea9417801ca3fb499a6506caee480ca653ae multisigAddress = 2MsKCkhUtyjVfJ7vL2rT5AVQsmyjZQanrCA 
submitted by nmarley to Bitcoin [link] [comments]

State of the Redd-Nation :: Mar 21, 2016

Reddcoin Weekly Development Update

Welcome again to another weekly update of Reddcoin Development.
There continues to be good progress on all fronts for the Core wallet development. The main focus currently remains on completing v2.0 wallet as it forms the foundation for Reddcoin moving forward. With this, there continues to be improvements and validation of the work that has been done so far. The good news is we are getting close to providing a full release
Building on the foundation of the Core Wallet will be the ReddID blockchain based identification system. As we have discussed before, the ReddID system will allow for the easy translation between an easy to remember UserID and a wallet address. This will simplify the transaction process between users
However, ReddID is just the beginning and how we use the ReddID system will go beyond just being able to easily identify the destination of a transfer. I have always promoted, usability and utility and on the side of utility is putting in place functions for the Reddcoin network that help promote and support an entire crypto-currency eco-system.
I will be providing updates to ReddID as development progresses

New Wallet - RC1d development update

We are working through at a good pace with the new wallet. I have pushed it out to a few more users this last week for testing and review. The more eyeballs on it now looking for bugs and the like will help to make a successful deployment.
We are getting close to the point where we need to start inform exchanges and service providers that a new release is pending. I would like to give them the opportunity to test and prepare themselves with the new version first before pushing out to the general population. The intention here is not to have a coordinated upgrade, but rather allow these businesses to prepare themselves as best as possible as usually there is addition checks and balances they will perform.
This week a special thanks goes out to both @Didi and @Deadpool
Over the last week @Didi has been begun preparing a document to detail the degree of improvement in the speed of syncing the blockchain from the initial start to completion. As everyone knows, the time to sync the blockchain is ever increasing and can take quite a while before the wallet can be used.
@Didi graciously has set up an environment to test using a combination of win32/64bit wallets using either SSD or normal HDD and to compare between v1.4.1 and v2.0.0. There are a lot of combinations to go over and a lot of data to download, so the testing is not yet complete , but I thought it worthwhile to mention that in the tests thus far the improvement has been significant. The sample data is small, but in the tests so far it is about twice as fast to download using v2.0.0
The following image shows a comparison of one pass
BlockChain Download Speed
After the discussion on translations last week, @Deadpool jumped in and immediately started getting the French translations into shape. He has now completed the 3 French files to 100%
Fantastic effort @Deadpool
French Language Update
This week, I will be making a pull of the language files and generating an updated binary suite
The reported bug from last week on the import of the addressbook has been removed from the issues list. This was not a bug, but rather the display of addresses moved within the GUI to a new location. This triggered an improvement to the labelling of the Tab to better indicate the operation.
The next stage will be to test the upgrade process of the network, simulating the the switch over to v4 blocks and a fall back plan.
Great progress and thanks to all.

ReddID Updates

Development progress on ReddID is coming along nicely. With some basic functionality now available in that I am able to write to and read data from the testnet blockchain.
There is a lot to cover here with both backend services and the client side. The goal is to provide a seamless user experience.
On the front end, I am focussing on the original browser wallet and incorporating the functionality to both register, maintain and use the ReddID. The importance here is to be as simple yet functional as possible. There are some additional functions to be able to search for users and verify the sending address
On the backend, I am looking at a number of different functions, the core component obviously being the managing and maintaining of the user space, but also some as yet not announced functions that will extend ReddID as an all encompassing tipping platform.
The goal is to create as decentralised platform as possible for tipping. That is, keep your funds off centralised servers, and have them in a wallet that you control.

Getting involved

Since last week, a few more of you have stepped up to get involved in the community in a more tangible way. I find it encouraging that the community support for this project continues to grow.
Since becoming involved as a developer, I have been less inclined to talk about price as a measure of success. And you wont find me talk about it too much these days. What I do look for is the trends and statistics showing the over all interest that the community has in this project.
It has been all of you who continue to contribute to comments on the forums, running nodes, participating in trading that show a steady upward trend. This has brought many new faces.
In the last week, I have also been visiting our friends on some of the chinese forums. It is good to see there is an interest there even though there are no trading exchanges.
If you would like to get involved and dont know where to start, reach out and we will see where you can jump in

Translations

One of the activities that needs to be done is to review the current translations for Reddcoin V2.0. We follow the same procedure as Bitcoin, using a service by Traniflex to manage and maintain the translation files.
I am looking for people who would like to have a look into the following languages:
Of course your welcome to contribute to any other of the languages as well. We currently have 60 languages on file, and you can add to this if needed (Klingon anyone??)
PM me if you are interested (we have already had some starters)

In Closing

This coming week is going to be rather short for me with a 4 day weekend looming. Suffice to say I find it hard to stop the ideas for Reddcoin coming. I have a running "Gnashers Brainstorming Doc" that is constantly updated and revised.
Where ever you are, have a good week
Keep on staking!
x-posted (https://www.reddcointalk.org/topic/801/state-of-the-redd-nation-mar-21-2016)
submitted by cryptognasher to reddCoin [link] [comments]

Bitcoin Core 0.10.0 released | Wladimir | Feb 16 2015

Wladimir on Feb 16 2015:
Bitcoin Core version 0.10.0 is now available from:
https://bitcoin.org/bin/0.10.0/
This is a new major version release, bringing both new features and
bug fixes.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues
The whole distribution is also available as torrent:
https://bitcoin.org/bin/0.10.0/bitcoin-0.10.0.torrent
magnet:?xt=urn:btih:170c61fe09dafecfbb97cb4dccd32173383f4e68&dn;=0.10.0&tr;=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr;=udp%3A%2F%2Fopen.demonii.com%3A1337&ws;=https%3A%2F%2Fbitcoin.org%2Fbin%2F
Upgrading and downgrading

How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
bitcoind/bitcoin-qt (on Linux).
Downgrading warning
Because release 0.10.0 makes use of headers-first synchronization and parallel
block download (see further), the block files and databases are not
backwards-compatible with older versions of Bitcoin Core or other software:
  • Blocks will be stored on disk out of order (in the order they are
received, really), which makes it incompatible with some tools or
other programs. Reindexing using earlier versions will also not work
anymore as a result of this.
  • The block index database will now hold headers for which no block is
stored on disk, which earlier versions won't support.
If you want to be able to downgrade smoothly, make a backup of your entire data
directory. Without this your node will need start syncing (or importing from
bootstrap.dat) anew afterwards. It is possible that the data from a completely
synchronised 0.10 node may be usable in older versions as-is, but this is not
supported and may break as soon as the older version attempts to reindex.
This does not affect wallet forward or backward compatibility.
Notable changes

Faster synchronization
Bitcoin Core now uses 'headers-first synchronization'. This means that we first
ask peers for block headers (a total of 27 megabytes, as of December 2014) and
validate those. In a second stage, when the headers have been discovered, we
download the blocks. However, as we already know about the whole chain in
advance, the blocks can be downloaded in parallel from all available peers.
In practice, this means a much faster and more robust synchronization. On
recent hardware with a decent network link, it can be as little as 3 hours
for an initial full synchronization. You may notice a slower progress in the
very first few minutes, when headers are still being fetched and verified, but
it should gain speed afterwards.
A few RPCs were added/updated as a result of this:
  • getblockchaininfo now returns the number of validated headers in addition to
the number of validated blocks.
  • getpeerinfo lists both the number of blocks and headers we know we have in
common with each peer. While synchronizing, the heights of the blocks that we
have requested from peers (but haven't received yet) are also listed as
'inflight'.
  • A new RPC getchaintips lists all known branches of the block chain,
including those we only have headers for.
Transaction fee changes
This release automatically estimates how high a transaction fee (or how
high a priority) transactions require to be confirmed quickly. The default
settings will create transactions that confirm quickly; see the new
'txconfirmtarget' setting to control the tradeoff between fees and
confirmation times. Fees are added by default unless the 'sendfreetransactions'
setting is enabled.
Prior releases used hard-coded fees (and priorities), and would
sometimes create transactions that took a very long time to confirm.
Statistics used to estimate fees and priorities are saved in the
data directory in the fee_estimates.dat file just before
program shutdown, and are read in at startup.
New command line options for transaction fee changes:
  • -txconfirmtarget=n : create transactions that have enough fees (or priority)
so they are likely to begin confirmation within n blocks (default: 1). This setting
is over-ridden by the -paytxfee option.
  • -sendfreetransactions : Send transactions as zero-fee transactions if possible
(default: 0)
New RPC commands for fee estimation:
  • estimatefee nblocks : Returns approximate fee-per-1,000-bytes needed for
a transaction to begin confirmation within nblocks. Returns -1 if not enough
transactions have been observed to compute a good estimate.
  • estimatepriority nblocks : Returns approximate priority needed for
a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not
enough free transactions have been observed to compute a good
estimate.
RPC access control changes
Subnet matching for the purpose of access control is now done
by matching the binary network address, instead of with string wildcard matching.
For the user this means that -rpcallowip takes a subnet specification, which can be
  • a single IP address (e.g. 1.2.3.4 or fe80::0012:3456:789a:bcde)
  • a network/CIDR (e.g. 1.2.3.0/24 or fe80::0000/64)
  • a network/netmask (e.g. 1.2.3.4/255.255.255.0 or fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
An arbitrary number of -rpcallow arguments can be given. An incoming connection will be accepted if its origin address
matches one of them.
For example:
| 0.9.x and before | 0.10.x |
|--------------------------------------------|---------------------------------------|
| -rpcallowip=192.168.1.1 | -rpcallowip=192.168.1.1 (unchanged) |
| -rpcallowip=192.168.1.* | -rpcallowip=192.168.1.0/24 |
| -rpcallowip=192.168.* | -rpcallowip=192.168.0.0/16 |
| -rpcallowip=* (dangerous!) | -rpcallowip=::/0 (still dangerous!) |
Using wildcards will result in the rule being rejected with the following error in debug.log:
 Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). 
REST interface
A new HTTP API is exposed when running with the -rest flag, which allows
unauthenticated access to public node data.
It is served on the same port as RPC, but does not need a password, and uses
plain HTTP instead of JSON-RPC.
Assuming a local RPC server running on port 8332, it is possible to request:
In every case, EXT can be bin (for raw binary data), hex (for hex-encoded
binary) or json.
For more details, see the doc/REST-interface.md document in the repository.
RPC Server "Warm-Up" Mode
The RPC server is started earlier now, before most of the expensive
intialisations like loading the block index. It is available now almost
immediately after starting the process. However, until all initialisations
are done, it always returns an immediate error with code -28 to all calls.
This new behaviour can be useful for clients to know that a server is already
started and will be available soon (for instance, so that they do not
have to start it themselves).
Improved signing security
For 0.10 the security of signing against unusual attacks has been
improved by making the signatures constant time and deterministic.
This change is a result of switching signing to use libsecp256k1
instead of OpenSSL. Libsecp256k1 is a cryptographic library
optimized for the curve Bitcoin uses which was created by Bitcoin
Core developer Pieter Wuille.
There exist attacks[1] against most ECC implementations where an
attacker on shared virtual machine hardware could extract a private
key if they could cause a target to sign using the same key hundreds
of times. While using shared hosts and reusing keys are inadvisable
for other reasons, it's a better practice to avoid the exposure.
OpenSSL has code in their source repository for derandomization
and reduction in timing leaks that we've eagerly wanted to use for a
long time, but this functionality has still not made its
way into a released version of OpenSSL. Libsecp256k1 achieves
significantly stronger protection: As far as we're aware this is
the only deployed implementation of constant time signing for
the curve Bitcoin uses and we have reason to believe that
libsecp256k1 is better tested and more thoroughly reviewed
than the implementation in OpenSSL.
[1] https://eprint.iacr.org/2014/161.pdf
Watch-only wallet support
The wallet can now track transactions to and from wallets for which you know
all addresses (or scripts), even without the private keys.
This can be used to track payments without needing the private keys online on a
possibly vulnerable system. In addition, it can help for (manual) construction
of multisig transactions where you are only one of the signers.
One new RPC, importaddress, is added which functions similarly to
importprivkey, but instead takes an address or script (in hexadecimal) as
argument. After using it, outputs credited to this address or script are
considered to be received, and transactions consuming these outputs will be
considered to be sent.
The following RPCs have optional support for watch-only:
getbalance, listreceivedbyaddress, listreceivedbyaccount,
listtransactions, listaccounts, listsinceblock, gettransaction. See the
RPC documentation for those methods for more information.
Compared to using getrawtransaction, this mechanism does not require
-txindex, scales better, integrates better with the wallet, and is compatible
with future block chain pruning functionality. It does mean that all relevant
addresses need to added to the wallet before the payment, though.
Consensus library
Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library.
The purpose of this library is to make the verification functionality that is
critical to Bitcoin's consensus available to other applications, e.g. to language
bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or
alternative node implementations.
This library is called libbitcoinconsensus.so (or, .dll for Windows).
Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h).
In its initial version the API includes two functions:
  • bitcoinconsensus_verify_script verifies a script. It returns whether the indicated input of the provided serialized transaction
correctly spends the passed scriptPubKey under additional constraints indicated by flags
  • bitcoinconsensus_version returns the API version, currently at an experimental 0
The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface
for existing methods should remain stable.
Standard script rules relaxed for P2SH addresses
The IsStandard() rules have been almost completely removed for P2SH
redemption scripts, allowing applications to make use of any valid
script type, such as "n-of-m OR y", hash-locked oracle addresses, etc.
While the Bitcoin protocol has always supported these types of script,
actually using them on mainnet has been previously inconvenient as
standard Bitcoin Core nodes wouldn't relay them to miners, nor would
most miners include them in blocks they mined.
bitcoin-tx
It has been observed that many of the RPC functions offered by bitcoind are
"pure functions", and operate independently of the bitcoind wallet. This
included many of the RPC "raw transaction" API functions, such as
createrawtransaction.
bitcoin-tx is a newly introduced command line utility designed to enable easy
manipulation of bitcoin transactions. A summary of its operation may be
obtained via "bitcoin-tx --help" Transactions may be created or signed in a
manner similar to the RPC raw tx API. Transactions may be updated, deleting
inputs or outputs, or appending new inputs and outputs. Custom scripts may be
easily composed using a simple text notation, borrowed from the bitcoin test
suite.
This tool may be used for experimenting with new transaction types, signing
multi-party transactions, and many other uses. Long term, the goal is to
deprecate and remove "pure function" RPC API calls, as those do not require a
server round-trip to execute.
Other utilities "bitcoin-key" and "bitcoin-script" have been proposed, making
key and script operations easily accessible via command line.
Mining and relay policy enhancements
Bitcoin Core's block templates are now for version 3 blocks only, and any mining
software relying on its getblocktemplate must be updated in parallel to use
libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
If you are solo mining, this will affect you the moment you upgrade Bitcoin
Core, which must be done prior to BIP66 achieving its 951/1001 status.
If you are mining with the stratum mining protocol: this does not affect you.
If you are mining with the getblocktemplate protocol to a pool: this will affect
you at the pool operator's discretion, which must be no later than BIP66
achieving its 951/1001 status.
The prioritisetransaction RPC method has been added to enable miners to
manipulate the priority of transactions on an individual basis.
Bitcoin Core now supports BIP 22 long polling, so mining software can be
notified immediately of new templates rather than having to poll periodically.
Support for BIP 23 block proposals is now available in Bitcoin Core's
getblocktemplate method. This enables miners to check the basic validity of
their next block before expending work on it, reducing risks of accidental
hardforks or mining invalid blocks.
Two new options to control mining policy:
  • -datacarrier=0/1 : Relay and mine "data carrier" (OP_RETURN) transactions
if this is 1.
  • -datacarriersize=n : Maximum size, in bytes, we consider acceptable for
"data carrier" outputs.
The relay policy has changed to more properly implement the desired behavior of not
relaying free (or very low fee) transactions unless they have a priority above the
AllowFreeThreshold(), in which case they are relayed subject to the rate limiter.
BIP 66: strict DER encoding for signatures
Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new
consensus rule, which prohibits non-DER signatures. Such transactions have been
non-standard since Bitcoin v0.8.0 (released in February 2013), but were
technically still permitted inside blocks.
This change breaks the dependency on OpenSSL's signature parsing, and is
required if implementations would want to remove all of OpenSSL from the
consensus code.
The same miner-voting mechanism as in BIP 34 is used: when 751 out of a
sequence of 1001 blocks have version number 3 or higher, the new consensus
rule becomes active for those blocks. When 951 out of a sequence of 1001
blocks have version number 3 or higher, it becomes mandatory for all blocks.
Backward compatibility with current mining software is NOT provided, thus miners
should read the first paragraph of "Mining and relay policy enhancements" above.
0.10.0 Change log

Detailed release notes follow. This overview includes changes that affect external
behavior, not code moves, refactors or string updates.
RPC:
  • f923c07 Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost
  • b641c9c Fix addnode "onetry": Connect with OpenNetworkConnection
  • 171ca77 estimatefee / estimatepriority RPC methods
  • b750cf1 Remove cli functionality from bitcoind
  • f6984e8 Add "chain" to getmininginfo, improve help in getblockchaininfo
  • 99ddc6c Add nLocalServices info to RPC getinfo
  • cf0c47b Remove getwork() RPC call
  • 2a72d45 prioritisetransaction
  • e44fea5 Add an option -datacarrier to allow users to disable relaying/mining data carrier transactions
  • 2ec5a3d Prevent easy RPC memory exhaustion attack
  • d4640d7 Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation
  • 83f3543 Added argument to listaccounts to include watchonly addresses
  • 952877e Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address
  • d7d5d23 Added argument to listtransactions and listsinceblock to include watchonly addresses
  • f87ba3d added includeWatchonly argument to 'gettransaction' because it affects balance calculation
  • 0fa2f88 added includedWatchonly argument to listreceivedbyaddress/...account
  • 6c37f7f getrawchangeaddress: fail when keypool exhausted and wallet locked
  • ff6a7af getblocktemplate: longpolling support
  • c4a321f Add peerid to getpeerinfo to allow correlation with the logs
  • 1b4568c Add vout to ListTransactions output
  • b33bd7a Implement "getchaintips" RPC command to monitor blockchain forks
  • 733177e Remove size limit in RPC client, keep it in server
  • 6b5b7cb Categorize rpc help overview
  • 6f2c26a Closely track mempool byte total. Add "getmempoolinfo" RPC
  • aa82795 Add detailed network info to getnetworkinfo RPC
  • 01094bd Don't reveal whether password is <20 or >20 characters in RPC
  • 57153d4 rpc: Compute number of confirmations of a block from block height
  • ff36cbe getnetworkinfo: export local node's client sub-version string
  • d14d7de SanitizeString: allow '(' and ')'
  • 31d6390 Fixed setaccount accepting foreign address
  • b5ec5fe update getnetworkinfo help with subversion
  • ad6e601 RPC additions after headers-first
  • 33dfbf5 rpc: Fix leveldb iterator leak, and flush before gettxoutsetinfo
  • 2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option
  • f877aaa submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock
  • e69a587 submitblock: Support for returning specific rejection reasons
  • af82884 Add "warmup mode" for RPC server
  • e2655e0 Add unauthenticated HTTP REST interface to public blockchain data
  • 683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server
  • 44b4c0d signrawtransaction: validate private key
  • 9765a50 Implement BIP 23 Block Proposal
  • f9de17e Add warning comment to getinfo
Command-line options:
  • ee21912 Use netmasks instead of wildcards for IP address matching
  • deb3572 Add -rpcbind option to allow binding RPC port on a specific interface
  • 96b733e Add -version option to get just the version
  • 1569353 Add -stopafterblockimport option
  • 77cbd46 Let -zapwallettxes recover transaction meta data
  • 1c750db remove -tor compatibility code (only allow -onion)
  • 4aaa017 rework help messages for fee-related options
  • 4278b1d Clarify error message when invalid -rpcallowip
  • 6b407e4 -datadir is now allowed in config files
  • bdd5b58 Add option -sysperms to disable 077 umask (create new files with system default umask)
  • cbe39a3 Add "bitcoin-tx" command line utility and supporting modules
  • dbca89b Trigger -alertnotify if network is upgrading without you
  • ad96e7c Make -reindex cope with out-of-order blocks
  • 16d5194 Skip reindexed blocks individually
  • ec01243 --tracerpc option for regression tests
  • f654f00 Change -genproclimit default to 1
  • 3c77714 Make -proxy set all network types, avoiding a connect leak
  • 57be955 Remove -printblock, -printblocktree, and -printblockindex
  • ad3d208 remove -maxorphanblocks config parameter since it is no longer functional
Block and transaction handling:
  • 7a0e84d ProcessGetData(): abort if a block file is missing from disk
  • 8c93bf4 LoadBlockIndexDB(): Require block db reindex if any blk*.dat files are missing
  • 77339e5 Get rid of the static chainMostWork (optimization)
  • 4e0eed8 Allow ActivateBestChain to release its lock on cs_main
  • 18e7216 Push cs_mains down in ProcessBlock
  • fa126ef Avoid undefined behavior using CFlatData in CScript serialization
  • 7f3b4e9 Relax IsStandard rules for pay-to-script-hash transactions
  • c9a0918 Add a skiplist to the CBlockIndex structure
  • bc42503 Use unordered_map for CCoinsViewCache with salted hash (optimization)
  • d4d3fbd Do not flush the cache after every block outside of IBD (optimization)
  • ad08d0b Bugfix: make CCoinsViewMemPool support pruned entries in underlying cache
  • 5734d4d Only remove actualy failed blocks from setBlockIndexValid
  • d70bc52 Rework block processing benchmark code
  • 714a3e6 Only keep setBlockIndexValid entries that are possible improvements
  • ea100c7 Reduce maximum coinscache size during verification (reduce memory usage)
  • 4fad8e6 Reject transactions with excessive numbers of sigops
  • b0875eb Allow BatchWrite to destroy its input, reducing copying (optimization)
  • 92bb6f2 Bypass reloading blocks from disk (optimization)
  • 2e28031 Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (reduce memory usage)
  • ab15b2e Avoid copying undo data (optimization)
  • 341735e Headers-first synchronization
  • afc32c5 Fix rebuild-chainstate feature and improve its performance
  • e11b2ce Fix large reorgs
  • ed6d1a2 Keep information about all block files in memory
  • a48f2d6 Abstract context-dependent block checking from acceptance
  • 7e615f5 Fixed mempool sync after sending a transaction
  • 51ce901 Improve chainstate/blockindex disk writing policy
  • a206950 Introduce separate flushing modes
  • 9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true
  • 868d041 Remove coinbase-dependant transactions during reorg
  • 723d12c Remove txn which are invalidated by coinbase maturity during reorg
  • 0cb8763 Check against MANDATORY flags prior to accepting to mempool
  • 8446262 Reject headers that build on an invalid parent
  • 008138c Bugfix: only track UTXO modification after lookup
P2P protocol and network code:
  • f80cffa Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails
  • c30329a Add testnet DNS seed of Alex Kotenko
  • 45a4baf Add testnet DNS seed of Andreas Schildbach
  • f1920e8 Ping automatically every 2 minutes (unconditionally)
  • 806fd19 Allocate receive buffers in on the fly
  • 6ecf3ed Display unknown commands received
  • aa81564 Track peers' available blocks
  • caf6150 Use async name resolving to improve net thread responsiveness
  • 9f4da19 Use pong receive time rather than processing time
  • 0127a9b remove SOCKS4 support from core and GUI, use SOCKS5
  • 40f5cb8 Send rejects and apply DoS scoring for errors in direct block validation
  • dc942e6 Introduce whitelisted peers
  • c994d2e prevent SOCKET leak in BindListenPort()
  • a60120e Add built-in seeds for .onion
  • 60dc8e4 Allow -onlynet=onion to be used
  • 3a56de7 addrman: Do not propagate obviously poor addresses onto the network
  • 6050ab6 netbase: Make SOCKS5 negotiation interruptible
  • 604ee2a Remove tx from AlreadyAskedFor list once we receive it, not when we process it
  • efad808 Avoid reject message feedback loops
  • 71697f9 Separate protocol versioning from clientversion
  • 20a5f61 Don't relay alerts to peers before version negotiation
  • b4ee0bd Introduce preferred download peers
  • 845c86d Do not use third party services for IP detection
  • 12a49ca Limit the number of new addressses to accumulate
  • 35e408f Regard connection failures as attempt for addrman
  • a3a7317 Introduce 10 minute block download timeout
  • 3022e7d Require sufficent priority for relay of free transactions
  • 58fda4d Update seed IPs, based on bitcoin.sipa.be crawler data
  • 18021d0 Remove bitnodes.io from dnsseeds.
Validation:
  • 6fd7ef2 Also switch the (unused) verification code to low-s instead of even-s
  • 584a358 Do merkle root and txid duplicates check simultaneously
  • 217a5c9 When transaction outputs exceed inputs, show the offending amounts so as to aid debugging
  • f74fc9b Print input index when signature validation fails, to aid debugging
  • 6fd59ee script.h: set_vch() should shift a >32 bit value
  • d752ba8 Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (test only)
  • 698c6ab Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (test only)
  • ab9edbd script: create sane error return codes for script validation and remove logging
  • 219a147 script: check ScriptError values in script tests
  • 0391423 Discourage NOPs reserved for soft-fork upgrades
  • 98b135f Make STRICTENC invalid pubkeys fail the script rather than the opcode
  • 307f7d4 Report script evaluation failures in log and reject messages
  • ace39db consensus: guard against openssl's new strict DER checks
  • 12b7c44 Improve robustness of DER recoding code
  • 76ce5c8 fail immediately on an empty signature
Build system:
  • f25e3ad Fix build in OS X 10.9
  • 65e8ba4 build: Switch to non-recursive make
  • 460b32d build: fix broken boost chrono check on some platforms
  • 9ce0774 build: Fix windows configure when using --with-qt-libdir
  • ea96475 build: Add mention of --disable-wallet to bdb48 error messages
  • 1dec09b depends: add shared dependency builder
  • c101c76 build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix
  • e432a5f build: add option for reducing exports (v2)
  • 6134b43 Fixing condition 'sabotaging' MSVC build
  • af0bd5e osx: fix signing to make Gatekeeper happy (again)
  • a7d1f03 build: fix dynamic boost check when --with-boost= is used
  • d5fd094 build: fix qt test build when libprotobuf is in a non-standard path
  • 2cf5f16 Add libbitcoinconsensus library
  • 914868a build: add a deterministic dmg signer
  • 2d375fe depends: bump openssl to 1.0.1k
  • b7a4ecc Build: Only check for boost when building code that requires it
Wallet:
  • b33d1f5 Use fee/priority estimates in wallet CreateTransaction
  • 4b7b1bb Sanity checks for estimates
  • c898846 Add support for watch-only addresses
  • d5087d1 Use script matching rather than destination matching for watch-only
  • d88af56 Fee fixes
  • a35b55b Dont run full check every time we decrypt wallet
  • 3a7c348 Fix make_change to not create half-satoshis
  • f606bb9 fix a possible memory leak in CWalletDB::Recover
  • 870da77 fix possible memory leaks in CWallet::EncryptWallet
  • ccca27a Watch-only fixes
  • 9b1627d [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis
  • a53fd41 Deterministic signing
  • 15ad0b5 Apply AreSane() checks to the fees from the network
  • 11855c1 Enforce minRelayTxFee on wallet created tx and add a maxtxfee option
GUI:
  • c21c74b osx: Fix missing dock menu with qt5
  • b90711c Fix Transaction details shows wrong To:
  • 516053c Make links in 'About Bitcoin Core' clickable
  • bdc83e8 Ensure payment request network matches client network
  • 65f78a1 Add GUI view of peer information
  • 06a91d9 VerifyDB progress reporting
  • fe6bff2 Add BerkeleyDB version info to RPCConsole
  • b917555 PeerTableModel: Fix potential deadlock. #4296
  • dff0e3b Improve rpc console history behavior
  • 95a9383 Remove CENT-fee-rule from coin control completely
  • 56b07d2 Allow setting listen via GUI
  • d95ba75 Log messages with type>QtDebugMsg as non-debug
  • 8969828 New status bar Unit Display Control and related changes
  • 674c070 seed OpenSSL PNRG with Windows event data
  • 509f926 Payment request parsing on startup now only changes network if a valid network name is specified
  • acd432b Prevent balloon-spam after rescan
  • 7007402 Implement SI-style (thin space) thoudands separator
  • 91cce17 Use fixed-point arithmetic in amount spinbox
  • bdba2dd Remove an obscure option no-one cares about
  • bd0aa10 Replace the temporary file hack currently used to change Bitcoin-Qt's dock icon (OS X) with a buffer-based solution
  • 94e1b9e Re-work overviewpage UI
  • 8bfdc9a Better looking trayicon
  • b197bf3 disable tray interactions when client model set to 0
  • 1c5f0af Add column Watch-only to transactions list
  • 21f139b Fix tablet crash. closes #4854
  • e84843c Broken addresses on command line no longer trigger testnet
  • a49f11d Change splash screen to normal window
  • 1f9be98 Disable App Nap on OSX 10.9+
  • 27c3e91 Add proxy to options overridden if necessary
  • 4bd1185 Allow "emergency" shutdown during startup
  • d52f072 Don't show wallet options in the preferences menu when running with -disablewallet
  • 6093aa1 Qt: QProgressBar CPU-Issue workaround
  • 0ed9675 [Wallet] Add global boolean whether to send free transactions (default=true)
  • ed3e5e4 [Wallet] Add global boolean whether to pay at least the custom fee (default=true)
  • e7876b2 [Wallet] Prevent user from paying a non-sense fee
  • c1c9d5b Add Smartfee to GUI
  • e0a25c5 Make askpassphrase dialog behave more sanely
  • 94b362d On close of splashscreen interrupt verifyDB
  • b790d13 English translation update
  • 8543b0d Correct tooltip on address book page
Tests:
  • b41e594 Fix script test handling of empty scripts
  • d3a33fc Test CHECKMULTISIG with m == 0 and n == 0
  • 29c1749 Let tx (in)valid tests use any SCRIPT_VERIFY flag
  • 6380180 Add rejection of non-null CHECKMULTISIG dummy values
  • 21bf3d2 Add tests for BoostAsioToCNetAddr
  • b5ad5e7 Add Python test for -rpcbind and -rpcallowip
  • 9ec0306 Add CODESEPARATOFindAndDelete() tests
  • 75ebced Added many rpc wallet tests
  • 0193fb8 Allow multiple regression tests to run at once
  • 92a6220 Hook up sanity checks
  • 3820e01 Extend and move all crypto tests to crypto_tests.cpp
  • 3f9a019 added list/get received by address/ account tests
  • a90689f Remove timing-based signature cache unit test
  • 236982c Add skiplist unit tests
  • f4b00be Add CChain::GetLocator() unit test
  • b45a6e8 Add test for getblocktemplate longpolling
  • cdf305e Set -discover=0 in regtest framework
  • ed02282 additional test for OP_SIZE in script_valid.json
  • 0072d98 script tests: BOOLAND, BOOLOR decode to integer
  • 833ff16 script tests: values that overflow to 0 are true
  • 4cac5db script tests: value with trailing 0x00 is true
  • 89101c6 script test: test case for 5-byte bools
  • d2d9dc0 script tests: add tests for CHECKMULTISIG limits
  • d789386 Add "it works" test for bitcoin-tx
  • df4d61e Add bitcoin-tx tests
  • aa41ac2 Test IsPushOnly() with invalid push
  • 6022b5d Make script_{valid,invalid}.json validation flags configurable
  • 8138cbe Add automatic script test generation, and actual checksig tests
  • ed27e53 Add coins_tests with a large randomized CCoinViewCache test
  • 9df9cf5 Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
  • dcb9846 Extend getchaintips RPC test
  • 554147a Ensure MINIMALDATA invalid tests can only fail one way
  • dfeec18 Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
  • 2b62e17 Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
  • 16d78bd Add valid invert of invalid every numeric opcode tests
  • f635269 tests: enable alertnotify test for Windows
  • 7a41614 tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment
  • 5122ea7 tests: fix forknotify.py on windows
  • fa7f8cd tests: remove old pull-tester scripts
  • 7667850 tests: replace the old (unused since Travis) tests with new rpc test scripts
  • f4e0aef Do signature-s negation inside the tests
  • 1837987 Optimize -regtest setgenerate block generation
  • 2db4c8a Fix node ranges in the test framework
  • a8b2ce5 regression test only setmocktime RPC call
  • daf03e7 RPC tests: create initial chain with specific timestamps
  • 8656dbb Port/fix txnmall.sh regression test
  • ca81587 Test the exact order of CHECKMULTISIG sig/pubkey evaluation
  • 7357893 Prioritize and display -testsafemode status in UI
  • f321d6b Add key generation/verification to ECC sanity check
  • 132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test
  • bc6cb41 QA RPC tests: Add tests block block proposals
  • f67a9ce Use deterministically generated script tests
  • 11d7a7d [RPC] add rpc-test for http keep-alive (persistent connections)
  • 34318d7 RPC-test based on invalidateblock for mempool coinbase spends
  • 76ec867 Use actually valid transactions for script tests
  • c8589bf Add actual signature tests
  • e2677d7 Fix smartfees test for change to relay policy
  • 263b65e tests: run sanity checks in tests too
Miscellaneous:
  • 122549f Fix incorrect checkpoint data for testnet3
  • 5bd02cf Log used config file to debug.log on startup
  • 68ba85f Updated Debian example bitcoin.conf with config from wiki + removed some cruft and updated comments
  • e5ee8f0 Remove -beta suffix
  • 38405ac Add comment regarding experimental-use service bits
  • be873f6 Issue warning if collecting RandSeed data failed
  • 8ae973c Allocate more space if necessary in RandSeedAddPerfMon
  • 675bcd5 Correct comment for 15-of-15 p2sh script size
  • fda3fed libsecp256k1 integration
  • 2e36866 Show nodeid instead of addresses in log (for anonymity) unless otherwise requested
  • cd01a5e Enable paranoid corruption checks in LevelDB >= 1.16
  • 9365937 Add comment about never updating nTimeOffset past 199 samples
  • 403c1bf contrib: remove getwork-based pyminer (as getwork API call has been removed)
  • 0c3e101 contrib: Added systemd .service file in order to help distributions integrate bitcoind
  • 0a0878d doc: Add new DNSseed policy
  • 2887bff Update coding style and add .clang-format
  • 5cbda4f Changed LevelDB cursors to use scoped pointers to ensure destruction when going out of scope
  • b4a72a7 contrib/linearize: split output files based on new-timestamp-year or max-file-size
  • e982b57 Use explicit fflush() instead of setvbuf()
  • 234bfbf contrib: Add init scripts and docs for Upstart and OpenRC
  • 01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw
  • d6712db Also create pid file in non-daemon mode
  • 772ab0e contrib: use batched JSON-RPC in linarize-hashes (optimization)
  • 7ab4358 Update bash-completion for v0.10
  • 6e6a36c contrib: show pull # in prompt for github-merge script
  • 5b9f842 Upgrade leveldb to 1.18, make chainstate databases compatible between ARM and x86 (issue #2293)
  • 4e7c219 Catch UTXO set read errors and shutdown
  • 867c600 Catch LevelDB errors during flush
  • 06ca065 Fix CScriptID(const CScript& in) in empty script case
Credits

Thanks to everyone who contributed to this release:
  • 21E14
  • Adam Weiss
  • Aitor Pazos
  • Alexander Jeng
  • Alex Morcos
  • Alon Muroch
  • Andreas Schildbach
  • Andrew Poelstra
  • Andy Alness
  • Ashley Holman
  • Benedict Chan
  • Ben Holden-Crowther
  • Bryan Bishop
  • BtcDrak
  • Christian von Roques
  • Clinton Christian
  • Cory Fields
  • Cozz Lovan
  • daniel
  • Daniel Kraft
  • David Hill
  • Derek701
  • dexX7
  • dllud
  • Dominyk Tiller
  • Doug
  • elichai
  • elkingtowa
  • ENikS
  • Eric Shaw
  • Federico Bond
  • Francis GASCHET
  • Gavin Andresen
  • Giuseppe Mazzotta
  • Glenn Willen
  • Gregory Maxwell
  • gubatron
  • HarryWu
  • himynameismartin
  • Huang Le
  • Ian Carroll
  • imharrywu
  • Jameson Lopp
  • Janusz Lenar
  • JaSK
  • Jeff Garzik
  • JL2035
  • Johnathan Corgan
  • Jonas Schnelli
  • jtimon
  • Julian Haight
  • Kamil Domanski
  • kazcw
  • kevin
  • kiwigb
  • Kosta Zertsekel
  • LongShao007
  • Luke Dashjr
  • Mark Friedenbach
  • Mathy Vanvoorden
  • Matt Corallo
  • Matthew Bogosian
  • Micha
  • Michael Ford
  • Mike Hearn
  • mrbandrews
  • mruddy
  • ntrgn
  • Otto Allmendinger
  • paveljanik
  • Pavel Vasin
  • Peter Todd
  • phantomcircuit
  • Philip Kaufmann
  • Pieter Wuille
  • pryds
  • randy-waterhouse
  • R E Broadley
  • Rose Toomey
  • Ross Nicoll
  • Roy Badami
  • Ruben Dario Ponticelli
  • Rune K. Svendsen
  • Ryan X. Charles
  • Saivann
  • sandakersmann
  • SergioDemianLerner
  • shshshsh
  • sinetek
  • Stuart Cardall
  • Suhas Daftuar
  • Tawanda Kembo
  • Teran McKinney
  • tm314159
  • Tom Harding
  • Trevin Hofmann
  • Whit J
  • Wladimir J. van der Laan
  • Yoichi Hirai
  • Zak Wilcox
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
Also lots of thanks to the bitcoin.org website team David A. Harding and Saivann Carignan.
Wladimir
original: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-February/007480.html
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

Creating pre-signed bitcoin transactions How to Get Your Coinbase Bitcoin Wallet Address - YouTube Building Bitcoin Websites - Blockchain API 1 of 2 Testing ALFAcoins system with Litecoin Testnet (LTCT ... Bitcoin Mining- First Payout  EpicReviewGuys CC - YouTube

A Bitcoin address, or simply address, is an identifier of 26-35 alphanumeric characters, beginning with the number 1, 3 or bc1 that represents a possible destination for a bitcoin payment. Addresses can be generated at no cost by any user of Bitcoin. For example, using Bitcoin Core, one can click "New Address" and be assigned an address.It is also possible to get a Bitcoin address using an ... Bitcoin addresses can be generated on this site https://www.bitaddress.org, but the test network needs m or n at the beginning of the address, where can those be generated? Stack Exchange Network Stack Exchange network consists of 176 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. 4 Sample Bitcoin.conf; 5 Platforms. 5.1 Windows. 5.1.1 Start automatically; 5.1.2 Batch automation; 5.2 Mac; 5.3 Linux; 6 See Also; 7 Links; Linux Quickstart . The simplest way to start from scratch with the command line client, automatically syncing blockchain and creating a wallet, is to just run this command (without arguments) from the directory containing your bitcoind binary: ./bitcoind ... The “Pay to” field holds a Bitcoin address of your intended payee, which can be manually entered or pasted from the clipboard. Adding a description will help you identify the payment later. The total amount of the transaction is the sum of the sent amount and transaction fee. Electrum issues a warning in the form of a red amount if the total transaction amount exceeds the wallet balance ... Send s to the address (or QR code) where your wallet says "PUBLIC ADDRESS". How to withdraw funds from your wallet: You should expect to withdraw the entire balance of the wallet by importing it (or "sweeping" it) to a live wallet, e.g. a Bitcoin wallet application or online service like blockchain.info or coinbase.com. If you elected to BIP38-encrypt your wallet, you may need to recover your

[index] [12870] [36607] [34811] [1498] [43392] [2021] [40029] [3689] [37923] [20296]

Creating pre-signed bitcoin transactions

Jeff Flowers from Blockchain U taught me how to use a Bitcore script that he wrote to transfer bitcoins on TestNet. I hit some errors at first but he helped clear up the process for me. In this video, I show how to create a pre-signed transaction that can be broadcast to the bitcoin network at a later time. Useful in situations where you wou... Litecoin Testnet uses an alternate blockchain that is set aside for testing and e... Skip navigation Sign in. Search. Loading... Close. This video is unavailable. Watch Queue Queue . Watch Queue ... If you want to someone to send you money to your Bitcoin account, Give them this address. you may donate to our network via Bitcoin as well :) Bitcoin addres... After two months of Bitcoin mining with our Bitmain Antminer- http://bit.ly/AntMiner we finally get our first payout. But re-doing the math I can see where w...

#