Що є належним форумом для обговорення технічних питань про Ripple?

Є список адрес, де розробники програмного забезпечення та інші зацікавлені сторони можуть мати технічні дискусії про пульсації вихідного коду і інших аспектів мережі?

Обмін Bitcoin стек більше підходить для Q&A, де питання мають певні відповіді.

+886
Andrea Morandini 23 серп. 2013 р., 05:23:00
33 відповідей

Є кілька різних аспектів на ваше питання.

Як випадково не втратити монети?

Вам необхідно мати надійне і безпечне резервне копіювання закритих ключів вашого гаманця. Залежно від гаманця, який ви використовуєте, це може бути файл (наприклад, гаманець.дат), є мнемонічні фрази, або який-небудь інший вид інформації. Переконайтеся, що ви знаєте, що ви зберігаєте і як використовувати його, щоб відновити свій гаманець. Зокрема, тільки зберігання адрес не вистачає. Якщо це можливо, практики, процедури резервного копіювання і відновлення, навіть якщо вам доведеться зробити кілька зайвих операцій (і платити внески).

Зберігати резервні копії в безпечному місці, можливо, в кількох примірниках, так, що ні один осяжному катастрофи може знищити їх усіх. Крім того, резервні копії не повинні бути доступні сторонніми, або, що людина може вкрасти ваші монети (див. нижче). Можна шифрувати резервні копії, але тоді ви повинні з'ясувати, як ви переконаєтеся, що згадати ключ шифрування або пароль.

Ви можете зберігати ваші монети з біржі або інтернет-провайдера (компанія тощо), Але це несе у собі ризики: вони можуть збанкрутувати або втратити свої монети, з-за помилок, шахрайства, крадіжки або нещасного випадку.

Як уникнути вкрадені монети?

У нас є ще одне питання про це: як я можу тримати мій гаманець в безпеці?

Ви повинні переконатися, що ніхто більше не отримає доступ до вашої приватної ключів. Якщо ви зберігаєте їх на комп'ютер, телефон або інший пристрій, який ви зазвичай використовуєте для роботи з Bitcoin, необхідно враховувати можливість того, що пристрої можуть бути втрачені або вкрадені або зламані. Використовувати будь-яке шифрування чи інші механізми захисту, що надаються програмним забезпеченням вашого гаманця або операційної системи. Використовувати передовий практики безпеки в цілому; уникати встановлення невідомого програмного забезпечення або відвідуючи невідомих веб-сайтів, і стежити за оновленнями безпеки.

Ви також можете зберегти деякі з ваших монет в автономному режимі, в паперовий гаманець або автономного USB-накопичувач. Ви будете потребувати, щоб переконатися, що вона зберігається в надійному і безпечному місці, де ніхто не може дістатися до нього, і будьте впевнені, щоб мати резервні копії у випадку, якщо він буде випадково знищений.

Як уникнути монети втрачають цінність?

Ви не можете. Ціна Bitcoin буде продовжувати вагатися. Єдиний спосіб "зафіксувати" свій прибуток, щоб продати деякі або всі ваші монети (або виконувати якусь екзотичну живопліт, майже те ж саме). Це означає, що вам не вигідно (стільки ж), якщо вартість йде вгору пізно; ви не можете мати його в обох напрямках.

+920
B Bycroft 03 февр. '09 в 4:24

Звичайно, назва "обмін" передбачає місце для зміни одного виду валюти на іншу. наприклад, обмін доларів США за фунти стерлінгів, біткойни за євро і т. д. Тому так, як і будь-магазин, ви повинні зробити деякий запас для того, щоб торгувати

+911
user3256882 1 трав. 2015 р., 01:48:55
Інші відповіді

Пов'язані питання


Схожі питання

Це питання було поставлене раніше тут і тут , але це було давно перед працею стрибнув у листопаді 2013 року. Видобуток биткоинов стає все складніше і складніше з плином часу. Це відбувається тому, що Bitocin протокол розроблений таким чином, що гірська труднощі збільшується, як в мережі хеш ставка збільшується - цей графік показує биткоин складності з плином часу. Хеш ставка-це ставка обчислювальної системи - так більше шахтарів піднятися на борт, тим вище труднощі для видобутку Bitocins - цей графік показує мережі хэшрейт.

Сьогодні, якщо ви хочете добувати Bitcoins, ви, ймовірно, потрібно вступити в пул шахтарів, які працюють разом, щоб конкурувати з цією складністю. Детальний опис дивіться тут. Якщо ви хочете точно підрахувати, скільки ви можете заробити з Биткоин майнінг використання інтелектуального аналізу рентабельності калькулятор, як цей. З мого власного досвіду я можу сказати, що з допомогою найпотужніших саморобних Шахтар ви можете зробити кілька сотень доларів на місяць, які зазвичай ледь покривають витрати на електроенергію. Ось реальний приклад у хлопця на Reddit.

Ще один варіант помоему буде сех.Іо , який є хмарного майнінгу, де ви переважно купуєте інтелектуального потенціалу без клопоту працювати ваш власний майнер. Я не пробував це сам, тому я не можу рекомендувати його.

Якщо ви хочете добувати Bitcoins сьогодні це буде, напевно, чисто для хобі чи ідеології. Проте ви можете спробувати майнінг альткоинов, а потім обмінювати їх на биткоины. Проблема в тому, що є так багато альткоинов іноді це може бути важко знати, які з них варто витрачати час на. Цей графік показує вам якийсь інтелектуального аналізу рентабельності показник для різних альткоинов. Так що навіть якщо ви вже "спізнилися на автобус" на майнинге Bitcoin ви як і раніше можете спробувати видобувати альткоинов.

+908
Sandy Garcia 12 черв. 2018 р., 10:31:51

Я не впевнений, що я добре зрозумів питання. Це було б правильно:

Я передав від деяких обмінних мої кошти за адресою, яку я імпортував, як подивитися адресу на blockchain.info. Тепер я бачу кошти, але я не можу витрачати те, що я повинен робити?

Якщо це питання те ж що і користувач повідомляє, що blockchain.info взагалі не допомогло, тоді я припускаю, що blockchain.info не власник адреси, який був імпортований. Ось що ви могли б зробити:

  • На яку адресу ви відправляли свої кошти? Якщо це адреса, який ви чомусь створили з деяких додатків, таких як биткоин ядра, багаторозрядні, .... потім їх застосування/папки даних користувача повинні бути раніше присутня на вашому комп'ютері, навіть якщо ви видалили його). Якщо це так і адресу гаманця ви теж послали коштів в IE. ядра биткоин, ви можете експортувати закритий ключ, якщо ви пишете в консолі dumpprivkey YourBtcAddress
  • Якщо ви імпортували адресу біржі гаманець, то кошти будуть як і раніше видно на обмін. У цьому випадку обмін буде як і раніше мати свої монети і може допомогти вам
  • Якщо ця адреса ніколи не належав до вас, то у вас немає закритого ключа і ви не можете зробити що-небудь поруч, щоб зв'язатися з власником адреси.
  • Брутфорс-це не зовсім варіант, але в теорії можливо. Однак, це точка, що ви взагалі повинні забути.

Я сподіваюся, що це допомагає. Я бачу тут тільки 3 варіанти, адреса належить вам (ви можете отримати ваші кошти), адреса належить на обмін (ви все ще можете отримати ваші грошові кошти) і, що воно належить кому-то ви не знаєте і у вас немає закритого ключа (в цьому випадку ви нічого не зможете отримати ваші кошти назад), може бути, ви могли б задати в інтернеті хто господар, але сумніваюся, що ОТВ вийде.

+882
Dottor M 13 квіт. 2011 р., 20:15:23

Проблема тут-це ви лікуєте ЛН, як ніби його для разових платежів. Якщо Аліса збирається відправити Роб всі Биткоин-вона в платіжному канал, навіщо вона відкрила оплати каналу в першу чергу. Не було б ніяких підстав. Вона б просто здійснити операцію на ланцюгу. Пам'ятайте, що при ЛН повинен бути в змозі зробити купу платежів. Так що ви ніколи не збирається фінансувати тільки оплата каналів з досить монет, щоб зробити одну транзакцію. ЛН буде використовуватись для багатьох дрібних угод. Так ви ж кажете, поставити суму 500 $биткоин в платіжний канал для того, щоб використовувати його для покупки повсякденних речей купу разів. Пропускна здатність типового вузла (кількість у вузлі) буде набагато більше, ніж типовий суми угоди, в іншому випадку не було б жодних підстав використовувати протягом по ланцюжку угод, якщо ви були просто відкриття каналу для однієї або двох операцій.

Тепер так, якщо ви поклали купу Bitcoin в оплату каналу і в якийсь наступний момент часу ви хотіли відправити значну частину того, що в одній угоді ви можете знайти його важко знайти маршрут до місця призначення. Але навіть у цьому випадку ви могли б просто відправити його на декілька більш дрібних операцій, і, очевидно, добре спроектований вузол ЛН буде обробляти це автоматично, якщо ваш платіж виявився занадто великим, щоб кінцевий користувач навіть не маєте жодного уявлення про це.

Нарешті, ваше твердження "і користувачі мають всі підстави, щоб зберегти канали якомога менше, щоб звести до мінімуму 'скоєних' БТЦ." це просто не правда. Насправді це навпаки. Якщо ви тримаєте канал як можна менше, що означає, що ви робите менше ВМС США через LN і більш відкриття і закриття каналу на ланцюгу, означає, що вона буде коштувати вам більше грошей. Отже, насправді, у користувачів є всі стимули, щоб збільшити (в розумних межах) розмір їх каналів так, щоб уникнути на ланцюгу зборів. Пам'ятайте, 'вчинені' БТЦ не в якомусь місці ви не можете відкрити його, насправді це набагато більш доступним, тому що його на ЛН (коли виростає до достатніх розмірів, так що мережеві ефекти сильні). НФО для випадку використання використання Bitcoin в якості платіжної системи, і ЛН буде набагато перевершує по ланцюгу з точки зору швидкості і збори. Так що це не як монет в платіжному каналу замкнені, вони насправді просто зберігаються таким чином, що робить їх набагато більш раціонально.

+829
Nastasya19rus 12 серп. 2018 р., 13:42:57

Спасибі. progranism по електронній пошті - немає відповіді Перевірений кожен простий Javacsript майнер стверджують, що вони працюють, ніхто не працював для мене.

" Завантажити повний вихідний код. Вам потрібно додаток, додаток Google двигуна визначений і готовий код, який буде завантажений. Модифікувати додаток.і YAML у відповідності з ім'ям додатка, перейменувати або скопіювати файл config.пи.зразок config.py і змінити його, щоб використовувати ваші облікові дані пулу. Відкрийте "ніндзя" сторінка w.html в свій шлях додаток і ви до моїх! "

Я не потребую додаток Google двигуна для мого блоку алгоритму хешування в рівнина з JS. Тепер мені потрібно запустити допомогою методу getjson, щоб зробити заголовки блоків з blockchain.info через API (не працювати, так як я не запустити веб-сервер).

Ви абсолютно праві. Блок хешування в звичайний JS-це саме для цілей Еду ( офф-лайн режимі), для перевірки блоків хэшируется в минуле і дізнатися більше про майнинге Bitcoin.

Ніколи не бачив ByteSwap, binarystring2hexstring , рядки hexstring2binary, little-endian реалізовані в звичайний JavaScript, щоб працювати на мене.

Просто протестувати будь-JS код з будь-якого сайту, стверджують, що вони працюють.

+824
Maru Ben 1 черв. 2012 р., 14:31:16

Так мільйони premined а имено купити американську компанію-це проблема !

Та те, що це не відкритий код-це проблема!

Також це законно для нас компанії по випуску боргових такі гроші ?

Якщо компанія вимикання ?

См. також http://ripplescam.org/

Особисто я не чіпати, навіть з палицею.

+807
tuvac 3 серп. 2014 р., 13:43:55

Ось самодостатній скрипт на Python, який робить перетворення. Ви можете перевірити свою роботу у порівнянні з входом в ваш закритий ключ як "секрет експонента" в Brainwallet. Я взяв скрипт з цій гілці форуму Bitcointalk і відсікаються непотрібні речі (наприклад, код, щоб використовувати відкритий ключ для підпису повідомлень і перевірки підпису).

Перетворення в Python для вказівки на людину залишається в якості вправи для читача (хоча я б стверджувати, що в цьому випадку код на Python, з відповідною документацією, це просто відмінно, інструкція на людину). Зверніть увагу, що це цілком можливо, щоб обчислити це з ручкою і папером, але це може зайняти деякий час, і ви, ймовірно, допустили помилку, з-за того, щоб мати справу з такими величезними числами.

Також зверніть увагу, що немає окремих операцій тут набагато складніше, ніж ти будеш вчитися в початковій/початкова школа. Є прості порівняння < > ==, арифметичні + - *, підрозділ де ви дбаєте про приватне /, залишок %, або як divmod, і побітового і (&, що досить легко, якщо ви працюєте в HEX, або можуть бути відтворена з арифметикою).

Я не думаю (не геній) 5-річний міг насправді зробити це (на жаль, зла відьма виграє цей раунд), але я думаю, що в середньому доросла людина при належному завзятості може навчитися математики, необхідні в майже немає часу (з допомогою скрипта Python як..ну..сценарій, щоб слідувати). Насправді обчислення навіть одного відкритого ключа без допомоги електронних обчислювальних пристроїв, однак може зайняти дуже тривалий час (приблизно років).

#! /usr/Бен/ДКР пітона
# пітон 2.х

клас CurveFp( об'єкта ):
 деф __инит__( самостійна, Р, А, Б ):
 самовивіз.__Р = P
 самовивіз.__а = а
 самовивіз.__б = б

 деф п( самовисування ):
 повернутися самостійно.__п

 визначення( я ):
 повернутися самостійно.__а

 деф б( самовисування ):
 повернутися самостійно.__б

 деф contains_point( самовисування, Х, Y ):
 повернення ( г * м - ( х * х * х + самовивіз.__а * х + самовивіз.__б) % самостійно.__Р == 0

точки класу( об'єкт ):
 деф __инит__( самостійна, кривий, х, р, Порядок = немає ):
 самовивіз.__крива = кривий
 самовивіз.__х = х
 самовивіз.__р = р
 самовивіз.__замовлення = замовлення
 якщо self.__кривий: заявити про себе.__кривий.contains_point( Х, Y )
 якщо метою: заявити про себе * порядок == нескінченність

 деф __додати__( самовисування, інше ):
 якщо інші == нескінченність: повернути себе
 якщо self == нескінченність: повернення інших
 стверджувати себе.__крива == інші.__крива
 якщо self.__х == інші.__х:
 якщо ( власності.__г + інших.__г ) % самостійно.__кривий.П() == 0:
 повернення нескінченності
інше:
 повернутися самостійно.подвійні()

 п = власності.__кривий.п()
 л = ( ( інші.__р - самовивозом.__г ) * \
 inverse_mod( інші.__х - я.__х, п ) ) % р
 Х3 = ( л * л - самовивіз.__х - інші.__х ) % річних
 У3 = ( л * ( самовисування.__х - Х3 ) - самостійно.__г ) % річних
 Точка повернення( самовисування.__кривий, Х3, У3 )

 деф __ТОВ__( самовисування, інше ):
 деф leftmost_bit( х ):
 стверджувати, х > 0
 результат = 1л
 хоча результат <= х: результат = 2 * результат
 зворотний результат / 2

 е = інші
 якщо self.__замовлення: е = е % самостійно.__замовлення
 якщо e = 0: повернення нескінченності
 якщо self == нескінченність: повернення нескінченності
 стверджувати е > 0
 Е3 = 3 * е
 negative_self = точка( самовисування.__кривий, самовивіз.__х-самостійно.__м, самовивіз.__замовлення )
 я = leftmost_bit( Е3 ) / 2
 результат = власності
 при Я > 1:
 результат = результат.подвійні()
 якщо ( Е3 & я ) != 0 і ( Е і я ) == 0: Результат = Результат + власності
 якщо ( Е3 & я ) == 0 і ( Е і я ) != 0: Результат = Результат + negative_self
 я = я / 2
 зворотний результат

 деф __rmul__( самовисування, інше ):
 повернути собі * інший

 деф __вул.__( самовисування ):
 якщо self == нескінченність: повернення "нескінченність"
 повернення "(%д%д)" % ( самовисування.__х, самовивіз.__г )

 деф подвійний( самовисування ):
 якщо self == нескінченність:
 повернення нескінченності

 п = власності.__кривий.п()
 а = власності.__кривий.а()
 л = ( ( 3 * самовисування.__х * власності.__х + а ) * \
 inverse_mod( 2 * самовисування.__р, п ) ) % р
 Х3 = ( Л * Л - 2 * самовисування.__х ) % річних
 У3 = ( л * ( самовисування.__х - Х3 ) - самостійно.__г ) % річних
 Точка повернення( самовисування.__кривий, Х3, У3 )

 деф х( самовисування ):
 повернутися самостійно.__х

 деф у( самовисування ):
 повернутися самостійно.__г

 крива деф( самовисування ):
 повернутися самостійно.__крива

 наказ Деф( самовисування ):
 повернутися самостійно.__замовлення

Нескінченність = точка( ні, ні, Ні )

деф inverse_mod( а, м ):
 якщо a < 0 або M <= а: а = а % м
 З, D = а, м
 УЦ, ЕП, уд, ВД = 1, 0, 0, 1
 а c != 0:
 питання, З, D = divmod( D, З ) + ( с, )
 УЦ, ЕП, уд, ВД = ад - м*НЯК, ВД - М*ВК, ОК, ВК
 стверджую Д == 1
 якщо UD > 0: відповідь уд
 інше: повернення уд + м

# крива secp256k1
Р = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFfffffffffffffffffffffffffefffffc2fl
_r = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFfebaaedce6af48a03bbfd25e8cd0364141l
_b = 0x0000000000000000000000000000000000000000000000000000000000000007l
_а = 0x0000000000000000000000000000000000000000000000000000000000000000l
_Gx = 0x79BE667EF9DCBBAC55A06295CE870B07029bfcdb2dce28d959f2815b16f81798l
_Gy = 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8l

Открытый_ключ класу( об'єкт ):
 деф __инит__( самостійна, генератор, точки ):
 самовивіз.крива = генератор.крива()
 самовивіз.генератор = генератор
 самовивіз.точка = точка
 Н = генератор.замовлення()
 якщо не N:
 підняти RuntimeError, "точка генератора повинен бути порядок".
 якщо не н * точка == нескінченність:
 підняти RuntimeError, "ордена генератор погано".
 якщо точка.х() < 0 або N <= точка.х() або точки.р() < 0 або N <= точка.р():
 підняти RuntimeError, "точка генератора X або Y з діапазону."

curve_256 = CurveFp( Р, _а, _b )
generator_256 = точка( curve_256, _Gx, _Gy, _r )
р = generator_256

якщо __ім'я__ == "__основний__":
 друк '======================================================================='
 ### набір привчной
 # Вікі
 #секрет = 0xE9873D79C6D87DC0FB6A5778633389f4453213303da61f20bd67fc233aa33262l
 # запитання
 секрет = 0x18E14A7B6A307F426A94F8114701E7c8e774e7f9a47e2c2035db29a206321725l

 ### принт привчной
 надрукувати "секрет", "пристріт" (секрет)
 ### генерувати за замовчуванням
 за замовчуванням = Открытый_ключ( р, р * секрет )
 ### друку за замовчуванням
 друк 'за замовчуванням', шестигранні(за замовчуванням.крапка.х()), шестигранні(за замовчуванням.крапка.р())
 друк '======================================================================='

См. також ще більш спрощена версія написана на C#.

клас CalcPub
{
 публічний статичний порожнеча основний()
{
 ВАР р = типу BigInteger.Розбір("0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F", NumberStyles.HexNumber);
 ВАР б = (типу BigInteger)7;
 ВАР а = типу BigInteger.Нуль;
 ВАР з GX = типу BigInteger.Розбір("79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798", NumberStyles.HexNumber);
 ВАР ги = типу BigInteger.Розбір("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8", NumberStyles.HexNumber);

 CurveFp curve256 = новий CurveFp(П, А, Б);
 Точка generator256 = нова точка(curve256, ГХ, гр);

 ВАР секрет = типу BigInteger.Розбір("18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725", NumberStyles.HexNumber);

 Консоль.Методу WriteLine("секрет {0}", секрет.Метод ToString("Х"));
 ВАР pubkeyPoint = generator256 * секрет;
 Консоль.Методу WriteLine("за замовчуванням {0}{1}", pubkeyPoint.Х.Метод toString("х"), pubkeyPoint.Р.Метод ToString("Х"));
}
}
точки класу 
{
 публічний статичний тільки для читання точку нескінченності = нова точка(null, значення за замовчуванням(типу BigInteger), за замовчуванням(типу BigInteger));
 крива публічних CurveFp { отримати; особисте набір; }
 громадського типу BigInteger Х { отримати; особисте набір; }
 громадського типу BigInteger р { отримати; особисте набір; }

 суспільної точки(CurveFp кривий, типу BigInteger х, типу BigInteger р)
{
 це.Крива = кривої;
 це.Х = х;
 це.Р = р;
}
 громадських пунктів подвійний()
{
 якщо (це == нескінченність)
 повернення нескінченність;

 Типу BigInteger Р = цей.Кривий.п;
 BigInteger на = цьому.Кривий.а;
 Типу BigInteger л = ((3 * це.Х * це.Х + а) * InverseMod(2 * Цей.Р, п)) % річних;
 Типу BigInteger Х3 = (Л * Л - 2 * це.Х) % річних;
 Типу BigInteger У3 = (л * (це.Х - Х3) - це.Г) % річних;
 повернути нову точку(це.Кривий, Х3, У3);
}
 громадського перевизначити рядок toString()
{
 якщо (це == нескінченність)
 повернення "нескінченність";
 повертає рядок.Формат("({0},{1})", це.X, це.Г);
}
 публічний статичний оператор точка +(точка ліворуч, праворуч точки)
{
 якщо (праворуч == нескінченність)
 повернутися вліво;
 якщо (зліва == нескінченність)
 повернути права;
 якщо (ліворуч.Х == правильно.Х)
{
 якщо ((ліворуч.Г + правий.Г) % залишилося.Кривий.Р == 0)
 повернення нескінченність;
ще
 повернутися вліво.Подвійний();
}

 ВАР Р = лівий.Кривий.п;
 ВАР я = ((праворуч.Р - лівий.Г) * InverseMod(право.Х - лівий.Х, п)) % річних;
 ВАР Х3 = (л * л - ліва.Х - правильно.Х) % річних;
 ВАР У3 = (л * (ліворуч.Х - Х3) - зліва.Г) % річних;
 повернення нової точки(ліворуч.Кривий, Х3, У3);
}
 публічний статичний оператор пункту *(точка зліва, справа типу BigInteger)
{
 ВАР е = вправо;
 якщо (е == 0 || вліво == нескінченність)
 повернення нескінченність;
 ВАР Е3 = 3 * е;
 ВАР negativeLeft = нова точка(ліворуч.Кривий, зліва.Х, -зліва.Г);
 ВАР я = LeftmostBit(Е3) / 2;
 ВАР результат = вліво;
 а (я > 1)
{
 результат = результат.Подвійний();
 якщо ((Е3 & я) != 0 && (e & Я) == 0)
 результат += вліво;
 якщо ((Е3 & я) == 0 && (e & я) != 0)
 результат += negativeLeft;
 я /= 2;
}
 повернення результат;
}

 приватна статичного типу BigInteger LeftmostBit(типу BigInteger х)
{
 Результат BigInteger = 1;
 у той час як (результат <= x)
 результат = 2 * результат;
 зворотний результат / 2;
}
 приватна статичні InverseMod типу BigInteger(BigInteger на, типу BigInteger м)
{
 а (а < 0) а += м;
 якщо (a < 0 || м <= а)
 В = а % м;
 Типу BigInteger З = а;
 Типу BigInteger д = М;

 Типу BigInteger УЦ = 1;
 Типу BigInteger ВК = 0;
 Типу BigInteger уд = 0;
 Типу BigInteger ВД = 1;

 а (з != 0)
{
 Типу BigInteger Р;
 //м, з, D = divmod( D, З ) + ( с, );
 ВАР д = типу BigInteger.DivRem(Д, З, Р);
 д = з;
 З = Р;

 //УЦ, ЕП, уд, ВД = ад - м*НЯК, ВД - М*ВК, ОК, ВК;
 ВАР СРТ = УЦ;
 ВАР ДКТ = ВК;
 ВАР удт = уд;
 ВАР ВДТ = ВД;
 НЯК = удт - м * СРТ;
 ВК = ВДТ - м * ДКТ;
 уд = СРТ;
 ВД = ДКТ;
}
 якщо (уд > 0) повернути уд;
 ще повернення уд + м;
}
}
клас CurveFp
{
 громадського типу BigInteger п { отримати; особисте набір; }
 публічних BigInteger на { отримати; особисте набір; }
 громадського типу BigInteger б { отримати; особисте набір; }
 громадські CurveFp(п типу BigInteger, BigInteger на, типу BigInteger б)
{
 це.р = п;
 це.а = а;
 це.б = б;
}
}
+804
CassJ 4 вер. 2017 р., 08:03:49
Формат перевірялася base32, "Bech32", і стандартного для рідної роздільного виведення свідок адрес, використовуючи його, на основі BIP173.
+770
potica 17 вер. 2018 р., 04:36:26

Якщо я правильно зрозумів шахтарських серверах басейн дасть цільові шахтарів пороги Нижньої складності, так що кожен шахтар може добути ряд блок рішень, які називаються акціями.

Наприклад, якщо поріг 0000 1000, пул може дати кожному користувачеві поріг 0100 0000, з 1000 разів менше складності. Потім кожен ОАС 1000 добувають акції дадуть один блок.

Фактичний цільової поріг в блоці заголовка залишається такою ж оригінальною, як з меншим працею в блоці заголовка зведе оригінальний блок хешування і нижче цільового порогу передається окремо?

Кожне Шахтар дав ті ж труднощі?

Це потужність майнінгу клієнта враховується при призначенні на роботу?

+747
bobrulv 22 лют. 2017 р., 04:17:19

Ваше розуміння є правильним. Те що ви описали називається Сібіл атаку, ось по суті Р2Р версія людина-в-середині атаки.

Загалом, Биткоин вимагає дуже мало довіри, так як кожен вузол може перевірити, чи є нова інформація додає інформацію про те, що збиралися раніше. Зловмисник може використовувати цю сузір'я до реле проводки до нападу, наприклад, зробити магазин вважають, що входить транзакція була відправлена на мережу Bitcoin, а замість відправки конкуруючих двічі проводять в мережі.

Тим не менш, нападу могли помітити, що він не отримує ніяких нових блоків від мережі (так як в противному випадку подвійної витрати можуть бути виявлені на ранній стадії). Тобто напали не є частиною реального 'мікроекономіка', а просто відрізані від оновлень мережі.

Для того, щоб дійсно створити 'мікроекономіка', зловмисникові необхідно насправді мій фейк блоків при поточній складності для того, щоб видати неправдиву інформацію як справжню, вимагають величезних хеш-сила в його розпорядженні.

Однак, як легітимного користувача достатньо, щоб перемогти цю напасть, ви можете або встановити свій биткоин-клієнт для підключення до певних колег, або хоча б змусити її поєднати з двома колегами, які не співпрацюють один з одним, щоб обдурити вас, щоб перемогти напад.

Редагувати:

Насправді, я просто зрозумів, що биткоин.у ньому є пункт про Сібіл атаки.

+741
Joshua Shane Liberman 17 бер. 2014 р., 03:08:09

Приватний і публічний ключ відповідає точці на кривій secp256k1. Вони мають один-до-одного стосунки.

Адреса отримано з відкритих ключів, виконуючи ripemd160 хеш після і SHA256 хеш відкритого ключа. Кілька публічних ключів хеш за тією ж адресою, а адресний простір складає всього 160 біт, в той час як відкритий ключ простору 256 біт.

Оскільки обидві похідні (закритий ключ > відкритий ключ > адреса) є детермінованими, ви не може отримати більше однієї адреси від одного закритого ключа.*

Що ви можете зробити, це отримати додаткову приватна ключі від "майстер-закритий ключ" з урахуванням правил виводу. Ці додаткові приватні ключі, очевидно, відповідають новими адресами. Цей тип управління адресу називається "ієрархічної детермінованої гаманець".

*Строго кажучи, ви можете створити кілька адрес на відмінності між стислим і несжатым ключі. Побачити Свена і skaht відповіді для деталей.

+656
user3814486 12 трав. 2011 р., 05:45:13

Яке найменше час будь кріптовалюти? Я не маю на увазі час окремого блоку, але в створ раз в квартал.

Який самий короткий розумний проміжок часу заблокувати?

+630
Co0l d3vL 10 жовт. 2017 р., 20:16:00

Блокчейн полярники біжать вузлів, які мають зв'язки з іншими вузлами. Вони можуть мати сотні зв'язків. Вони, ймовірно, також запустити кілька вузлів для резервування (у разі, якщо один вузол виходить з ладу, вони все ще Онлайн) і щоб переконатися, що вони отримують від угоди якомога більше джерел. Так вони будуть підключені до сотні, може бути тисячі вузлів.

З цими сполуками, вони можуть слухати те, що всі ці вузли радіомовлення. У поточному Р2Р протоколу ретрансляції, вузол оголошує своїм одноліткам, що він має угоди ( інв повідомлення). Потім він чекає запит на його (методу GetData) перед відправкою транзакції (Техас). Так хто слухав більше вузлів буде в змозі знати, які сайти мають угоди, грунтуючись на тому, вони оголосили про угоду. Це скоріше як Blockcypher обчислення "кількість пулів пам'яті з Техас".

Проте вам слід остерігатися таких вимірювань. Вони не дуже точні, тому що вони не підключені до всіх вузлів в мережі. Крім того, довіра, яке вони пов'язують з ним багато в чому безглуздо. Операції по ймовірності йде в блок залежить від багатьох інших речей, і число вузлів, які бачили не дуже багато, ефект від цього числа.

+609
Jan D 20 вер. 2016 р., 09:55:37

Я не маю на увазі апаратне забезпечення гаманця, як Трезор, а просто пристрій, непрограмовані, а не мережа підключається, але буде генерувати пари ключів (+ адресу було б зручно, але це може бути зроблено в програмному забезпеченні тільки умовчанням без зайвого ризику?) при натисканні на кнопку.

Я цікаво, якщо це один із способів створити паперовий гаманець, і він отримає ряд БТЦ:

1.Створити привчной пара/за замовчуванням

2.Написати привчной вниз, дублювати його і безпечно зберігати копії. Я припускаю, що це може бути розбите на частини і зберігаються в окремих місцях, так що порушення або втрата одного не віддати повної привчной або втратити необхідну інформацію, щоб відтворити його (як паперовий RAID-масив, реалізований з трьома членами родини?) [і пишуть інструкції по відновленню у своєму Заповіті]

3.Створити биткоин-адресу, пов'язаний із замовчуванням (не так ризиковано, afaict)

4.Отримаєте компенсацію за цією адресою

Поки справа доходить до витрат на БТЦ (який може бути досить довгого часу в майбутньому) не було б ніякої необхідності для гаманця програмного забезпечення, і, звичайно, немає необхідності використовувати онлайн генератор ключів.

У відсутність апаратного ключа генератор мабуть скачування довірений код з SourceForge або десь і працює сам на мережевому комп'ютері досить багато, так безпечний?

(Я розумію, що кістки в порядку, щоб створити привчной але пов'язаних за замовчуванням дуже багато має бути зроблено в той коду, ні?).

Хіба це можливо?

+531
Buuu 28 січ. 2019 р., 21:36:25

Просто створіть новий биткоин-біржі порівняльна таблиця на 99Bitcoins.

+527
user235850 30 лист. 2016 р., 18:15:55

Я запустити bitcoind вузол регтест. При спробі реле проводки (створені за допомогою биткоин-рубіновий) я отримую
помилка: {"код":-25,"повідомлення":""} Коли я перезавантажити вузол і реле точно такої ж угоди, передає його в порядку. Така поведінка узгоджується і повторює кожен раз.

Мій висновок для decoderawtransaction є:

{
 "txid" : "df91267ed650795245882bc91b8dc104e6c41d2f29ed3221f29151aa60554842",
 "версії" : 1,
 "locktime" : 0,
 "Альвин" : [
{
 "txid" : "fab40dbf6b95ef2fe5f4aca0668a84edebdf70cfb80565626be80c7af20a525e",
 "Uвих" : 0,
 "scriptSig" : {
 "АСМ" : "0 3046022100fb2a69546ea44db3a06cfcf120d1fda135bfde0946f2186a52d8cfee83835705022100c680cc5135174425ce5137a2996fbdcd55463c4acb88bb9fdbdb03f70f0a213b01 30460221008294d1779bfb21240859feccc96104dea574541d41163d2c849846d8e44496fe022100faf00dabba65f22469a1116ea10d5ce34f90bea779ba770ae1ac3af5c432379e01 52210261318d096a7addf67d935076c28dfa4a1c0e8f2ed04a7cb47ac53bd7fe2ebe6d210397866513a1796e75aae6a53d54d0ccc904c56fa12e14ab0ee989a6eed6e29c0352ae",
 "наклеп" : "00493046022100fb2a69546ea44db3a06cfcf120d1fda135bfde0946f2186a52d8cfee83835705022100c680cc5135174425ce5137a2996fbdcd55463c4acb88bb9fdbdb03f70f0a213b014930460221008294d1779bfb21240859feccc96104dea574541d41163d2c849846d8e44496fe022100faf00dabba65f22469a1116ea10d5ce34f90bea779ba770ae1ac3af5c432379e014c4752210261318d096a7addf67d935076c28dfa4a1c0e8f2ed04a7cb47ac53bd7fe2ebe6d210397866513a1796e75aae6a53d54d0ccc904c56fa12e14ab0ee989a6eed6e29c0352ae"
},
 "послідовності" : 4294967295
}
],
 "Uвих" : [
{
 "значення" : 1.00000000,
 "н" : 0,
 "scriptPubKey" : {
 "АСМ" : "OP_HASH160 ee7455fa97980531b90b15f5f18386122a7f6919 OP_EQUAL",
 "наклеп" : "a914ee7455fa97980531b90b15f5f18386122a7f691987",
 "reqSigs" : 1,
 "тип" : "scripthash",
 "адреси" : [
"2NEz4B6YtgTCpv6Qv56f7HarXUeHeLmdmih"
]
}
},
{
 "значення" : 0.99990000,
 "Н" : 1,
 "scriptPubKey" : {
 "АСМ" : "OP_HASH160 0b607311f3db7d2a28b4c6fd259913356a86c302 OP_EQUAL",
 "наклеп" : "a9140b607311f3db7d2a28b4c6fd259913356a86c30287",
 "reqSigs" : 1,
 "тип" : "scripthash",
 "адреси" : [
"2MtHNxpeYfFmLTMDnW7DFf9y9ZnM49u4txw"
]
}
}
]
}

Зазначений txout має 2 БТЦ. Я також спробував sendrawtransaction <шестигранник>, правда , щоб спробувати виключити деякі плати проблеми. Той же симптом. Я не бачу ніяких особливих повідомлень налагодження в режимі налагодження.журнал

Мій висновок для getinfo - це:

{
 "версія" : 90300,
 "protocolversion" : 70002,
 "walletversion" : 60000,
 "баланс" : 530.90534322,
 "блоки" : 460,
 "timeoffset" : 0,
 "підключення" : 1,
 "проксі" : "",
 "складність" : 0.00000000,
 "тестовому режимі" : помилкові,
 "keypoololdest" : 1421187525,
 "keypoolsize" : 101,
 "paytxfee" : 0.00000000,
 "relayfee" : 0.00001000,
 "помилки" : ""
}

Я все ще намагаюся заткнути версії v0.10 в моєму оточенні для налагодження, я розумію, що биткоин-Core має кращі повідомлення код -25, але я все ще потрібно, щоб грати з версії v0.9 вузол.

+505
christopherjkim 16 черв. 2013 р., 17:22:50

Угода не підтверджено в повному обсязі (шляхом включення в блоці) або взагалі жодного. Якщо один з входів успішно doublespent, то ваш Техас є недійсним, так ніколи не буде підтверджена.

+471
Raeder 5 лист. 2018 р., 22:36:12

На один новий тип гаманець в консолі Електрум:

гаманець.create_new_address(помилкові)

Для 100 новий тип гаманців в Електрум-консолі:

Я в діапазоні(0, 100): друк гаманець.create_new_address(помилкові)

або просто (в силу після перезапуску програми):

гаманець.зберігання.поставити('gap_limit',100)
+466
Shav 11 бер. 2012 р., 03:57:18

Без резервної копії, немає ніякого способу, щоб відновити монет.

Якщо це сталося зовсім недавно, ви могли б завербувати в службу відновлення даних, щоб витягнути ключі від пристрою. Це може коштувати більше, ніж $100.

Покоління гаманець, заснований на випадкових даних, і якщо ви не індивідуальними ключами резервного копіювання, або мнемоніка для гаманців, ви не зможете відтворити ключі.

+463
Zuhaib Hassan 2 груд. 2013 р., 12:32:31

Плата розраховується шляхом додавання кількості невитрачених вихідних даних, використовуваних потім помножити на скільки платежів слід використовувати з кожної невитрачених матеріалів.

Тобто, іншими словами, плата розраховується сатоши за байт (СБ/Б) або сатоши за кілобайтний (СБ/КБ). Існує 3 види мит: нижчі тарифи (для підтвердження низького угоди), середній мит і більш високих гонорарів (для підтвердження швидкої угоді).

Насправді величезна кількість биткоин-транзакцій кожен день і з тим, що розмір блоку обмежений 1 МБ, зараз. Шахтарі підберуть угод з більш високі гонорари і включати їх у свої блоки і залишити інші операції для інших шахтарів, щоб включити їх у свої блоки, якщо вони знайшли. Ви можете подивитися на даному сайті для того, щоб мати уявлення про те, скільки зборів шахтарі у тому числі в їх блоки і протягом скільки блоків ваша угода буде підтверджена (наближення)

Однак, якщо ви шукаєте гаманець, який використовує більш низькі мита, ви можете зробити це в більшості гаманців (я не знаю, якщо погано допомагає підтримувати його чи ні, але blockchain.info і багато інші підтримують її) шляхом зміни гонорари ваших транзакцій перед відправкою. Але, змінюючи збори в маленькі, буде мати величезний вплив на вашого підтвердження операції. Насправді, blockchain.info використовує середні збори (близько 120 СБ/Б) і користувачі застрягли з їх операцій протягом багатьох днів, поки вони не досягнуть одного підтвердження.

+452
Helen Monteferrante 15 черв. 2013 р., 22:54:04

Цей блок і транзакції в цьому блоці не будуть прийняті, що підтверджується мережі.

Буває, хоча ці операції мало що може:

  • деякі або всі ці операції, можливо, включені в інші ланцюги

  • операції, які не потрапляють в інші ланцюги, повертаються в пул непідтверджених транзакцій, чекаючи, щоб бути включеними в майбутні блоки

  • якщо конфліктуючі транзакції включеними в інші ланцюги, ніж угода буде вважатися недійсною (як подвійне витратити) і будуть видалені з пулу і не будуть включені в майбутньому

+450
SJR 25 вер. 2011 р., 07:22:50

Де зберігаються treestates?
Іншими словами, коли угода JoinSplit перевіряється, де якір перевіряється?
Подивитися https://github.com/zcash/zcash/blob/master/src/primitives/block.h підводить мене до висновку, що зобов'язання (наприклад, векселі) Меркле-дерево не зберігається в блоці заголовка.
Це в базі даних LevelDB?
Яка структура даних використовується для зберігання відображення дерев коріння для блоків?



Будь відповідь з конкретним посиланням на код буде дуже вдячний.

+434
bassride 19 черв. 2015 р., 15:49:29

В чому основна різниця між фізичною биткоин і паперовий гаманець ?

І який з них більш безпечний ? І чому ?

+422
lpydawa 1 серп. 2017 р., 16:20:35

Я біжу останній bitcoind і P2Pool ви релізи (налаштування порту за замовчуванням) на Fedora 21 з відкритими портами для 3332-3333, 8332-8333, і 9332-9333. Здається, що все добре, при підключенні до БК, але коли один з моїх шахтарів (Antminer S5 з) підключається до http://myhostname/IP порт 3333 P2Pool ви не будете реагувати. Коли я намагаюся з'єднатися з портом http://myhostname/IP порт 9333, я отримую кручений помилки скаргою про перевірку справжності, але коли я намагаюся підключитися до порту myhostname/ІС (рогового TCP??) порт 9333 схоже, що Шахтар намагається підключитися і отримати роботу, але через кілька секунд P2Pool ви повідомляє "тайм-аут квитування" для Шахтаря IP-адресу.

Це помилка, я отримую:

2015-02-25 18:05:35.107254 отримали рівний з'єднання: IPv4-адресу(ПТС, '192.168.0.21', 45024)
2015-02-25 18:05:45.108525 рукостискання тайм-аут, відключення від 192.168.0.21:45024
2015-02-25 18:05:45.109817 Однорангових з'єднання втрачено: ('192.168.0.21', 45024) [примірнику провал: зворотне трасування (відмову без рами): <клас перекосило.інтернет.помилка.ConnectionAborted'>: з'єднання було перервано локально, використовуючи.
2015-02-25 18:05:45.110143

Що я роблю не так?

+336
Emma Garcia 15 лист. 2013 р., 04:21:41

Ви задаєте два питання, що могло б бути пов'язані, але насправді дуже різні.

Щоб перемістити монети між адресами, ви повинні створити транзакцію і отримати його включення в блокчейн. Як і будь-яка інша угода, це може зажадати від вас внести плату. (Ви могли б бути в змозі, щоб відправити транзакцію без комісії, в залежності від пріоритету та/або виконання транзакції, знаходить шлях до щедрим мінер.)

Доводиться, однак, існують тільки в межах ядра биткоин-клієнт. Вони всього лише прилад обліку на групу ваших коштів. Ви можете переміщати монети між рахунками з перемістити команду в биткоин основний консолі. Це оновлення внутрішнього клієнта звіти для коригування сальдо тих рахунків, але насправді не викликає ніяких монет для переміщення між адресами, так що це не має ніякого гонорару.

+313
jp8 24 трав. 2010 р., 02:05:33

У keypool-це сукупність використовуваних адрес у вашому гаманці. Параметр keypool розповідає клієнту, як багато невикористовуваних адрес, щоб тримати його в басейн.

Майже кожен раз, коли ви відправити біткойн-платежів, деякі зміни автоматично і направив на невикористовуваний раніше адресу. Якщо у вас є keypool, то кожен раз нову адресу необхідно використовувати один з адрес keypool, а новий адресу буде створено і розміщено в keypool, щоб замінити той, який був використаний.

Мета keypool, щоб дозволити вам зробити резервну копію вашого гаманця файлу рідше і як і раніше мати доступ до всіх ваші кошти в разі поломки жорсткого диска. Якщо у вас не було keypool, і зробив резервну копію гаманця, потім проводиться оплата, а потім зазнав аварія диска, ви втратите зміни, які прийшли з цієї оплати, тому що це було б відправлено на електронну адресу, що не було в резервної копії.

З keypool з 100 адрес, можна зробити до 100 платежів між резервні копії і все ще бути в змозі отримати доступ до всіх ваших коштів.

https://en.bitcoin.it/wiki/Key_pool

+310
Andreas John 28 лют. 2011 р., 16:13:21

Досі я був з допомогою Bitcoin-Qt для Win7 і регулярного андроїд биткоин гаманець з Андреасом. Але тепер я хочу, щоб зберігати свої биткоины в надійному місці і я не впевнений, що гаманець я повинна йти, а там, здається, купа на ринку зараз. Електрум, биткоин-в Qt, Збройова, Blockchain.info, міцелій (андроїд), Трезор та інші.

Я просто хочу зберігати свої биткоины в надійному місці, де навіть якщо *я ніколи не оновити клієнтське додаток * я все ще можу відправляти/отримувати свої биткоины в майбутньому, навіть якщо код змінюється ні чого немає. Очевидно, є завжди в гіршому випадку, якщо один з розробників клієнт вирішив бути злим і писати код, який відправляє биткоины кожен на свій власний адресу.

Я думаю, що я збираюся просто зробити окремий телефон тільки для зберігання биткоинов замість того, щоб зробити цілий окремий ноутбук для її зберігання. Просто я боюся в один прекрасний день, якщо додатка застаріли і розробник перестає підтримувати його, це вплинуло б на БТЦ у мене зберігаються там?

+299
user3286140 30 бер. 2017 р., 19:55:10

На рис. 1 оригінальної статті Сатосі, навіщо включати публічний ключ наступного власника в хеш?

+294
intanizstrang 6 трав. 2017 р., 08:21:31

Здається, що я можу зробити sendmany(fromaccount, {адреса:сума,...}) , який може мати кілька виходів з одного рахунку, і sendtoaddress(bitcoinaddress, суми) може мати один вихід з будь-якою кількістю рахунків. Чи є спосіб, щоб мати кілька виходів з будь-якого кількість акаунтів? У мене невеликі суми розподілених кількість різних рахунків, і я хочу покласти їх у однієї транзакції, щоб мінімізувати витрати. Дивно, що немає виклику RPC для такої функції, або я чогось не вистачає? Чи є робота навколо, що я можу зробити?

+258
tancred 17 трав. 2019 р., 07:36:35

Більшість биткоин-банкомати постачальників вимагає, щоб ви ідентифікували себе і відслідковувати Ваші купує і продає. Це зроблено через знати ваших клієнтів і регулювання протидії відмиванню грошей. Вам необхідно представити джерело ваших грошей в якийсь момент, коли ви перевищувати певний поріг обсягу. Якщо будь биткоин-постачальників банкоматів вибирає не робити цього, він буде допомагати вчиненні злочину відмивання грошей.

Якщо ви знайдете постачальника банкоматів досить дурні, щоб не зробити який-небудь ЗСК не варто очікувати від них, щоб залишитися в бізнесі в довгостроковій перспективі. Альтернатива, якщо оператор банкомата залишається anynonymous, вони шукають вихід лохотрон і буде працювати з вашими грошима.

+148
Lucas Matos 1 серп. 2018 р., 09:48:14

Чому 6-кількість підтверджень того, що вважається безпечним? Я не знайшов ніяких математичне пояснення чи інакше, це пояснює, чому саме 6, а не 5 або 7. Є історичні причини 6? Чи є конкретний спосіб її розрахунку, тому 6-це просто число, яке було обрано?

+128
Manuele Fumagalli 14 трав. 2014 р., 11:21:27

Я в курсі цього поста, цей і цей один.

Я трохи заплутався з термінами. Я не розумію, як ряд провідних нулів, цілі і труднощі пов'язані один з одним. Крім того, я не розумію, як число нуль обчислюється з наступної мети.

+86
sirjay 25 вер. 2019 р., 04:19:02

Показати питання з тегом

buy cialis buy cialis online buy cialis online without script canadian cialis online pharmacy cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis dosage cialis for daily use cialis free trial cialis generic cialis generic release date cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis side effects cialis vs viagra cialis without a doctor's prescription generic cialis generic cialis at walmart generic cialis canada pharmacy generic cialis tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20mg tadalafil 5mg tadalafil generic tadalafil generic at walgreens tadalafil side effects viagra vs cialis where can i buy cialis over the counter at walmart buy cialis buy cialis online buy cialis online without script canadian cialis online pharmacy cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis dosage cialis for daily use cialis free trial cialis generic cialis generic release date cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis side effects cialis vs viagra cialis without a doctor's prescription generic cialis generic cialis at walmart generic cialis canada pharmacy generic cialis tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20mg tadalafil 5mg tadalafil generic tadalafil generic at walgreens tadalafil side effects viagra vs cialis where can i buy cialis over the counter at walmart blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil